aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/gui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/gui.cpp')
-rw-r--r--engines/kyra/gui.cpp10
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);