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

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Tue Oct 27 13:08:20 CET 2009


Revision: 45438
          http://scummvm.svn.sourceforge.net/scummvm/?rev=45438&view=rev
Author:   Kirben
Date:     2009-10-27 12:08:19 +0000 (Tue, 27 Oct 2009)

Log Message:
-----------
Add patch #2856940 - MM C64: corner walkboxes fixed.

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	2009-10-27 11:32:33 UTC (rev 45437)
+++ scummvm/trunk/engines/scumm/actor.cpp	2009-10-27 12:08:19 UTC (rev 45438)
@@ -1536,6 +1536,8 @@
 			bcr->_zbuf = 0;
 		else {
 			bcr->_zbuf = _vm->getMaskFromBox(_walkbox);
+			if (_vm->_game.version == 0)
+				bcr->_zbuf &= 0x03;
 			if (bcr->_zbuf > _vm->_gdi->_numZBuffer-1)
 				bcr->_zbuf = _vm->_gdi->_numZBuffer-1;
 		}

Modified: scummvm/trunk/engines/scumm/boxes.cpp
===================================================================
--- scummvm/trunk/engines/scumm/boxes.cpp	2009-10-27 11:32:33 UTC (rev 45437)
+++ scummvm/trunk/engines/scumm/boxes.cpp	2009-10-27 12:08:19 UTC (rev 45438)
@@ -613,6 +613,16 @@
 		box->ll.y = bp->c64.y2;
 		box->lr.x = bp->c64.x2;
 		box->lr.y = bp->c64.y2;
+
+		if (bp->c64.mask & 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
+				box->ul = box->ur;
+		}
 	} else if (_game.version <= 2) {
 		box->ul.x = bp->v2.ulx;
 		box->ul.y = bp->v2.uy;


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