aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authorFilippos Karapetis2010-12-22 13:58:28 +0000
committerFilippos Karapetis2010-12-22 13:58:28 +0000
commita5db8902600a217c5acfbea391a8a3c55dc47f93 (patch)
tree49ec71cc842018b5143ad9fdb4ccc1a64e4ed5db /engines/sci/engine
parent166f3f2dfd1201a19c107ef9550ca43afbae034c (diff)
downloadscummvm-rg350-a5db8902600a217c5acfbea391a8a3c55dc47f93.tar.gz
scummvm-rg350-a5db8902600a217c5acfbea391a8a3c55dc47f93.tar.bz2
scummvm-rg350-a5db8902600a217c5acfbea391a8a3c55dc47f93.zip
SCI: Sync in-game speech/subtitle options with the ones from the ScummVM GUI.
- Obtain speech/subtitle options from the ScummVM GUI and set them in CD games. - Also, set simultaneous speech and subtitles in games that support them (currently SQ4 CD and Freddy Pharkas CD). There is no GUI option for setting simultaneous speech and subtitles in Freddy Pharkas CD, so this is the only current way of achieving this (unless the text speed slider inside the Freddy Pharkas options window is repurposed - but that will require extensive changes) svn-id: r55005
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/vm.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp
index 8398b7d8c2..958fcdf34f 100644
--- a/engines/sci/engine/vm.cpp
+++ b/engines/sci/engine/vm.cpp
@@ -286,6 +286,13 @@ static void validate_write_var(reg_t *r, reg_t *stack_base, int type, int max, i
value.segment = 0;
r[index] = value;
+
+ // If the game is trying to change its speech/subtitle settings, apply the ScummVM audio
+ // options first, if they haven't been applied yet
+ if (type == VAR_GLOBAL && index == 90 && !g_sci->getEngineState()->_syncedAudioOptions) {
+ g_sci->syncIngameAudioOptions();
+ g_sci->getEngineState()->_syncedAudioOptions = true;
+ }
}
}