diff options
author | Johannes Schickel | 2010-07-21 20:12:09 +0000 |
---|---|---|
committer | Johannes Schickel | 2010-07-21 20:12:09 +0000 |
commit | 4d437bafd8be1966df8d690d46d2bebf78380ed1 (patch) | |
tree | 5d5a5e69068441e6ed342214c52439c58e485850 /engines/agos | |
parent | a97d8875f5d921a6e6b2583ebe07f75b6989633f (diff) | |
download | scummvm-rg350-4d437bafd8be1966df8d690d46d2bebf78380ed1.tar.gz scummvm-rg350-4d437bafd8be1966df8d690d46d2bebf78380ed1.tar.bz2 scummvm-rg350-4d437bafd8be1966df8d690d46d2bebf78380ed1.zip |
AGOS: Make AGOS respect the mute setting.
svn-id: r51100
Diffstat (limited to 'engines/agos')
-rw-r--r-- | engines/agos/agos.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp index 8f0e69ffdb..5e78a5d52a 100644 --- a/engines/agos/agos.cpp +++ b/engines/agos/agos.cpp @@ -1039,12 +1039,21 @@ uint32 AGOSEngine::getTime() const { } void AGOSEngine::syncSoundSettings() { - _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, ConfMan.getInt("sfx_volume")); - _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, ConfMan.getInt("music_volume")); - _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, ConfMan.getInt("speech_volume")); + // Sync the engine with the config manager + int soundVolumeMusic = ConfMan.getInt("music_volume"); + int soundVolumeSFX = ConfMan.getInt("sfx_volume"); + int soundVolumeSpeech = ConfMan.getInt("speech_volume"); + + bool mute = false; + if (ConfMan.hasKey("mute")) + mute = ConfMan.getBool("mute"); + + _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, (mute ? 0 : soundVolumeMusic)); + _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, (mute ? 0 : soundVolumeSFX)); + _mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, (mute ? 0 : soundVolumeSpeech)); if (_midiEnabled) - _midi.setVolume(ConfMan.getInt("music_volume"), ConfMan.getInt("sfx_volume")); + _midi.setVolume((mute ? 0 : soundVolumeMusic), (mute ? 0 : soundVolumeSFX)); } } // End of namespace AGOS |