[Scummvm-git-logs] scummvm master -> d2ae21624e0d8f58bfc3e2b67ab1b4efa94cf77d

bonki bonki at users.noreply.github.com
Mon Mar 19 21:37:14 CET 2018


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:
d2ae21624e TUCKER: Implement workaround for original script bug mentioned in commit 23fd97c99a


Commit: d2ae21624e0d8f58bfc3e2b67ab1b4efa94cf77d
    https://github.com/scummvm/scummvm/commit/d2ae21624e0d8f58bfc3e2b67ab1b4efa94cf77d
Author: Adrian Frühwirth (bonki at users.noreply.github.com)
Date: 2018-03-19T21:36:13+01:00

Commit Message:
TUCKER: Implement workaround for original script bug mentioned in commit 23fd97c99a

Changed paths:
    engines/tucker/tucker.cpp


diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp
index e1d05ec..f392526 100644
--- a/engines/tucker/tucker.cpp
+++ b/engines/tucker/tucker.cpp
@@ -3460,6 +3460,27 @@ int TuckerEngine::executeTableInstruction() {
 		return 1;
 	case kCode_wsm:
 		_stopActionOnPanelLock = true;
+
+		// WORKAROUND
+		// Some versions have a script bug which allows you to freely click around
+		// during the sequence of Bud freeing the professor in part two which even
+		// allows Bud to leave the room while talking to the professor resulting in
+		// general glitchiness. The Spanish and Polish versions (and possibly others)
+		// fixed this by introducing the 'mof' opcode to disable the mouse during the
+		// sequence.
+		//
+		// The difference is as follows:
+		//   Buggy: 61dw buw,148,125,wsm,buw,148,132,wsm,wat,050[...]
+		//   Fixed: 61dw buw,148,125,wsm,buw,148,132,wsm,mof,pan,01,wat,050[...]
+		//                                               ^^^^^^^^^^
+		// To work around the issue in the problematic versions we inject these two
+		// instructions after the first occurence of the 'wsm' instruction (which
+		// proves good enough).
+		if (_locationNum == 24 && _nextAction == 61) {
+			setCursorState(kCursorStateDisabledHidden);
+			_panelType = kPanelTypeEmpty;
+		}
+
 		return 1;
 	case kCode_wat:
 		_stopActionCounter = readTableInstructionParam(3);





More information about the Scummvm-git-logs mailing list