diff options
author | Paul Gilbert | 2018-01-28 11:53:11 -0500 |
---|---|---|
committer | Paul Gilbert | 2018-01-28 11:53:11 -0500 |
commit | 319b2c29d5e68973917556798e86dd846c7d719c (patch) | |
tree | 324e36c0992429dffedddbcc5e0d5bdcaac0b54c /engines/xeen/sound.cpp | |
parent | 9dffe629596211bc00f2b4b7599c474e51661765 (diff) | |
download | scummvm-rg350-319b2c29d5e68973917556798e86dd846c7d719c.tar.gz scummvm-rg350-319b2c29d5e68973917556798e86dd846c7d719c.tar.bz2 scummvm-rg350-319b2c29d5e68973917556798e86dd846c7d719c.zip |
XEEN: Added logic for music/sound toggling
Diffstat (limited to 'engines/xeen/sound.cpp')
-rw-r--r-- | engines/xeen/sound.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/engines/xeen/sound.cpp b/engines/xeen/sound.cpp index 1da879842a..65a3e95784 100644 --- a/engines/xeen/sound.cpp +++ b/engines/xeen/sound.cpp @@ -22,6 +22,7 @@ #include "audio/decoders/raw.h" #include "audio/decoders/voc.h" +#include "common/config-manager.h" #include "xeen/sound.h" #include "xeen/xeen.h" @@ -39,6 +40,8 @@ Sound::~Sound() { void Sound::playSound(Common::SeekableReadStream &s, int unused) { stopSound(); + if (!_soundOn) + return; s.seek(0); Common::SeekableReadStream *srcStream = s.readStream(s.size()); @@ -69,4 +72,20 @@ void Sound::stopAllAudio() { stopSound(); } +void Sound::setEffectsOn(bool isOn) { + ConfMan.setBool("sfx_mute", !isOn); + if (isOn) + ConfMan.setBool("mute", false); + + g_vm->syncSoundSettings(); +} + +void Sound::updateSoundSettings() { + _soundOn = !ConfMan.getBool("sfx_mute"); + if (!_soundOn) + stopFX(); + + Music::updateSoundSettings(); +} + } // End of namespace Xeen |