aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r--engines/scumm/scumm.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index b98d47e391..ee7ea1af9c 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1471,10 +1471,10 @@ void ScummEngine::setupMusic(int midi) {
}
}
- updateVolumes();
+ updateSoundSettings();
}
-void ScummEngine::updateVolumes() {
+void ScummEngine::updateSoundSettings() {
// Sync the engine with the config manager
int soundVolumeMusic = ConfMan.getInt("music_volume");
@@ -1488,6 +1488,15 @@ void ScummEngine::updateVolumes() {
_mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, soundVolumeSfx);
_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, soundVolumeMusic);
_mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, soundVolumeSpeech);
+
+
+ if (ConfMan.getBool("speech_mute"))
+ _voiceMode = 2;
+ else
+ _voiceMode = ConfMan.getBool("subtitles");
+
+ if (VAR_VOICE_MODE != 0xFF)
+ VAR(VAR_VOICE_MODE) = _voiceMode;
}
@@ -2059,7 +2068,7 @@ void ScummEngine::mainMenuDialog() {
if (!_mainMenuDialog)
_mainMenuDialog = new MainMenuDialog(this);
runDialog(*_mainMenuDialog);
- updateVolumes();
+ updateSoundSettings();
}
void ScummEngine::confirmExitDialog() {