aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/kyra/kyra.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/kyra/kyra.cpp b/engines/kyra/kyra.cpp
index b71e696df1..ba3383ccd2 100644
--- a/engines/kyra/kyra.cpp
+++ b/engines/kyra/kyra.cpp
@@ -241,7 +241,13 @@ void KyraEngine::registerDefaultSettings() {
void KyraEngine::readSettings() {
_configWalkspeed = ConfMan.getInt("walkspeed");
- _configMusic = ConfMan.getBool("music_mute") ? 0 : ((ConfMan.getBool("cdaudio") && (_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98)) ? 2 : 1);
+ _configMusic = 0;
+
+ if (!ConfMan.getBool("music_mute")) {
+ _configMusic = 1;
+ if (_flags.gameID != GI_KYRA3 && ConfMan.getBool("cdaudio") && (_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98))
+ _configMusic = 2;
+ }
_configSounds = ConfMan.getBool("sfx_mute") ? 0 : 1;
_sound->enableMusic(_configMusic);
@@ -265,7 +271,8 @@ void KyraEngine::writeSettings() {
ConfMan.setInt("walkspeed", _configWalkspeed);
ConfMan.setBool("music_mute", _configMusic == 0);
- ConfMan.setBool("cdaudio", _configMusic == 2);
+ if (_flags.gameID != GI_KYRA3)
+ ConfMan.setBool("cdaudio", _configMusic == 2);
ConfMan.setBool("sfx_mute", _configSounds == 0);
switch (_configVoice) {