[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.357,2.358 script_v90he.cpp,2.149,2.150 sprite_he.cpp,1.31,1.32

kirben kirben at users.sourceforge.net
Wed Feb 23 01:56:48 CET 2005


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

Modified Files:
	intern.h script_v90he.cpp sprite_he.cpp 
Log Message:

Correct subOp, used in freddicove


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.357
retrieving revision 2.358
diff -u -d -r2.357 -r2.358
--- intern.h	23 Feb 2005 09:23:53 -0000	2.357
+++ intern.h	23 Feb 2005 09:55:34 -0000	2.358
@@ -900,6 +900,7 @@
 	int spriteInfoGet_field_78(int spriteId);
 	int spriteInfoGet_field_7C(int spriteId);
 	int spriteInfoGet_field_80(int spriteId);
+	int spriteInfoGet_field_88(int spriteId, int type);
 	void getSpriteImageDim(int spriteId, int32 &w, int32 &h);
 	void spriteInfoGet_tx_ty(int spriteId, int32 &tx, int32 &ty);
 	void spriteInfoGet_dx_dy(int spriteId, int32 &dx, int32 &dy);
@@ -938,7 +939,7 @@
 	void spriteInfoSet_field_78_64(int spriteId, int value);
 	void spriteInfoSet_setClassFlags(int spriteId, int value1, int value2);
 	void spriteInfoSet_resetClassFlags(int spriteId);
-	void spriteInfoSet_field_88(int spriteId, int value1, int value2);
+	void spriteInfoSet_field_88(int spriteId, int type, int value);
 
 	void redrawSpriteGroup(int spriteGroupId);
 	void spriteGroupSet_case0_0(int spriteGroupId, int value1, int value2);

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.149
retrieving revision 2.150
diff -u -d -r2.149 -r2.150
--- script_v90he.cpp	23 Feb 2005 09:23:53 -0000	2.149
+++ script_v90he.cpp	23 Feb 2005 09:55:34 -0000	2.150
@@ -926,9 +926,12 @@
 		}
 		break;
 	case 109:
-		// dummy case
-		pop();
-		push(0);
+		spriteId = pop();
+		flags = pop();
+		if (spriteId)
+			push(spriteInfoGet_field_88(spriteId, flags));
+		else
+			push(0);
 		break;
 	case 110:
 		spriteId = pop();

Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- sprite_he.cpp	23 Feb 2005 09:23:53 -0000	1.31
+++ sprite_he.cpp	23 Feb 2005 09:55:34 -0000	1.32
@@ -199,6 +199,15 @@
 	return _spriteTable[spriteId].field_80;
 }
 
+int ScummEngine_v90he::spriteInfoGet_field_88(int spriteId, int type) {
+	checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d");
+
+	if (type == 0x7B)
+		return _spriteTable[spriteId].field_88;
+	else
+		return 0;
+}
+
 void ScummEngine_v90he::getSpriteImageDim(int spriteId, int32 &w, int32 &h) {
 	checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d");
 
@@ -525,11 +534,11 @@
 	_spriteTable[spriteId].class_flags = 0;
 }
 
-void ScummEngine_v90he::spriteInfoSet_field_88(int spriteId, int value1, int value2) {
+void ScummEngine_v90he::spriteInfoSet_field_88(int spriteId, int type, int value) {
 	checkRange(_varNumSprites, 1, spriteId, "Invalid sprite %d");
 
-	if (value1 == 0x7B) {
-		_spriteTable[spriteId].field_88 = value2;
+	if (type == 0x7B) {
+		_spriteTable[spriteId].field_88 = value;
 		_spriteTable[spriteId].flags |= kSF01 | kSFNeedRedraw;
 	}
 }





More information about the Scummvm-git-logs mailing list