diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/draci/sound.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/engines/draci/sound.cpp b/engines/draci/sound.cpp index dc8f548d6b..c8646fff67 100644 --- a/engines/draci/sound.cpp +++ b/engines/draci/sound.cpp @@ -408,6 +408,9 @@ void Sound::stopVoice() { } void Sound::setVolume() { + _showSubtitles = ConfMan.getBool("subtitles"); + _talkSpeed = ConfMan.getInt("talkspeed"); + if (_mixer->isReady()) { _muteSound = ConfMan.getBool("sfx_mute"); _muteVoice = ConfMan.getBool("speech_mute"); @@ -417,10 +420,10 @@ void Sound::setVolume() { if (ConfMan.getBool("mute")) { _muteSound = _muteVoice = true; } - _showSubtitles = ConfMan.getBool("subtitles"); - _talkSpeed = ConfMan.getInt("talkspeed"); - const int soundVolume = ConfMan.getInt("sfx_volume"); - const int speechVolume = ConfMan.getInt("speech_volume"); + + const int soundVolume = _muteSound ? 0: ConfMan.getInt("sfx_volume"); + const int speechVolume = _muteVoice ? 0 : ConfMan.getInt("speech_volume"); + _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, soundVolume); _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, speechVolume); } |