[Scummvm-cvs-logs] SF.net SVN: scummvm: [24743] scummvm/trunk/engines/queen/grid.cpp

cyx at users.sourceforge.net cyx at users.sourceforge.net
Sun Nov 19 03:02:41 CET 2006


Revision: 24743
          http://svn.sourceforge.net/scummvm/?rev=24743&view=rev
Author:   cyx
Date:     2006-11-18 18:02:41 -0800 (Sat, 18 Nov 2006)

Log Message:
-----------
workaround bug #1599009

Modified Paths:
--------------
    scummvm/trunk/engines/queen/grid.cpp

Modified: scummvm/trunk/engines/queen/grid.cpp
===================================================================
--- scummvm/trunk/engines/queen/grid.cpp	2006-11-19 00:39:48 UTC (rev 24742)
+++ scummvm/trunk/engines/queen/grid.cpp	2006-11-19 02:02:41 UTC (rev 24743)
@@ -132,7 +132,20 @@
 	zoneNum = 1;
 	for (i = firstRoomObjNum + 1; i <= firstRoomObjNum + maxObjRoom; ++i) {
 		if (_vm->logic()->objectData(i)->name != 0) {
-			setZone(GS_ROOM, zoneNum, _objectBox[i]);
+			if (room == 41 && i == 303) {
+
+				// WORKAROUND bug #1599009: In the room 41, the bounding box of the
+				// stairs (object 303) doesn't match with the room picture. With the
+				// original box dimensions, Joe could walk "above" the stairs, giving
+				// the impression of floating in the air.
+				// To fix this, the bounding box is set relative to the position of
+				// the cabinet (object 295).
+
+				uint16 y1 = _objectBox[295].y2 + 1;
+				setZone(GS_ROOM, zoneNum, _objectBox[i].x1, y1, _objectBox[i].x2, _objectBox[i].y2);
+			} else {
+				setZone(GS_ROOM, zoneNum, _objectBox[i]);
+			}
 		}
 		++zoneNum;
 	}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list