[Scummvm-cvs-logs] CVS: scummvm/scumm sprite_he.cpp,1.29,1.30

kirben kirben at users.sourceforge.net
Tue Feb 22 21:28:15 CET 2005


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

Modified Files:
	sprite_he.cpp 
Log Message:

Add sprite function.
Correct sprite function (class_flags, not flags).


Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- sprite_he.cpp	23 Feb 2005 05:09:14 -0000	1.29
+++ sprite_he.cpp	23 Feb 2005 05:26:56 -0000	1.30
@@ -44,11 +44,14 @@
 	return 0;
 }
 
-int ScummEngine_v90he::spriteInfoGet_classFlags(int spriteId, int num) {
+int ScummEngine_v90he::spriteInfoGet_classFlags(int spriteId, int classId) {
 	checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d");
 
-	// TODO
-	return 0;
+	if (classId == -1)
+		return _spriteTable[spriteId].class_flags; 
+
+	checkRange(32, 1, classId, "class %d out of range in statement");
+	return ((_spriteTable[spriteId].class_flags & classId) != 0) ? 1 : 0;
 }
 
 int ScummEngine_v90he::spriteInfoGet_classFlags2(int spriteId, int num, int *args) {
@@ -220,7 +223,7 @@
 // spriteGroupGet functions
 //
 int ScummEngine_v90he::spriteGroupGet_allocateGroupSpritesList(int spriteGroupId) {
-	int i, j, sprites = 0;
+	int i, j = 0, sprites = 0;
 
 	checkRange(_varNumSpriteGroups, 1, spriteGroupId, "Invalid sprite group %d");
 
@@ -510,9 +513,9 @@
 	checkRange(32, 1, classId, "class %d out of range in statement");
 	
 	if (toggle) {
-		_spriteTable[spriteId].flags |= 1 << (classId - 1);
+		_spriteTable[spriteId].class_flags |= 1 << (classId - 1);
 	} else {
-		_spriteTable[spriteId].flags &= ~(1 << (classId - 1));
+		_spriteTable[spriteId].class_flags &= ~(1 << (classId - 1));
 	}
 }
 





More information about the Scummvm-git-logs mailing list