[Scummvm-cvs-logs] CVS: scummvm/saga sprite.cpp,1.68,1.69

Eugene Sandulenko sev at users.sourceforge.net
Sat Oct 8 13:10:11 CEST 2005


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

Modified Files:
	sprite.cpp 
Log Message:
Put actors on the ground. No more upside down. Though probably drawClip()
has to be fixed too, but now we have no test case for this.


Index: sprite.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sprite.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -d -r1.68 -r1.69
--- sprite.cpp	8 Oct 2005 16:25:18 -0000	1.68
+++ sprite.cpp	8 Oct 2005 20:09:00 -0000	1.69
@@ -332,7 +332,14 @@
 	// Finally, draw the occluded sprite
 	sourceRowPointer = spriteBuffer + clipData.drawSource.x + (clipData.drawSource.y * width);
 
-	destRowPointer = (byte *)ds->pixels + clipData.drawDest.x + (clipData.drawDest.y * ds->pitch);
+	int traverseSign;
+	if (_vm->getGameType() == GType_IHNM) {
+		traverseSign = -1;
+		destRowPointer = (byte *)ds->pixels + clipData.drawDest.x + ((clipData.drawDest.y + clipData.drawHeight) * ds->pitch);
+	} else {
+		traverseSign = 1;
+		destRowPointer = (byte *)ds->pixels + clipData.drawDest.x + (clipData.drawDest.y * ds->pitch);
+	}
 	maskRowPointer = maskBuffer + clipData.drawDest.x + (clipData.drawDest.y * maskWidth);
 
 	for (y = 0; y < clipData.drawHeight; y++) {
@@ -350,7 +357,7 @@
 			destPointer++;
 			maskPointer++;
 		}
-		destRowPointer += ds->pitch;
+		destRowPointer += ds->pitch * traverseSign;
 		maskRowPointer += maskWidth;
 		sourceRowPointer += width;
 	}





More information about the Scummvm-git-logs mailing list