diff options
Diffstat (limited to 'engines/kyra/gui.cpp')
-rw-r--r-- | engines/kyra/gui.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/kyra/gui.cpp b/engines/kyra/gui.cpp index 5027792581..0e0d62d1ae 100644 --- a/engines/kyra/gui.cpp +++ b/engines/kyra/gui.cpp @@ -25,6 +25,7 @@ #include "kyra/script.h" #include "kyra/text.h" #include "kyra/animator.h" +#include "kyra/sound.h" #include "common/config-manager.h" #include "common/savefile.h" @@ -56,6 +57,9 @@ void KyraEngine::readSettings() { _configMusic = ConfMan.getBool("music_mute") ? 0 : 1; _configSounds = ConfMan.getBool("sfx_mute") ? 0 : 1; + _sound->enableMusic(_configMusic); + _sound->enableSFX(_configSounds); + bool speechMute = ConfMan.getBool("speech_mute"); bool subtitles = ConfMan.getBool("subtitles"); @@ -108,6 +112,12 @@ void KyraEngine::writeSettings() { break; } + if (!_configMusic) + _sound->beginFadeOut(); + + _sound->enableMusic(_configMusic); + _sound->enableSFX(_configSounds); + ConfMan.setBool("speech_mute", speechMute); ConfMan.setBool("subtitles", subtitles); |