aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/music.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sherlock/music.cpp')
-rw-r--r--engines/sherlock/music.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/sherlock/music.cpp b/engines/sherlock/music.cpp
index 43b7275f2d..5ea3318bd7 100644
--- a/engines/sherlock/music.cpp
+++ b/engines/sherlock/music.cpp
@@ -222,14 +222,13 @@ Music::Music(SherlockEngine *vm, Audio::Mixer *mixer) : _vm(vm), _mixer(mixer) {
_midiParser = NULL;
_musicType = MT_NULL;
_musicPlaying = false;
- _musicOn = false;
_midiOption = false;
- _musicVolume = 0;
_midiMusicData = nullptr;
+ _musicVolume = ConfMan.hasKey("music_volume") ? ConfMan.getInt("music_volume") : 255;
if (IS_3DO) {
// 3DO - uses digital samples for music
- _musicOn = true;
+ _musicOn = ConfMan.hasKey("music_mute") ? !ConfMan.getBool("music_mute") : true;
return;
}
@@ -328,7 +327,7 @@ Music::Music(SherlockEngine *vm, Audio::Mixer *mixer) : _vm(vm), _mixer(mixer) {
}
}
- _musicOn = true;
+ _musicOn = ConfMan.hasKey("music_mute") ? !ConfMan.getBool("music_mute") : true;
}
}
@@ -580,6 +579,7 @@ bool Music::waitUntilMSec(uint32 msecTarget, uint32 msecMax, uint32 additionalDe
void Music::setMusicVolume(int volume) {
_musicVolume = volume;
+ _musicOn = volume > 0;
_vm->_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, volume);
}