aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Snover2017-07-16 21:06:52 -0500
committerColin Snover2017-07-16 21:25:27 -0500
commit5fa0e4b780db5e2af1df9709803c53e5ffa86bb4 (patch)
tree2b93af58f20391763f59c6b08bed6ebf2a521425
parent6278aa250a1c65ab035e453d67340ac5a699d6df (diff)
downloadscummvm-rg350-5fa0e4b780db5e2af1df9709803c53e5ffa86bb4.tar.gz
scummvm-rg350-5fa0e4b780db5e2af1df9709803c53e5ffa86bb4.tar.bz2
scummvm-rg350-5fa0e4b780db5e2af1df9709803c53e5ffa86bb4.zip
SCI32: Improve GK1 narrator speech sync
-rw-r--r--engines/sci/engine/guest_additions.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/engines/sci/engine/guest_additions.cpp b/engines/sci/engine/guest_additions.cpp
index 6d9bb20d34..d4a2f13813 100644
--- a/engines/sci/engine/guest_additions.cpp
+++ b/engines/sci/engine/guest_additions.cpp
@@ -604,12 +604,13 @@ void GuestAdditions::syncMessageTypeFromScummVMUsingDefaultStrategy() const {
_state->variables[VAR_GLOBAL][kGlobalVarMessageType] = make_reg(0, value);
}
- if (g_sci->getGameId() == GID_GK1) {
- if (value == kMessageTypeSubtitles) {
- _state->variables[VAR_GLOBAL][kGlobalVarGK1NarratorMode] = NULL_REG;
- } else if (value == kMessageTypeSpeech) {
- _state->variables[VAR_GLOBAL][kGlobalVarGK1NarratorMode] = TRUE_REG;
- }
+ if (g_sci->getGameId() == GID_GK1 && value == kMessageTypeSubtitles) {
+ // The narrator speech needs to be forced off if speech has been
+ // disabled in ScummVM, but otherwise the narrator toggle should just
+ // be allowed to persist to whatever the user chose previously, since
+ // it is controlled independently of other speech in the game and there
+ // is no equivalent option in the ScummVM GUI
+ _state->variables[VAR_GLOBAL][kGlobalVarGK1NarratorMode] = NULL_REG;
}
}