[Scummvm-cvs-logs] SF.net SVN: scummvm: [29963] scummvm/trunk/engines/scumm/gfx.cpp
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Sun Dec 23 17:02:58 CET 2007
Revision: 29963
http://scummvm.svn.sourceforge.net/scummvm/?rev=29963&view=rev
Author: fingolfin
Date: 2007-12-23 08:02:58 -0800 (Sun, 23 Dec 2007)
Log Message:
-----------
Fix for bug #1837375: MM: Walk behind mask char data
Modified Paths:
--------------
scummvm/trunk/engines/scumm/gfx.cpp
Modified: scummvm/trunk/engines/scumm/gfx.cpp
===================================================================
--- scummvm/trunk/engines/scumm/gfx.cpp 2007-12-23 15:23:01 UTC (rev 29962)
+++ scummvm/trunk/engines/scumm/gfx.cpp 2007-12-23 16:02:58 UTC (rev 29963)
@@ -263,7 +263,11 @@
decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 12), _C64.picMap, roomptr[4] * roomptr[5]);
decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 14), _C64.colorMap, roomptr[4] * roomptr[5]);
decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 16), _C64.maskMap, roomptr[4] * roomptr[5]);
- decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 18) + 2, _C64.maskChar, READ_LE_UINT16(roomptr + READ_LE_UINT16(roomptr + 18)));
+
+ // Read the mask data. The 16bit length value seems to always be 8 too big.
+ // See bug #1837375 for details on this.
+ const byte *maskPtr = roomptr + READ_LE_UINT16(roomptr + 18);
+ decodeC64Gfx(maskPtr + 2, _C64.maskChar, READ_LE_UINT16(maskPtr) - 8);
_objectMode = true;
}
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