[Scummvm-cvs-logs] SF.net SVN: scummvm:[53799] scummvm/trunk/engines/scumm

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Mon Oct 25 09:07:23 CEST 2010


Revision: 53799
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53799&view=rev
Author:   Kirben
Date:     2010-10-25 07:07:23 +0000 (Mon, 25 Oct 2010)

Log Message:
-----------
SCUMM: Add patch #3093051 - MMC64: Ladder facing patch.

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/actor.cpp
    scummvm/trunk/engines/scumm/boxes.cpp

Modified: scummvm/trunk/engines/scumm/actor.cpp
===================================================================
--- scummvm/trunk/engines/scumm/actor.cpp	2010-10-25 06:53:05 UTC (rev 53798)
+++ scummvm/trunk/engines/scumm/actor.cpp	2010-10-25 07:07:23 UTC (rev 53799)
@@ -691,6 +691,7 @@
 int Actor::remapDirection(int dir, bool is_walking) {
 	int specdir;
 	byte flags;
+	byte mask;
 	bool flipX;
 	bool flipY;
 
@@ -769,6 +770,14 @@
 		case 6:
 			return 180;
 		}
+
+		// MM C64 stores flags as a part of the mask
+		if (_vm->_game.version == 0) {
+			mask = _vm->getMaskFromBox(_walkbox);
+			// face the wall if climbing/descending a ladder
+			if ((mask & 0x8C) == 0x84)
+				return 0;
+		}
 	}
 	// OR 1024 in to signal direction interpolation should be done
 	return normalizeAngle(dir) | 1024;

Modified: scummvm/trunk/engines/scumm/boxes.cpp
===================================================================
--- scummvm/trunk/engines/scumm/boxes.cpp	2010-10-25 06:53:05 UTC (rev 53798)
+++ scummvm/trunk/engines/scumm/boxes.cpp	2010-10-25 07:07:23 UTC (rev 53799)
@@ -614,10 +614,8 @@
 		box->lr.x = bp->c64.x2;
 		box->lr.y = bp->c64.y2;
 
-		if (bp->c64.mask & 0x88) {
+		if ((bp->c64.mask & 0x88) == 0x88) {
 			// walkbox for (right/left) corner
-			// TODO: ladders (incl. man-eating plant) have mask 0x8A,
-			// must those walkboxes be adjusted?
 			if (bp->c64.mask & 0x04)
 				box->ur = box->ul;
 			else


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