[Scummvm-cvs-logs] CVS: scummvm/sky grid.cpp,1.9,1.10

Robert G?ffringmann lavosspawn at users.sourceforge.net
Tue Jun 17 05:28:01 CEST 2003


Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv26051/sky

Modified Files:
	grid.cpp 
Log Message:
fixed grid position calculation

Index: grid.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/grid.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- grid.cpp	1 Jun 2003 21:21:07 -0000	1.9
+++ grid.cpp	17 Jun 2003 12:27:03 -0000	1.10
@@ -180,10 +180,9 @@
     bitPos += x_signed;
 	int32 screenGridOfs = _gridConvertTable[cpt->screen] * GRID_SIZE;
 	bitPos += (screenGridOfs << 3); // convert to bits
-	int32 tmpBits = bitPos&0x1F;
+	uint32 tmpBits = 0x1F - (bitPos&0x1F);
 	bitPos &= ~0x1F; // divide into dword address and bit number
-	tmpBits = ~(tmpBits-0x1F); // NOTE THE ~ !!
-	bitPos += tmpBits; // anyone have an idea what this calculation is meant for?!
+	bitPos += tmpBits;
 	*resBitNum = bitPos;
 	*resWidth = width;
 	return true;
@@ -200,9 +199,9 @@
 
 	for (uint32 cnt = 0; cnt < width; cnt++) {
 		_gameGrids[bitNum >> 3] &= ~(1 << (bitNum & 0x7));
-		bitNum--;
 		if ((bitNum & 0x1F) == 0)
 			bitNum += 0x3F;
+		else bitNum--;
 	}
 }
 
@@ -217,9 +216,9 @@
 
 	for (uint32 cnt = 0; cnt < width; cnt++) {
 		_gameGrids[bitNum >> 3] |= (1 << (bitNum & 0x7));
-		bitNum--;
 		if ((bitNum & 0x1F) == 0)
 			bitNum += 0x3F;
+		else bitNum--;
 	}
 }
 





More information about the Scummvm-git-logs mailing list