aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTorbjörn Andersson2006-05-29 17:27:22 +0000
committerTorbjörn Andersson2006-05-29 17:27:22 +0000
commitfa779040744673723b8f8266f6a7bb9054da20d5 (patch)
tree19cdaa032d01a0c561f38ba0a98f027add36b675 /engines
parent1d72b954c7dd6e15a201ee680d8a5e895626dcd4 (diff)
downloadscummvm-rg350-fa779040744673723b8f8266f6a7bb9054da20d5.tar.gz
scummvm-rg350-fa779040744673723b8f8266f6a7bb9054da20d5.tar.bz2
scummvm-rg350-fa779040744673723b8f8266f6a7bb9054da20d5.zip
If we're going to intercept attempts to set VAR(VAR_CHARINC) in writeVar(), we
should probably set it the same way as updateSoundSettings() does it, i.e. to 9 - getTalkspeed(), not getTalkspeed(). I was testing the scene in Sam & Max where you give candy to Doug. I had set the talk speed to max. The script tried to set CHARINC to 3, but instead it was changed from 0 to 9... svn-id: r22748
Diffstat (limited to 'engines')
-rw-r--r--engines/scumm/script.cpp5
-rw-r--r--engines/scumm/script_v8.cpp5
2 files changed, 4 insertions, 6 deletions
diff --git a/engines/scumm/script.cpp b/engines/scumm/script.cpp
index cc37099be9..b7a3422021 100644
--- a/engines/scumm/script.cpp
+++ b/engines/scumm/script.cpp
@@ -617,9 +617,8 @@ void ScummEngine::writeVar(uint var, int value) {
}
if (var == VAR_CHARINC && ConfMan.hasKey("talkspeed")) {
- uint talkspeed = getTalkspeed();
- if (talkspeed <= 9)
- VAR(VAR_CHARINC) = talkspeed;
+ _defaultTalkDelay = 9 - getTalkspeed();
+ VAR(VAR_CHARINC) = _defaultTalkDelay;
} else {
_scummVars[var] = value;
}
diff --git a/engines/scumm/script_v8.cpp b/engines/scumm/script_v8.cpp
index 9bf3ba5b1e..4e52ce3bfd 100644
--- a/engines/scumm/script_v8.cpp
+++ b/engines/scumm/script_v8.cpp
@@ -420,9 +420,8 @@ void ScummEngine_v8::writeVar(uint var, int value) {
checkRange(_numVariables - 1, 0, var, "Variable %d out of range(w)");
if (var == VAR_CHARINC && ConfMan.hasKey("talkspeed")) {
- uint talkspeed = getTalkspeed();
- if (talkspeed <= 9)
- VAR(VAR_CHARINC) = talkspeed;
+ _defaultTalkDelay = 9 - getTalkspeed();
+ VAR(VAR_CHARINC) = _defaultTalkDelay;
} else
_scummVars[var] = value;