From 610686818811f6e4e39589a9631301fa04054f23 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 20 Sep 2010 20:31:56 +0000 Subject: SWORD2: More safeguards for mute setting svn-id: r52825 --- engines/sword2/sword2.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'engines/sword2/sword2.cpp') diff --git a/engines/sword2/sword2.cpp b/engines/sword2/sword2.cpp index 58958c509a..b3b688771a 100644 --- a/engines/sword2/sword2.cpp +++ b/engines/sword2/sword2.cpp @@ -326,9 +326,11 @@ void Sword2Engine::registerDefaultSettings() { } void Sword2Engine::syncSoundSettings() { - _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, ConfMan.getInt("music_volume")); - _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, ConfMan.getInt("speech_volume")); - _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, ConfMan.getInt("sfx_volume")); + bool mute = ConfMan.getBool("mute"); + + _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, mute ? 0 : ConfMan.getInt("music_volume")); + _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, mute ? 0 : ConfMan.getInt("speech_volume")); + _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, mute ? 0 : ConfMan.getInt("sfx_volume")); setSubtitles(ConfMan.getBool("subtitles")); // Our own settings dialog can mute the music, speech and sound effects @@ -339,7 +341,7 @@ void Sword2Engine::syncSoundSettings() { ConfMan.setBool("speech_mute", ConfMan.getBool("mute")); ConfMan.setBool("sfx_mute", ConfMan.getBool("mute")); - if (!ConfMan.getBool("mute")) // it is false + if (!mute) // it is false // So remove it in order to let individual volumes work ConfMan.removeKey("mute", ConfMan.getActiveDomainName()); } -- cgit v1.2.3