diff options
Diffstat (limited to 'engines/sci/engine')
-rw-r--r-- | engines/sci/engine/vm.cpp | 7 | ||||
-rw-r--r-- | engines/sci/engine/vm.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index 9d8c5f7fc6..82de957387 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -20,6 +20,7 @@ * */ +#include "common/config-manager.h" #include "common/debug.h" #include "common/debug-channels.h" @@ -209,6 +210,12 @@ static void write_var(EngineState *s, int type, int index, reg_t value) { g_sci->updateScummVMAudioOptions(); } } + +#ifdef ENABLE_SCI32 + if (type == VAR_GLOBAL && index == kGlobalVarTextSpeed && getSciVersion() >= SCI_VERSION_2) { + ConfMan.setInt("talkspeed", (8 - value.toSint16()) * 255 / 8); + } +#endif } } diff --git a/engines/sci/engine/vm.h b/engines/sci/engine/vm.h index a4ac16ea32..dd66d9d52c 100644 --- a/engines/sci/engine/vm.h +++ b/engines/sci/engine/vm.h @@ -148,6 +148,7 @@ enum GlobalVar { kGlobalVarScore = 15, kGlobalVarFastCast = 84, // SCI16 kGlobalVarMessageType = 90, + kGlobalVarTextSpeed = 94, // SCI32; 0 is fastest, 8 is slowest kGlobalVarShivers1Score = 349 }; |