aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/sound.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2018-01-28 11:53:11 -0500
committerPaul Gilbert2018-01-28 11:53:11 -0500
commit319b2c29d5e68973917556798e86dd846c7d719c (patch)
tree324e36c0992429dffedddbcc5e0d5bdcaac0b54c /engines/xeen/sound.cpp
parent9dffe629596211bc00f2b4b7599c474e51661765 (diff)
downloadscummvm-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.cpp19
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