diff options
author | Johannes Schickel | 2011-11-13 22:25:19 +0100 |
---|---|---|
committer | Johannes Schickel | 2011-11-13 22:25:19 +0100 |
commit | 4b433c296118cddc8811f1c5a34a9453bad253d0 (patch) | |
tree | eab9b2c5f17afcfea2af44d33ffa5645548611a8 /engines | |
parent | 9a719851712845acaa6096bcb1c9ca2df2d46444 (diff) | |
download | scummvm-rg350-4b433c296118cddc8811f1c5a34a9453bad253d0.tar.gz scummvm-rg350-4b433c296118cddc8811f1c5a34a9453bad253d0.tar.bz2 scummvm-rg350-4b433c296118cddc8811f1c5a34a9453bad253d0.zip |
ENGINES: Handle speech_mute in syncSoundSettings.
This assures we always mute all speech sounds, when the user selects
subtitles only mode. Hopefully no engine abuses the speech sound type for
other sounds, since that would make them gone now too. Then again I would
consider this an utter abuse of the speech sound type...
Diffstat (limited to 'engines')
-rw-r--r-- | engines/engine.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/engine.cpp b/engines/engine.cpp index ee1d53fa9c..e4e4630841 100644 --- a/engines/engine.cpp +++ b/engines/engine.cpp @@ -479,10 +479,20 @@ void Engine::syncSoundSettings() { if (ConfMan.hasKey("mute")) mute = ConfMan.getBool("mute"); + // We need to handle the speech mute separately here. This is because the + // engine code should be able to rely on all speech sounds muted when the + // user specified subtitles only mode, which results in "speech_mute" to + // be set to "true". The global mute setting has precedence over the + // speech mute setting though. + bool speechMute = mute; + if (!speechMute) + speechMute = ConfMan.getBool("speech_mute"); + _mixer->muteSoundType(Audio::Mixer::kPlainSoundType, mute); _mixer->muteSoundType(Audio::Mixer::kMusicSoundType, mute); _mixer->muteSoundType(Audio::Mixer::kSFXSoundType, mute); - _mixer->muteSoundType(Audio::Mixer::kSpeechSoundType, mute); + _mixer->muteSoundType(Audio::Mixer::kSpeechSoundType, speechMute); + _mixer->setVolumeForSoundType(Audio::Mixer::kPlainSoundType, Audio::Mixer::kMaxMixerVolume); _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, soundVolumeMusic); _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, soundVolumeSFX); |