diff options
-rw-r--r-- | engines/sword2/sword2.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/engines/sword2/sword2.cpp b/engines/sword2/sword2.cpp index 3cdab2bd2b..58958c509a 100644 --- a/engines/sword2/sword2.cpp +++ b/engines/sword2/sword2.cpp @@ -334,10 +334,14 @@ void Sword2Engine::syncSoundSettings() { // Our own settings dialog can mute the music, speech and sound effects // individually. ScummVM's settings dialog has one master mute setting. - if (ConfMan.getBool("mute")) { - ConfMan.setBool("music_mute", true); - ConfMan.setBool("speech_mute", true); - ConfMan.setBool("sfx_mute", true); + if (ConfMan.hasKey("mute")) { + ConfMan.setBool("music_mute", ConfMan.getBool("mute")); + ConfMan.setBool("speech_mute", ConfMan.getBool("mute")); + ConfMan.setBool("sfx_mute", ConfMan.getBool("mute")); + + if (!ConfMan.getBool("mute")) // it is false + // So remove it in order to let individual volumes work + ConfMan.removeKey("mute", ConfMan.getActiveDomainName()); } _sound->muteMusic(ConfMan.getBool("music_mute")); |