[Scummvm-git-logs] scummvm master -> 5e869ae8a762f62415c6a60c30ee809bcf530346

AndywinXp noreply at scummvm.org
Fri Dec 2 23:24:14 UTC 2022


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
5e869ae8a7 SCUMM: GUI (v3): Fix textSpeed script-based controls


Commit: 5e869ae8a762f62415c6a60c30ee809bcf530346
    https://github.com/scummvm/scummvm/commit/5e869ae8a762f62415c6a60c30ee809bcf530346
Author: AndywinXp (andywinxp at gmail.com)
Date: 2022-12-03T00:24:08+01:00

Commit Message:
SCUMM: GUI (v3): Fix textSpeed script-based controls

The entirety of v3 games use script-based controls for textSpeed values, which were
broken by yet another 15 years old workaround which didn't take into account the fact
that boot-up is not the only moment that textSpeed is changed by the scripts, but is also
changed when sending the '<' '>' key commands.

Changed paths:
    engines/scumm/script.cpp


diff --git a/engines/scumm/script.cpp b/engines/scumm/script.cpp
index 792f5b11792..2b76c6e28da 100644
--- a/engines/scumm/script.cpp
+++ b/engines/scumm/script.cpp
@@ -635,12 +635,13 @@ void ScummEngine::writeVar(uint var, int value) {
 		}
 
 		if (var == VAR_CHARINC) {
-			// Did the user override the talkspeed manually? Then use that.
-			// Otherwise, use the value specified by the game script.
+			// Use the value specified by the game script, everywhere except
+			// at game boot-up: if there was a user override, then use that.
+			//
 			// Note: To determine whether there was a user override, we only
 			// look at the target specific settings, assuming that any global
 			// value is likely to be bogus. See also bug #4008.
-			if (ConfMan.hasKey("talkspeed", _targetName)) {
+			if (_currentRoom == 0 && ConfMan.hasKey("talkspeed", _targetName)) {
 				value = 9 - getTalkSpeed();
 			} else {
 				// Save the new talkspeed value to ConfMan




More information about the Scummvm-git-logs mailing list