[Scummvm-cvs-logs] SF.net SVN: scummvm:[53800] scummvm/branches/branch-1-2-0/engines/scumm
Kirben at users.sourceforge.net
Kirben at users.sourceforge.net
Mon Oct 25 09:07:23 CEST 2010
Revision: 53800
http://scummvm.svn.sourceforge.net/scummvm/?rev=53800&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/branches/branch-1-2-0/engines/scumm/actor.cpp
scummvm/branches/branch-1-2-0/engines/scumm/boxes.cpp
Modified: scummvm/branches/branch-1-2-0/engines/scumm/actor.cpp
===================================================================
--- scummvm/branches/branch-1-2-0/engines/scumm/actor.cpp 2010-10-25 07:07:23 UTC (rev 53799)
+++ scummvm/branches/branch-1-2-0/engines/scumm/actor.cpp 2010-10-25 07:07:23 UTC (rev 53800)
@@ -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/branches/branch-1-2-0/engines/scumm/boxes.cpp
===================================================================
--- scummvm/branches/branch-1-2-0/engines/scumm/boxes.cpp 2010-10-25 07:07:23 UTC (rev 53799)
+++ scummvm/branches/branch-1-2-0/engines/scumm/boxes.cpp 2010-10-25 07:07:23 UTC (rev 53800)
@@ -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