[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.355,2.356 script_v100he.cpp,2.57,2.58 script_v90he.cpp,2.147,2.148 sprite_he.cpp,1.27,1.28

kirben kirben at users.sourceforge.net
Tue Feb 22 20:39:10 CET 2005


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

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

Cleanup


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.355
retrieving revision 2.356
diff -u -d -r2.355 -r2.356
--- intern.h	23 Feb 2005 04:05:22 -0000	2.355
+++ intern.h	23 Feb 2005 04:35:18 -0000	2.356
@@ -939,6 +939,7 @@
 	void spriteInfoSet_setClassFlags(int spriteId, int value1, int value2);
 	void spriteInfoSet_resetClassFlags(int spriteId);
 
+	void redrawSpriteGroup(int spriteGroupId);
 	void spriteGroupSet_case0_0(int spriteGroupId, int value1, int value2);
 	void spriteGroupSet_case0_1(int spriteGroupId, int value);
 	void spriteGroupSet_case0_2(int spriteGroupId, int value);
@@ -957,9 +958,9 @@
 	void spriteGroupSet_case28(int spriteGroupId, int value1, int value2);
 	void spriteGroupSet_fields_0_4_8_C(int spriteGroupId, int value1, int value2, int value3, int value4);
 	void spriteGroupSet_case56(int spriteGroupId);
-	void spriteGroupSet_case180(int spriteGroupId);
 
 	void spritesAllocTables(int numSprites, int numGroups, int numMaxSprites);
+	void spritesResetGroup(int spriteGroupId);
 	void spritesResetTables(bool refreshScreen);
 	void spriteGroupCheck(int spriteGroupId);
 	void spriteMarkIfInGroup(int spriteGroupId, uint32 flags);

Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.57
retrieving revision 2.58
diff -u -d -r2.57 -r2.58
--- script_v100he.cpp	23 Feb 2005 04:05:22 -0000	2.57
+++ script_v100he.cpp	23 Feb 2005 04:35:19 -0000	2.58
@@ -945,7 +945,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_case180(_curSpriteGroupId);
+		spritesResetGroup(_curSpriteGroupId);
 		break;
 	case 54:
 		// dummy case

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.147
retrieving revision 2.148
diff -u -d -r2.147 -r2.148
--- script_v90he.cpp	23 Feb 2005 04:05:22 -0000	2.147
+++ script_v90he.cpp	23 Feb 2005 04:35:19 -0000	2.148
@@ -1507,7 +1507,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_case180(_curSpriteGroupId);
+		spritesResetGroup(_curSpriteGroupId);
 		break;
 	default:
 		error("o90_setSpriteGroupInfo: Unknown case %d", subOp);

Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- sprite_he.cpp	23 Feb 2005 04:05:22 -0000	1.27
+++ sprite_he.cpp	23 Feb 2005 04:35:20 -0000	1.28
@@ -594,6 +594,15 @@
 //
 // spriteGroupSet functions
 //
+void ScummEngine_v90he::redrawSpriteGroup(int spriteGroupId) {
+	for (int i = 0; i < _numSpritesToProcess; ++i) {
+		SpriteInfo *spi = _activeSpritesTable[i];
+		if (spi->group_num == spriteGroupId) {
+			spi->flags |= kSF01 | kSFNeedRedraw;
+		}
+	}
+}
+
 void ScummEngine_v90he::spriteGroupSet_case0_0(int spriteGroupId, int value1, int value2) {
 	checkRange(_varNumSpriteGroups, 1, spriteGroupId, "Invalid sprite group %d");
 
@@ -700,12 +709,7 @@
 	else
 		_spriteGroups[spriteGroupId].scaling = 0;
 
-	for (int i = 0; i < _numSpritesToProcess; ++i) {
-		SpriteInfo *spi = _activeSpritesTable[i];
-		if (spi->group_num == spriteGroupId) {
-			spi->flags |= kSF01 | kSFNeedRedraw;
-		}
-	}
+	redrawSpriteGroup(spriteGroupId);
 }
 
 void ScummEngine_v90he::spriteGroupSet_case5_1(int spriteGroupId, int value) {
@@ -722,12 +726,7 @@
 	else
 		_spriteGroups[spriteGroupId].scaling = 0;
 
-	for (int i = 0; i < _numSpritesToProcess; ++i) {
-		SpriteInfo *spi = _activeSpritesTable[i];
-		if (spi->group_num == spriteGroupId) {
-			spi->flags |= kSF01 | kSFNeedRedraw;
-		}
-	}
+	redrawSpriteGroup(spriteGroupId);
 }
 
 void ScummEngine_v90he::spriteGroupSet_case5_2(int spriteGroupId, int value) {
@@ -744,12 +743,7 @@
 	else
 		_spriteGroups[spriteGroupId].scaling = 0;
 
-	for (int i = 0; i < _numSpritesToProcess; ++i) {
-		SpriteInfo *spi = _activeSpritesTable[i];
-		if (spi->group_num == spriteGroupId) {
-			spi->flags |= kSF01 | kSFNeedRedraw;
-		}
-	}
+	redrawSpriteGroup(spriteGroupId);
 }
 
 void ScummEngine_v90he::spriteGroupSet_case5_3(int spriteGroupId, int value) {
@@ -766,12 +760,7 @@
 	else
 		_spriteGroups[spriteGroupId].scaling = 0;
 
-	for (int i = 0; i < _numSpritesToProcess; ++i) {
-		SpriteInfo *spi = _activeSpritesTable[i];
-		if (spi->group_num == spriteGroupId) {
-			spi->flags |= kSF01 | kSFNeedRedraw;
-		}
-	}
+	redrawSpriteGroup(spriteGroupId);
 }
 
 void ScummEngine_v90he::spriteGroupSet_field_10(int spriteGroupId, int value) {
@@ -782,12 +771,7 @@
 
 	_spriteGroups[spriteGroupId].field_10 = value;
 
-	for (int i = 0; i < _numSpritesToProcess; ++i) {
-		SpriteInfo *spi = _activeSpritesTable[i];
-		if (spi->group_num == spriteGroupId) {
-			spi->flags |= kSF01 | kSFNeedRedraw;
-		}
-	}
+	redrawSpriteGroup(spriteGroupId);
 }
 
 void ScummEngine_v90he::spriteGroupSet_tx_ty(int spriteGroupId, int value1, int value2) {
@@ -796,12 +780,7 @@
 	_spriteGroups[spriteGroupId].tx += value1;
 	_spriteGroups[spriteGroupId].ty += value2;
 
-	for (int i = 0; i < _numSpritesToProcess; ++i) {
-		SpriteInfo *spi = _activeSpritesTable[i];
-		if (spi->group_num == spriteGroupId) {
-			spi->flags |= kSF01 | kSFNeedRedraw;
-		}
-	}
+	redrawSpriteGroup(spriteGroupId);
 }
 
 void ScummEngine_v90he::spriteGroupSet_case26(int spriteGroupId, int value) {
@@ -812,12 +791,7 @@
 
 	_spriteGroups[spriteGroupId].field_20 = value;
 
-	for (int i = 0; i < _numSpritesToProcess; ++i) {
-		SpriteInfo *spi = _activeSpritesTable[i];
-		if (spi->group_num == spriteGroupId) {
-			spi->flags |= kSF01 | kSFNeedRedraw;
-		}
-	}
+	redrawSpriteGroup(spriteGroupId);
 }
 
 void ScummEngine_v90he::spriteGroupSet_case28(int spriteGroupId, int value1, int value2) {
@@ -829,12 +803,7 @@
 	_spriteGroups[spriteGroupId].tx = value1;
 	_spriteGroups[spriteGroupId].ty = value2;
 
-	for (int i = 0; i < _numSpritesToProcess; ++i) {
-		SpriteInfo *spi = _activeSpritesTable[i];
-		if (spi->group_num == spriteGroupId) {
-			spi->flags |= kSF01 | kSFNeedRedraw;
-		}
-	}
+	redrawSpriteGroup(spriteGroupId);
 }
 
 void ScummEngine_v90he::spriteGroupSet_fields_0_4_8_C(int spriteGroupId, int value1, int value2, int value3, int value4) {
@@ -846,12 +815,7 @@
 	_spriteGroups[spriteGroupId].field_8 = value3;
 	_spriteGroups[spriteGroupId].field_C = value4;
 
-	for (int i = 0; i < _numSpritesToProcess; ++i) {
-		SpriteInfo *spi = _activeSpritesTable[i];
-		if (spi->group_num == spriteGroupId) {
-			spi->flags |= kSF01 | kSFNeedRedraw;
-		}
-	}
+	redrawSpriteGroup(spriteGroupId);
 }
 
 void ScummEngine_v90he::spriteGroupSet_case56(int spriteGroupId) {
@@ -859,16 +823,7 @@
 
 	_spriteGroups[spriteGroupId].flags &= ~(kSGF02);
 
-	for (int i = 0; i < _numSpritesToProcess; ++i) {
-		SpriteInfo *spi = _activeSpritesTable[i];
-		if (spi->group_num == spriteGroupId) {
-			spi->flags |= kSF01 | kSFNeedRedraw;
-		}
-	}
-}
-
-void ScummEngine_v90he::spriteGroupSet_case180(int spriteGroupId) {
-	// TODO
+	redrawSpriteGroup(spriteGroupId);
 }
 
 void ScummEngine_v90he::spritesAllocTables(int numSprites, int numGroups, int numMaxSprites) {
@@ -883,56 +838,63 @@
 	_imageListStack = (uint16 *)malloc((_varMaxSprites + 1) * sizeof(uint16));
 }
 
-void ScummEngine_v90he::spritesResetTables(bool refreshScreen) {
+void ScummEngine_v90he::spritesResetGroup(int spriteGroupId) {
 	int i;
-	for (i = 0; i < _varMaxSprites; ++i) {
-		_imageListStack[i] = i;
-	}
-	memset(_spriteTable, 0, (_varNumSprites + 1) * sizeof(SpriteInfo));
-	memset(_spriteGroups, 0, (_varNumSpriteGroups + 1) * sizeof(SpriteGroup));
-	for (int curGrp = 1; curGrp < _varNumSpriteGroups; ++curGrp) {
-		SpriteGroup *spg = &_spriteGroups[curGrp];
-		checkRange(_varNumSpriteGroups, 1, curGrp, "Invalid sprite group %d");
-		if (spg->field_10 != 0) {
-			spg->field_10 = 0;
-			spriteGroupCheck(curGrp);
-			for (i = 0; i < _numSpritesToProcess; ++i) {
-				SpriteInfo *spi = _activeSpritesTable[i];
-				if (spi->group_num == curGrp) {
-					spi->flags |= kSF01 | kSFNeedRedraw;
-				}
+
+	SpriteGroup *spg = &_spriteGroups[spriteGroupId];
+	checkRange(_varNumSpriteGroups, 1, spriteGroupId, "Invalid sprite group %d");
+	if (spg->field_10 != 0) {
+		spg->field_10 = 0;
+		spriteGroupCheck(spriteGroupId);
+		for (i = 0; i < _numSpritesToProcess; ++i) {
+			SpriteInfo *spi = _activeSpritesTable[i];
+			if (spi->group_num == spriteGroupId) {
+				spi->flags |= kSF01 | kSFNeedRedraw;
 			}
 		}
-		if (spg->tx != 0 || spg->ty != 0) {
-			spg->tx = spg->ty = 0;
-			spriteGroupCheck(curGrp);
-			for (i = 0; i < _numSpritesToProcess; ++i) {
-				SpriteInfo *spi = _activeSpritesTable[i];
-				if (spi->group_num == curGrp) {
-					spi->flags |= kSF01 | kSFNeedRedraw;
-				}
+	}
+	if (spg->tx != 0 || spg->ty != 0) {
+		spg->tx = spg->ty = 0;
+		spriteGroupCheck(spriteGroupId);
+		for (i = 0; i < _numSpritesToProcess; ++i) {
+		SpriteInfo *spi = _activeSpritesTable[i];
+			if (spi->group_num == spriteGroupId) {
+				spi->flags |= kSF01 | kSFNeedRedraw;
 			}
 		}
-		spg->flags &= ~kSGF01;
-		spriteMarkIfInGroup(curGrp, kSF01 | kSFNeedRedraw);
-		if (spg->field_20 != 0) {
-			spriteGroupCheck(curGrp);
-			for (i = 0; i < _numSpritesToProcess; ++i) {
-				SpriteInfo *spi = _activeSpritesTable[i];
-				if (spi->group_num == curGrp) {
-					spi->flags |= kSF01 | kSFNeedRedraw;
-				}
+	}
+	spg->flags &= ~kSGF01;
+	spriteMarkIfInGroup(spriteGroupId, kSF01 | kSFNeedRedraw);
+	if (spg->field_20 != 0) {
+		spriteGroupCheck(spriteGroupId);
+		for (i = 0; i < _numSpritesToProcess; ++i) {
+			SpriteInfo *spi = _activeSpritesTable[i];
+			if (spi->group_num == spriteGroupId) {
+				spi->flags |= kSF01 | kSFNeedRedraw;
 			}
 		}
-		spriteGroupCheck(curGrp);
-		spg->scaling = 0;
-		spg->scale_x = 0x3F800000;
-		spg->field_30 = 0;
-		spg->field_34 = 0;
-		spg->scale_y = 0x3F800000;
-		spg->field_38 = 0;
-		spg->field_3C = 0;
 	}
+	spriteGroupCheck(spriteGroupId);
+	spg->scaling = 0;
+	spg->scale_x = 0x3F800000;
+	spg->field_30 = 0;
+	spg->field_34 = 0;
+	spg->scale_y = 0x3F800000;
+	spg->field_38 = 0;
+	spg->field_3C = 0;
+}
+
+void ScummEngine_v90he::spritesResetTables(bool refreshScreen) {
+	int i;
+
+	for (i = 0; i < _varMaxSprites; ++i) {
+		_imageListStack[i] = i;
+	}
+	memset(_spriteTable, 0, (_varNumSprites + 1) * sizeof(SpriteInfo));
+	memset(_spriteGroups, 0, (_varNumSpriteGroups + 1) * sizeof(SpriteGroup));
+	for (int curGrp = 1; curGrp < _varNumSpriteGroups; ++curGrp)
+		spritesResetGroup(curGrp);
+
 	if (refreshScreen) {
 		gdi.copyVirtScreenBuffers(Common::Rect(_screenWidth, _screenHeight));
 	}





More information about the Scummvm-git-logs mailing list