From ba04f31adec555fabf9b7675c4b3bf207cda8ba5 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 20 Sep 2010 20:37:34 +0000 Subject: [PATCH] SWORD1: Fix bug #3032772: SWORD1: Mute setting does not work svn-id: r52827 --- engines/sword1/sword1.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/engines/sword1/sword1.cpp b/engines/sword1/sword1.cpp index 26bb1d959b5..0d4f5b7445b 100644 --- a/engines/sword1/sword1.cpp +++ b/engines/sword1/sword1.cpp @@ -214,12 +214,20 @@ void SwordEngine::syncSoundSettings() { sfxVolL = 255; } - _music->setVolume(musicVolL, musicVolR); - _sound->setSpeechVol(speechVolL, speechVolR); - _sound->setSfxVol(sfxVolL, sfxVolR); + bool mute = ConfMan.getBool("mute"); - _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, ConfMan.getInt("sfx_volume")); - _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, ConfMan.getInt("speech_volume")); + if (mute) { + _music->setVolume(0, 0); + _sound->setSpeechVol(0, 0); + _sound->setSfxVol(0, 0); + } else { + _music->setVolume(musicVolL, musicVolR); + _sound->setSpeechVol(speechVolL, speechVolR); + _sound->setSfxVol(sfxVolL, sfxVolR); + } + + _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, mute ? 0 : ConfMan.getInt("sfx_volume")); + _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, mute ? 0 : ConfMan.getInt("speech_volume")); } void SwordEngine::flagsToBool(bool *dest, uint8 flags) {