[Scummvm-cvs-logs] CVS: scummvm/sword1 screen.cpp,1.22,1.23

Robert G?ffringmann lavosspawn at users.sourceforge.net
Mon Dec 22 03:52:01 CET 2003


Update of /cvsroot/scummvm/scummvm/sword1
In directory sc8-pr-cvs1:/tmp/cvs-serv25073/sword1

Modified Files:
	screen.cpp 
Log Message:
another change to verticalMask(). this should fix the remaining sprite priority issues

Index: screen.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sword1/screen.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- screen.cpp	22 Dec 2003 11:23:40 -0000	1.22
+++ screen.cpp	22 Dec 2003 11:51:27 -0000	1.23
@@ -291,8 +291,6 @@
 			}
 	} else
 		memcpy(_screenBuf, _layerBlocks[0], _scrnSizeX * _scrnSizeY);
-	
-		
 
 	for (uint8 cnt = 0; cnt < _backLength; cnt++)
 		processImage(_backList[cnt]);
@@ -411,22 +409,24 @@
 		bHeight = _gridSizeY - y;
 
 	uint16 gridY = y + SCREEN_TOP_EDGE / SCRNGRID_Y; // imaginary screen on top
+	gridY += bHeight - 1; // we start from the bottom edge
 	uint16 gridX = x + SCREEN_LEFT_EDGE / SCRNGRID_X; // imaginary screen left
 	uint16 lGridSizeX = _gridSizeX + 2 * (SCREEN_LEFT_EDGE / SCRNGRID_X); // width of the grid for the imaginary screen
 
 	for (uint16 blkx = 0; blkx < bWidth; blkx++) {
 		uint16 level = 0;
 		while ((level < _roomDefTable[_currentScreen].totalLayers - 1) && 
-			(!_layerGrid[level][gridX + blkx + (gridY + bHeight - 1)* lGridSizeX]))
+			(!_layerGrid[level][gridX + blkx + gridY * lGridSizeX]))
 			level++;
 		if (level < _roomDefTable[_currentScreen].totalLayers - 1) {
 			uint16 *grid = _layerGrid[level] + gridX + blkx + gridY * lGridSizeX;
-			for (uint16 blky = 0; blky < bHeight; blky++) {
+			for (int16 blky = bHeight - 1; blky >= 0; blky--) {
 				if (*grid) {
 					uint8 *blkData = _layerBlocks[level + 1] + (READ_LE_UINT16(grid) - 1) * 128;
 					blitBlockClear(x + blkx, y + blky, blkData);
-				}
-				grid += lGridSizeX;
+				} else 
+					break;
+				grid -= lGridSizeX;
 			}
 		}
 	}





More information about the Scummvm-git-logs mailing list