[Scummvm-cvs-logs] scummvm master -> 023f6f10c7c88a118788503e6188b44c5fce2ce5

bluegr bluegr at gmail.com
Tue Nov 6 13:21:11 CET 2012


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:
023f6f10c7 SCUMM: Fix bug #3526089 - "SCUMM: ZAK Can't get objects in the bus on Mars"


Commit: 023f6f10c7c88a118788503e6188b44c5fce2ce5
    https://github.com/scummvm/scummvm/commit/023f6f10c7c88a118788503e6188b44c5fce2ce5
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2012-11-06T04:18:44-08:00

Commit Message:
SCUMM: Fix bug #3526089 - "SCUMM: ZAK Can't get objects in the bus on Mars"

This fixes a regression in V1/V2 games when no actor direction
is set (like the Shuttle Bus scene in Zak V2). The regression
was caused by commit de0b5f76749add219a6b667d5d2d69fb8a86d959.
Thanks to digitall for his bisecting work, which aided a lot in
finding the actual issue for this bug

Changed paths:
    engines/scumm/object.cpp



diff --git a/engines/scumm/object.cpp b/engines/scumm/object.cpp
index 77c75c4..ed77a86 100644
--- a/engines/scumm/object.cpp
+++ b/engines/scumm/object.cpp
@@ -433,10 +433,14 @@ void ScummEngine::getObjectXYPos(int object, int &x, int &y, int &dir) {
 			y = od.y_pos + (int16)READ_LE_UINT16(&imhd->old.hotspot[state].y);
 		}
 	} else if (_game.version <= 2) {
-		if (od.actordir) {
-			x = od.walk_x;
-			y = od.walk_y;
-		} else {
+		x = od.walk_x;
+		y = od.walk_y;
+
+		// Adjust x, y when no actor direction is set, but only perform this
+		// adjustment for V0 games (e.g. MM C64), otherwise certain scenes in
+		// newer games are affected as well (e.g. the interior of the Shuttle
+		// Bus scene in Zak V2, where no actor is present). Refer to bug #3526089.
+		if (!od.actordir && _game.version == 0) {
 			x = od.x_pos + od.width / 2;
 			y = od.y_pos + od.height / 2;
 		}






More information about the Scummvm-git-logs mailing list