aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/sound.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2015-05-01 18:21:13 -1000
committerPaul Gilbert2015-05-01 18:21:13 -1000
commit12d3976c380e00f22c6f7a930ff56c215a7bd9ab (patch)
treed300e63c6088ae024460565162acfc95f9b4ea72 /engines/sherlock/sound.cpp
parentd9a42a80ffeb9eaee957bbc858f714e5cf362946 (diff)
downloadscummvm-rg350-12d3976c380e00f22c6f7a930ff56c215a7bd9ab.tar.gz
scummvm-rg350-12d3976c380e00f22c6f7a930ff56c215a7bd9ab.tar.bz2
scummvm-rg350-12d3976c380e00f22c6f7a930ff56c215a7bd9ab.zip
SHERLOCK: Implement configuration settings save/load
Diffstat (limited to 'engines/sherlock/sound.cpp')
-rw-r--r--engines/sherlock/sound.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/engines/sherlock/sound.cpp b/engines/sherlock/sound.cpp
index a452efd890..e66f82e5c4 100644
--- a/engines/sherlock/sound.cpp
+++ b/engines/sherlock/sound.cpp
@@ -21,20 +21,34 @@
*/
#include "sherlock/sound.h"
+#include "common/config-manager.h"
namespace Sherlock {
Sound::Sound(SherlockEngine *vm): _vm(vm) {
+ _digitized = false;
+ _music = false;
+ _voices = 0;
_soundOn = false;
_musicOn = false;
_speechOn = false;
- _voices = 0;
_playingEpilogue = false;
- _music = false;
- _digitized = false;
_diskSoundPlaying = false;
_soundIsOn = nullptr;
- _digiBuf = nullptr;
+}
+
+/**
+ * Saves sound-related settings
+ */
+void Sound::syncSoundSettings() {
+ _digitized = !ConfMan.getBool("mute");
+ _music = !ConfMan.getBool("mute") && !ConfMan.getBool("music_mute");
+ _voices = !ConfMan.getBool("mute") && !ConfMan.getBool("speech_mute") ? 1 : 0;
+
+ // TODO: For now, keep sound completely mute until sound is implemented
+ _digitized = false;
+ _music = false;
+ _voices = 0;
}
void Sound::loadSound(const Common::String &name, int priority) {