[Scummvm-cvs-logs] CVS: scummvm/saga isomap.cpp,1.40,1.41

Andrew Kurushin h00ligan at users.sourceforge.net
Tue Mar 29 13:19:03 CEST 2005


Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20953

Modified Files:
	isomap.cpp 
Log Message:
fixed small bug

Index: isomap.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/isomap.cpp,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- isomap.cpp	25 Mar 2005 17:48:17 -0000	1.40
+++ isomap.cpp	29 Mar 2005 21:18:39 -0000	1.41
@@ -342,6 +342,7 @@
 	int16 mv;
 	int16 state;
 	uint16 i, offset;
+	int16 *tiles;
 
 	ru = (tileIndex >> 13) & 0x03;
 	rv = (tileIndex >> 11) & 0x03;
@@ -358,11 +359,13 @@
 			state = multiTileEntryData->currentState;
 			
 			offset = (ru + state * multiTileEntryData->uSize) * multiTileEntryData->vSize + rv;
+			offset *= sizeof(*_multiTableData);
 			offset += multiTileEntryData->offset;
-			if (offset >= _multiDataCount * sizeof(*_multiTableData)) {
+			if (offset + sizeof(*_multiTableData) - 1 >= _multiDataCount * sizeof(*_multiTableData)) {
 				error("wrong multiTileEntryData->offset");
 			}
-			tileIndex = _multiTableData[offset];
+			tiles = (int16*)((byte*)_multiTableData + offset);
+			tileIndex = *tiles;
 			if (tileIndex >= 256) {
 				warning("something terrible happened");
 				return 1;





More information about the Scummvm-git-logs mailing list