aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2009-06-06 17:36:06 +0000
committerEugene Sandulenko2009-06-06 17:36:06 +0000
commitc295f524b23af358192ddb352454ebf995dd51b0 (patch)
tree57729a84140851767378088739f8282f6332519a /engines
parent4ceec0dfbbc1978c8c59bcf83e3eb75caa9d0e19 (diff)
downloadscummvm-rg350-c295f524b23af358192ddb352454ebf995dd51b0.tar.gz
scummvm-rg350-c295f524b23af358192ddb352454ebf995dd51b0.tar.bz2
scummvm-rg350-c295f524b23af358192ddb352454ebf995dd51b0.zip
Implement feature request #1180217: "GUI: Mute option"
svn-id: r41233
Diffstat (limited to 'engines')
-rw-r--r--engines/engine.cpp22
-rw-r--r--engines/engine.h5
2 files changed, 24 insertions, 3 deletions
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 269bb0bc28..0847e27246 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -304,9 +304,25 @@ void Engine::syncSoundSettings() {
int soundVolumeSFX = ConfMan.getInt("sfx_volume");
int soundVolumeSpeech = ConfMan.getInt("speech_volume");
- _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, soundVolumeMusic);
- _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, soundVolumeSFX);
- _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, soundVolumeSpeech);
+ bool mute = false;
+ if (ConfMan.hasKey("mute"))
+ mute = ConfMan.getBool("mute");
+
+ _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, (mute ? 0 : soundVolumeMusic));
+ _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, (mute ? 0 : soundVolumeSFX));
+ _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, (mute ? 0 : soundVolumeSpeech));
+}
+
+void Engine::flipMute() {
+ bool mute = false;
+
+ if (ConfMan.hasKey("mute")) {
+ mute = !ConfMan.getBool("mute");
+ }
+
+ ConfMan.setBool("mute", mute);
+
+ syncSoundSettings();
}
Common::Error Engine::loadGameState(int slot) {
diff --git a/engines/engine.h b/engines/engine.h
index 45477f408d..ff3ce6c326 100644
--- a/engines/engine.h
+++ b/engines/engine.h
@@ -176,6 +176,11 @@ public:
virtual void syncSoundSettings();
/**
+ * Flip mute all sound option.
+ */
+ virtual void flipMute();
+
+ /**
* Load a game state.
* @param slot the slot from which a savestate should be loaded
* @return returns kNoError on success, else an error code.