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

bonki bonki at users.noreply.github.com
Sun Feb 25 20:09:40 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:
c55ee3f967 TUCKER: Confine Bud to walkable area when entering club


Commit: c55ee3f967be191c4b7ca481b266ee55f7b437b8
    https://github.com/scummvm/scummvm/commit/c55ee3f967be191c4b7ca481b266ee55f7b437b8
Author: Adrian Frühwirth (bonki at users.noreply.github.com)
Date: 2018-02-25T20:07:21+01:00

Commit Message:
TUCKER: Confine Bud to walkable area when entering club

When Bud is walked to specific coordinates using the 'buw' opcode the
walkable area is not enforced (_locationMaskIgnore == true).
This is usually not a problem because the player is not allowed to click,
however, when entering the club, this allows the player to move Bud to
coordinates from which he can never return, leaving him stuck there.
As a workaround, do not ignore the location mask during this specific
action when entering the club.

Fixes Trac#5838.

Changed paths:
    engines/tucker/tucker.cpp


diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp
index ec27db0..d4640a8 100644
--- a/engines/tucker/tucker.cpp
+++ b/engines/tucker/tucker.cpp
@@ -3256,7 +3256,19 @@ int TuckerEngine::executeTableInstruction() {
 	case kCode_buw:
 		_selectedObject._xPos = readTableInstructionParam(3);
 		_selectedObject._yPos = readTableInstructionParam(3);
-		_locationMaskIgnore = true;
+
+		// WORKAROUND: original game bug
+		// When Bud is walked to specific coordinates using the 'buw' opcode the
+		// walkable area is not enforced (_locationMaskIgnore == true).
+		// This is usually not a problem because the player is not allowed to click,
+		// however, when entering the club, this allows the player to move Bud to
+		// coordinates from which he can never return, leaving him stuck there.
+		// As a workaround, do not ignore the location mask during this specific
+		// action when entering the club.
+		// This fixes Trac#5838.
+		if (!(_locationNum == 6 && _nextAction == 59)) {
+			_locationMaskIgnore = true;
+		}
 		_panelLockedFlag = true;
 		return 0;
 	case kCode_bux:





More information about the Scummvm-git-logs mailing list