[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.360,1.361 intern.h,2.501,2.502 saveload.cpp,1.227,1.228 script_v100he.cpp,2.156,2.157 script_v90he.cpp,2.261,2.262 scumm.cpp,1.533,1.534 sprite_he.cpp,1.142,1.143 sprite_he.h,1.38,1.39

kirben kirben at users.sourceforge.net
Mon May 23 02:33:10 CEST 2005


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

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

Add Sprite class and move over related functions.


Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.360
retrieving revision 1.361
diff -u -d -r1.360 -r1.361
--- actor.cpp	19 May 2005 01:54:36 -0000	1.360
+++ actor.cpp	23 May 2005 09:30:41 -0000	1.361
@@ -1022,8 +1022,8 @@
 void ScummEngine_v90he::processActors() {
 	preProcessAuxQueue();
 
-	spritesMarkDirty(false);
-	spritesProcessWiz(true);
+	_sprite->spritesMarkDirty(false);
+	_sprite->spritesProcessWiz(true);
 
 	if (!_skipProcessActors)
 		ScummEngine::processActors();
@@ -1032,8 +1032,8 @@
 
 	postProcessAuxQueue();
 
-	spritesMarkDirty(true);
-	spritesProcessWiz(false);
+	_sprite->spritesMarkDirty(true);
+	_sprite->spritesProcessWiz(false);
 }
 #endif
 

Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.501
retrieving revision 2.502
diff -u -d -r2.501 -r2.502
--- intern.h	23 May 2005 03:33:08 -0000	2.501
+++ intern.h	23 May 2005 09:30:42 -0000	2.502
@@ -24,6 +24,7 @@
 #define INTERN_H
 
 #include "scumm/scumm.h"
+#include "scumm/sprite_he.h"
 #include "scumm/wiz_he.h"
 
 namespace Scumm {
@@ -1064,11 +1065,9 @@
 	void o80_pickVarRandom();
 };
 
-struct SpriteInfo;
-struct SpriteGroup;
-
 class ScummEngine_v90he : public ScummEngine_v80he {
 	friend class LogicHE;
+	friend class Sprite;
 
 protected:
 	typedef void (ScummEngine_v90he::*OpcodeProcV90he)();
@@ -1095,22 +1094,15 @@
 	int32 _curMaxSpriteId;
 	int32 _curSpriteId;
 	int32 _curSpriteGroupId;
-	int32 _numSpritesToProcess;
-	int32 _varNumSpriteGroups;
-	int32 _varNumSprites;
-	int32 _varMaxSprites;
-	SpriteInfo *_spriteTable;
-	SpriteGroup *_spriteGroups;
-	SpriteInfo **_activeSpritesTable;
 
 public:
-	ScummEngine_v90he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16], int substResFileNameIndex) : ScummEngine_v80he(detector, syst, gs, md5sum, substResFileNameIndex) {}
-
+	ScummEngine_v90he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16], int substResFileNameIndex);
 	~ScummEngine_v90he();
 
 	virtual void scummInit();
 
 	LogicHE *_logicHE;
+	Sprite *_sprite;
 
 protected:
 	virtual void allocateArrays();
@@ -1129,7 +1121,11 @@
 	int computeWizHistogram(int resnum, int state, int x, int y, int w, int h);
 	void getArrayDim(int array, int *dim2start, int *dim2end, int *dim1start, int *dim1end);
 	void sortArray(int array, int dim2start, int dim2end, int dim1start, int dim1end, int sortOrder);
-	
+
+public:	
+	int getGroupallocateGroupSpritesList(int spriteGroupId);
+
+protected:
 	uint8 *getHEPaletteIndex(int palSlot);
 	int getHEPaletteColor(int palSlot, int color);
 	int getHEPaletteSimilarColor(int palSlot, int red, int green, int start, int end);
@@ -1143,109 +1139,9 @@
 	void copyHEPalette(int dstPalSlot, int srcPalSlot);
 	void copyHEPaletteColor(int palSlot, uint8 dstColor, uint8 srcColor);
 
-	void getSpriteBounds(int spriteId, bool checkGroup, Common::Rect &bound);
-	int findSpriteWithClassOf(int x, int y, int spriteGroupId, int d, int num, int *args);
-	int spriteInfoGet_classFlags(int spriteId, int num, int *args);
-	int spriteInfoGet_flagDoubleBuffered(int spriteId);
-	int spriteInfoGet_flagYFlipped(int spriteId);
-	int spriteInfoGet_flagXFlipped(int spriteId);
-	int spriteInfoGet_flagActive(int spriteId);
-	int spriteInfoGet_flagNeedPaletteRemap(int spriteId);
-	int spriteInfoGet_flagDelayed(int spriteId);
-	int spriteInfoGet_flagMarkDirty(int spriteId);	
-	int spriteInfoGet_flagHasImage(int spriteId);
-	int spriteInfoGet_resId(int spriteId);
-	int spriteInfoGet_resState(int spriteId);
-	int spriteInfoGet_groupNum(int spriteId);
-	int spriteInfoGet_paletteNum(int spriteId);
-	int spriteInfoGet_zorderPriority(int spriteId);
-	int spriteInfoGet_grp_tx(int spriteId);
-	int spriteInfoGet_grp_ty(int spriteId);
-	int spriteInfoGet_field_44(int spriteId);
-	int spriteInfoGet_xmapNum(int spriteId);
-	int spriteInfoGet_wizSize(int spriteId);
-	int spriteInfoGet_zoom(int spriteId);
-	int spriteInfoGet_delayAmount(int spriteId);
-	int spriteInfoGet_maskImgResNum(int spriteId);
-	int spriteInfoGet_field_80(int spriteId);
-	int spriteInfoGet_field_8C_90(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);
-
-	int spriteGroupGet_allocateGroupSpritesList(int spriteGroupId);
-	int spriteGroupGet_zorderPriority(int spriteGroupId);
-	int spriteGroupGet_dstResNum(int spriteGroupId);
-	int spriteGroupGet_scale_x_ratio_mul(int spriteGroupId);
-	int spriteGroupGet_scale_x_ratio_div(int spriteGroupId);
-	int spriteGroupGet_scale_y_ratio_mul(int spriteGroupId);
-	int spriteGroupGet_scale_y_ratio_div(int spriteGroupId);
-	void spriteGroupGet_tx_ty(int spriteGroupId, int32 &tx, int32 &ty);
-
-	void spriteInfoSet_paletteNum(int spriteId, int value);
-	void spriteInfoSet_maskImgResNum(int spriteId, int value);
-	void spriteInfoSet_field_80(int spriteId, int value);
-	void spriteInfoSet_resetSprite(int spriteId);
-	void spriteInfoSet_resState(int spriteId, int value);
-	void spriteInfoSet_tx_ty(int spriteId, int value1, int value2);
-	void spriteInfoSet_groupNum(int spriteId, int value);
-	void spriteInfoSet_dx_dy(int spriteId, int value1, int value2);
-	void spriteInfoSet_xmapNum(int spriteId, int value);
-	void spriteInfoSet_field_44(int spriteId, int value1, int value2);
-	void spriteInfoSet_zorderPriority(int spriteId, int value);
-	void spriteInfoSet_Inc_tx_ty(int spriteId, int value1, int value2);
-	void spriteInfoSet_zoom(int spriteId, int value);
-	void spriteInfoSet_angle(int spriteId, int value);
-	void spriteInfoSet_flagDoubleBuffered(int spriteId, int value);
-	void spriteInfoSet_flagYFlipped(int spriteId, int value);
-	void spriteInfoSet_flagXFlipped(int spriteId, int value);
-	void spriteInfoSet_flagActive(int spriteId, int value);
-	void spriteInfoSet_flagNeedPaletteRemap(int spriteId, int value);
-	void spriteInfoSet_flagDelayed(int spriteId, int value);
-	void spriteInfoSet_flagMarkDirty(int spriteId, int value);
-	void spriteInfoSet_flagHasImage(int spriteId, int value);
-	void spriteInfoSet_delay(int spriteId, int value);
-	void spriteInfoSet_setClassFlag(int spriteId, int classId, int toggle);
-	void spriteInfoSet_resetClassFlags(int spriteId);
-	void spriteInfoSet_field_84(int spriteId, int value);
-	void spriteInfoSet_field_8C_90(int spriteId, int type, int value);
-
-	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);
-	void spriteGroupSet_case0_3(int spriteGroupId, int value);
-	void spriteGroupSet_case0_4(int spriteGroupId);
-	void spriteGroupSet_case0_5(int spriteGroupId, int value);
-	void spriteGroupSet_case0_6(int spriteGroupId, int value);
-	void spriteGroupSet_case0_7(int spriteGroupId, int value);
-	void spriteGroupSet_bbox(int spriteGroupId, int x1, int y1, int x2, int y2);
-	void spriteGroupSet_zorderPriority(int spriteGroupId, int value);
-	void spriteGroupSet_tx_ty(int spriteGroupId, int value1, int value2);
-	void spriteGroupSet_inc_tx_ty(int spriteGroupId, int value1, int value2);
-	void spriteGroupSet_dstResNum(int spriteGroupId, int value);
-	void spriteGroupSet_scaling(int spriteGroupId);
-	void spriteGroupSet_scale_x_ratio_mul(int spriteGroupId, int value);
-	void spriteGroupSet_scale_x_ratio_div(int spriteGroupId, int value);
-	void spriteGroupSet_scale_y_ratio_mul(int spriteGroupId, int value);
-	void spriteGroupSet_scale_y_ratio_div(int spriteGroupId, int value);
-	void spriteGroupSet_flagClipBoxAnd(int spriteGroupId);
-
-	void spritesAllocTables(int numSprites, int numGroups, int numMaxSprites);
-	void spritesResetGroup(int spriteGroupId);
-	void spritesResetTables(bool refreshScreen);
-	void spriteAddImageToList(int spriteId, int imageNum, int *spriteIdptr);
 
 	void setDefaultCursor();
 
-public:
-	void saveOrLoadSpriteData(Serializer *s, uint32 savegameVersion);
-	void spritesBlitToScreen();
-	void spritesMarkDirty(bool checkZOrder);
-	void spritesSortActiveSprites();
-	void spritesProcessWiz(bool arg);
-	void spritesUpdateImages();
-
 protected:
 	/* HE version 90 script opcodes */
 	void o90_dup_n();

Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.cpp,v
retrieving revision 1.227
retrieving revision 1.228
diff -u -d -r1.227 -r1.228
--- saveload.cpp	23 May 2005 02:00:48 -0000	1.227
+++ saveload.cpp	23 May 2005 09:30:42 -0000	1.228
@@ -1077,14 +1077,14 @@
 		MKLINE(ScummEngine_v90he, _curMaxSpriteId, sleInt32, VER(51)),
 		MKLINE(ScummEngine_v90he, _curSpriteId, sleInt32, VER(51)),
 		MKLINE(ScummEngine_v90he, _curSpriteGroupId, sleInt32, VER(51)),
-		MKLINE(ScummEngine_v90he, _numSpritesToProcess, sleInt32, VER(51)),
+		MKLINE(ScummEngine_v90he, _sprite->_numSpritesToProcess, sleInt32, VER(51)),
 		MKLINE(ScummEngine_v90he, _heObject, sleInt32, VER(51)),
 		MKLINE(ScummEngine_v90he, _heObjectNum, sleInt32, VER(51)),
 		MKLINE(ScummEngine_v90he, _hePaletteNum, sleInt32, VER(51)),
 		MKEND()
 	};
 
-	saveOrLoadSpriteData(&*s, savegameVersion);
+	_sprite->saveOrLoadSpriteData(&*s, savegameVersion);
 
 	s->saveLoadArrayOf(&_floodStateParams, 1, sizeof(_floodStateParams), floodStateEntries);
 	s->saveLoadEntries(this, HE90Entries);

Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.156
retrieving revision 2.157
diff -u -d -r2.156 -r2.157
--- script_v100he.cpp	23 May 2005 03:33:08 -0000	2.156
+++ script_v100he.cpp	23 May 2005 09:30:42 -0000	2.157
@@ -884,7 +884,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_tx_ty(_curSpriteGroupId, value1, value2);
+		_sprite->setGrouptx_ty(_curSpriteGroupId, value1, value2);
 		break;
 	case 18:
 		value4 = pop();
@@ -894,7 +894,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_bbox(_curSpriteGroupId, value1, value2, value3, value4);
+		_sprite->setGroupbbox(_curSpriteGroupId, value1, value2, value3, value4);
 		break;
 	case 38:
 		type = pop() - 1;
@@ -905,55 +905,55 @@
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_0(_curSpriteGroupId, value1, value2);
+			_sprite->setGroupCase0_0(_curSpriteGroupId, value1, value2);
 			break;
 		case 1:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_1(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_1(_curSpriteGroupId, value1);
 			break;
 		case 2:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_2(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_2(_curSpriteGroupId, value1);
 			break;
 		case 3:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_3(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_3(_curSpriteGroupId, value1);
 			break;
 		case 4:
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_4(_curSpriteGroupId);
+			_sprite->setGroupCase0_4(_curSpriteGroupId);
 			break;
 		case 5:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_5(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_5(_curSpriteGroupId, value1);
 			break;
 		case 6:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_6(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_6(_curSpriteGroupId, value1);
 			break;
 		case 7:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_7(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_7(_curSpriteGroupId, value1);
 			break;
 		default:
 			error("o100_setSpriteGroupInfo subOp 38: Unknown case %d", subOp);
@@ -964,7 +964,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_dstResNum(_curSpriteGroupId, value1);
+		_sprite->setGroupdstResNum(_curSpriteGroupId, value1);
 		break;
 	case 49:
 		value2 = pop();
@@ -972,7 +972,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_inc_tx_ty(_curSpriteGroupId, value1, value2);
+		_sprite->setGroupinc_tx_ty(_curSpriteGroupId, value1, value2);
 		break;
 	case 52:
 		copyScriptString(string, sizeof(string));
@@ -981,7 +981,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spritesResetGroup(_curSpriteGroupId);
+		_sprite->spritesResetGroup(_curSpriteGroupId);
 		break;
 	case 54:
 		// dummy case
@@ -993,7 +993,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_zorderPriority(_curSpriteGroupId, value1);
+		_sprite->setGroupzorderPriority(_curSpriteGroupId, value1);
 		break;
 	case 60:
 		type = pop();
@@ -1003,16 +1003,16 @@
 
 		switch (type) {
 		case 0:
-			spriteGroupSet_scale_x_ratio_mul(_curSpriteGroupId, value1);
+			_sprite->setGroupScale_x_ratio_mul(_curSpriteGroupId, value1);
 			break;
 		case 1:
-			spriteGroupSet_scale_x_ratio_div(_curSpriteGroupId, value1);
+			_sprite->setGroupScale_x_ratio_div(_curSpriteGroupId, value1);
 			break;
 		case 2:
-			spriteGroupSet_scale_y_ratio_mul(_curSpriteGroupId, value1);
+			_sprite->setGroupScale_y_ratio_mul(_curSpriteGroupId, value1);
 			break;
 		case 3:
-			spriteGroupSet_scale_y_ratio_div(_curSpriteGroupId, value1);
+			_sprite->setGroupScale_y_ratio_div(_curSpriteGroupId, value1);
 			break;
 		default:
 			error("o100_setSpriteGroupInfo subOp 60: Unknown case %d", subOp);
@@ -1022,7 +1022,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_flagClipBoxAnd(_curSpriteGroupId);
+		_sprite->setGroupflagClipBoxAnd(_curSpriteGroupId);
 		break;
 	default:
 		error("o100_setSpriteGroupInfo: Unknown case %d", subOp);
@@ -1715,7 +1715,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_angle(spriteId, args[0]);
+			_sprite->setSpriteAngle(spriteId, args[0]);
 		break;
 	case 3:
 		args[0] = pop();
@@ -1726,7 +1726,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_flagDelayed(spriteId, args[0]);
+			_sprite->setSpriteFlagDelayed(spriteId, args[0]);
 		break;
 	case 4:
 		args[0] = pop();
@@ -1737,7 +1737,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_delay(spriteId, args[0]);
+			_sprite->setSpriteDelay(spriteId, args[0]);
 		break;
 	case 6:
 		args[1] = pop();
@@ -1749,7 +1749,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_tx_ty(spriteId, args[0], args[1]);
+			_sprite->setSpritetx_ty(spriteId, args[0], args[1]);
 		break;
 	case 7:
 		args[0] = pop();
@@ -1760,7 +1760,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_maskImgResNum(spriteId, args[0]);
+			_sprite->setSpriteMaskImgResNum(spriteId, args[0]);
 		break;
 	case 16:
 		n = getStackList(args, ARRAYSIZE(args));
@@ -1770,15 +1770,15 @@
 				int code = *p;
 				if (code == 0) {
 					for (int i = _curSpriteId; i <= _curMaxSpriteId; ++i) {
-						spriteInfoSet_resetClassFlags(i);					
+						_sprite->setSpriteResetClassFlags(i);					
 					}
 				} else if (code & 0x80) {
 					for (int i = _curSpriteId; i <= _curMaxSpriteId; ++i) {
-						spriteInfoSet_setClassFlag(i, code & 0x7F, 1);
+						_sprite->setSpriteSetClassFlag(i, code & 0x7F, 1);
 					}
 				} else {
 					for (int i = _curSpriteId; i <= _curMaxSpriteId; ++i) {
-						spriteInfoSet_setClassFlag(i, code & 0x7F, 0);
+						_sprite->setSpriteSetClassFlag(i, code & 0x7F, 0);
 					}
 				}
 				--p;
@@ -1794,7 +1794,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_flagHasImage(spriteId, args[0]);
+			_sprite->setSpriteFlagHasImage(spriteId, args[0]);
 		break;
 	case 38:
 		args[0] = pop();
@@ -1805,7 +1805,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_groupNum(spriteId, args[0]);
+			_sprite->setSpriteGroupNum(spriteId, args[0]);
 		break;
 	case 40:
 		args[0] = pop();
@@ -1816,7 +1816,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteAddImageToList(spriteId, 1, &args[0]);
+			_sprite->spriteAddImageToList(spriteId, 1, &args[0]);
 		break;
 	case 48:
 		args[0] = pop();
@@ -1827,7 +1827,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_field_80(spriteId, args[0]);
+			_sprite->setSpriteField80(spriteId, args[0]);
 		break;
 	case 49:
 		args[1] = pop();
@@ -1839,7 +1839,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_Inc_tx_ty(spriteId, args[0], args[1]);
+			_sprite->setSpriteInc_tx_ty(spriteId, args[0], args[1]);
 		break;
 	case 52:
 		copyScriptString(string, sizeof(string));
@@ -1852,7 +1852,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_resetSprite(spriteId);
+			_sprite->setSpriteResetSprite(spriteId);
 		break;
 	case 54:
 		args[1] = pop();
@@ -1864,7 +1864,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_field_8C_90(spriteId, args[0], args[1]);
+			_sprite->setSpriteField8C_90(spriteId, args[0], args[1]);
 		break;
 	case 57:
 		args[0] = pop();
@@ -1875,7 +1875,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_paletteNum(spriteId, args[0]);
+			_sprite->setSpritePaletteNum(spriteId, args[0]);
 		break;
 	case 59:
 		args[0] = pop();
@@ -1886,7 +1886,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_zorderPriority(spriteId, args[0]);
+			_sprite->setSpriteZorderPriority(spriteId, args[0]);
 		break;
 	case 60:
 		args[1] = pop();
@@ -1900,26 +1900,26 @@
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
 			switch(args[1]) {
 			case 0:
-				spriteInfoSet_flagXFlipped(spriteId, args[0]);
+				_sprite->setSpriteFlagXFlipped(spriteId, args[0]);
 				break;
 			case 1:
-				spriteInfoSet_flagYFlipped(spriteId, args[0]);
+				_sprite->setSpriteFlagYFlipped(spriteId, args[0]);
 				break;
 			case 2:
-				spriteInfoSet_flagActive(spriteId, args[0]);
+				_sprite->setSpriteFlagActive(spriteId, args[0]);
 				break;
 			case 3:
-				spriteInfoSet_flagDoubleBuffered(spriteId, args[0]);
+				_sprite->setSpriteFlagDoubleBuffered(spriteId, args[0]);
 				break;
 			case 4:
-				spriteInfoSet_flagNeedPaletteRemap(spriteId, args[0]);
+				_sprite->setSpriteFlagNeedPaletteRemap(spriteId, args[0]);
 				break;
 			default:
 				break;
 			}
 		break;
 	case 61:
-		spritesResetTables(true);
+		_sprite->spritesResetTables(true);
 		break;
 	case 65:
 		args[0] = pop();
@@ -1930,7 +1930,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_zoom(spriteId, args[0]);
+			_sprite->setSpriteZoom(spriteId, args[0]);
 		break;
 	case 70:
 		args[0] = pop();
@@ -1941,7 +1941,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_xmapNum(spriteId, args[0]);
+			_sprite->setSpriteXmapNum(spriteId, args[0]);
 		break;
 	case 73:
 		args[0] = pop();
@@ -1952,7 +1952,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_resState(spriteId, args[0]);
+			_sprite->setSpriteResState(spriteId, args[0]);
 		break;
 	case 74:
 		args[1] = pop();
@@ -1964,7 +1964,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_dx_dy(spriteId, args[0], args[1]);
+			_sprite->setSpritedx_dy(spriteId, args[0], args[1]);
 		break;
 	case 75:
 		args[0] = pop();
@@ -1975,8 +1975,8 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++) {
-			spriteInfoGet_dx_dy(spriteId, tmp[0], tmp[1]);
-			spriteInfoSet_dx_dy(spriteId, args[0], tmp[1]);
+			_sprite->getSpritedx_dy(spriteId, tmp[0], tmp[1]);
+			_sprite->setSpritedx_dy(spriteId, args[0], tmp[1]);
 		}
 		break;
 	case 76:
@@ -1988,8 +1988,8 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++) {
-			spriteInfoGet_dx_dy(spriteId, tmp[0], tmp[1]);
-			spriteInfoSet_dx_dy(spriteId, tmp[0], args[0]);
+			_sprite->getSpritedx_dy(spriteId, tmp[0], tmp[1]);
+			_sprite->setSpritedx_dy(spriteId, tmp[0], args[0]);
 		}
 		break;
 	case 82:
@@ -2001,7 +2001,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_flagMarkDirty(spriteId, args[0]);
+			_sprite->setSpriteFlagMarkDirty(spriteId, args[0]);
 		break;
 	case 83:
 		args[1] = pop();
@@ -2013,7 +2013,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_field_44(spriteId, args[0], args[1]);
+			_sprite->setSpriteField44(spriteId, args[0], args[1]);
 		break;
 	case 88:
 		args[0] = pop();
@@ -2024,7 +2024,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_field_84(spriteId, args[0]);
+			_sprite->setSpriteField84(spriteId, args[0]);
 		break;
 	case 89:
 		if (_curSpriteId > _curMaxSpriteId)
@@ -2034,7 +2034,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_field_84(spriteId, 0);
+			_sprite->setSpriteField84(spriteId, 0);
 		break;
 	default:
 		error("o100_setSpriteInfo: Unknown case %d", subOp);
@@ -2273,14 +2273,14 @@
 	case 5:
 		spriteGroupId = pop();
 		if (spriteGroupId)
-			push(spriteGroupGet_allocateGroupSpritesList(spriteGroupId));
+			push(getGroupallocateGroupSpritesList(spriteGroupId));
 		else
 			push(0);
 		break;
 	case 40:
 		spriteGroupId = pop();
 		if (spriteGroupId)
-			push(spriteGroupGet_dstResNum(spriteGroupId));
+			push(_sprite->getGroupdstResNum(spriteGroupId));
 		else
 			push(0);
 		break;
@@ -2293,7 +2293,7 @@
 	case 59:
 		spriteGroupId = pop();
 		if (spriteGroupId)
-			push(spriteGroupGet_zorderPriority(spriteGroupId));
+			push(_sprite->getGroupzorderPriority(spriteGroupId));
 		else
 			push(0);
 		break;
@@ -2303,16 +2303,16 @@
 		if (spriteGroupId) {
 			switch(type) {
 			case 0:
-				push(spriteGroupGet_scale_x_ratio_mul(spriteGroupId));
+				push(_sprite->getGroupScale_x_ratio_mul(spriteGroupId));
 				break;
 			case 1:
-				push(spriteGroupGet_scale_x_ratio_div(spriteGroupId));
+				push(_sprite->getGroupScale_x_ratio_div(spriteGroupId));
 				break;
 			case 2:
-				push(spriteGroupGet_scale_y_ratio_mul(spriteGroupId));
+				push(_sprite->getGroupScale_y_ratio_mul(spriteGroupId));
 				break;
 			case 3:
-				push(spriteGroupGet_scale_y_ratio_div(spriteGroupId));
+				push(_sprite->getGroupScale_y_ratio_div(spriteGroupId));
 				break;
 			default:
 				push(0);
@@ -2324,7 +2324,7 @@
 	case 85:
 		spriteGroupId = pop();
 		if (spriteGroupId) {
-			spriteGroupGet_tx_ty(spriteGroupId, tx, ty);
+			_sprite->getGrouptx_ty(spriteGroupId, tx, ty);
 			push(tx);
 		} else {
 			push(0);
@@ -2333,7 +2333,7 @@
 	case 86:
 		spriteGroupId = pop();
 		if (spriteGroupId) {
-			spriteGroupGet_tx_ty(spriteGroupId, tx, ty);
+			_sprite->getGrouptx_ty(spriteGroupId, tx, ty);
 			push(ty);
 		} else {
 			push(0);
@@ -2523,21 +2523,21 @@
 	case 3:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_flagDelayed(spriteId));
+			push(_sprite->getSpriteFlagDelayed(spriteId));
 		else
 			push(0);
 		break;
 	case 4:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_delayAmount(spriteId));
+			push(_sprite->getSpritedelayAmount(spriteId));
 		else
 			push(1);
 		break;
 	case 7:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_maskImgResNum(spriteId));
+			push(_sprite->getSpritemaskImgResNum(spriteId));
 		else
 			push(0);
 		break;
@@ -2545,7 +2545,7 @@
 		flags = getStackList(args, ARRAYSIZE(args));
 		spriteId = pop();
 		if (spriteId) {
-			push(spriteInfoGet_classFlags(spriteId, flags, args));
+			push(_sprite->getSpriteclassFlags(spriteId, flags, args));
 		} else {
 			push(0);
 		}
@@ -2553,28 +2553,28 @@
 	case 26:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_wizSize(spriteId));
+			push(_sprite->getSpritewizSize(spriteId));
 		else
 			push(0);
 		break;
 	case 30:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_grp_tx(spriteId));
+			push(_sprite->getSpritegrp_tx(spriteId));
 		else
 			push(0);
 		break;
 	case 31:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_grp_ty(spriteId));
+			push(_sprite->getSpritegrp_ty(spriteId));
 		else
 			push(0);
 		break;
 	case 32:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_flagHasImage(spriteId));
+			push(_sprite->getSpriteFlagHasImage(spriteId));
 		else
 			push(1);
 		break;
@@ -2584,19 +2584,19 @@
 		d = pop();
 		e = pop();
 		f = pop();
-		push(findSpriteWithClassOf(f, e, d, c, flags, args));
+		push(_sprite->findSpriteWithClassOf(f, e, d, c, flags, args));
 		break;
 	case 38:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_groupNum(spriteId));
+			push(_sprite->getSpriteGroupNum(spriteId));
 		else
 			push(0);
 		break;
 	case 39:
 		spriteId = pop();
 		if (spriteId) {
-			getSpriteImageDim(spriteId, a, b);
+			_sprite->getSpriteImageDim(spriteId, a, b);
 			push(b);
 		} else {
 			push(0);
@@ -2605,14 +2605,14 @@
 	case 40:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_resId(spriteId));
+			push(_sprite->getSpriteResId(spriteId));
 		else
 			push(0);
 		break;
 	case 48:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_field_80(spriteId));
+			push(_sprite->getSpriteField_80(spriteId));
 		else
 			push(0);
 		break;
@@ -2620,21 +2620,21 @@
 		flags = pop();
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_field_8C_90(spriteId, flags));
+			push(_sprite->getSpriteField_8C_90(spriteId, flags));
 		else
 			push(0);
 		break;
 	case 57:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_paletteNum(spriteId));
+			push(_sprite->getSpritePaletteNum(spriteId));
 		else
 			push(0);
 		break;
 	case 59:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_zorderPriority(spriteId));
+			push(_sprite->getSpriteZorderPriority(spriteId));
 		else
 			push(0);
 		break;
@@ -2644,19 +2644,19 @@
 		if (spriteId) {
 			switch(flags) {
 			case 0:
-				push(spriteInfoGet_flagXFlipped(spriteId));
+				push(_sprite->getSpriteFlagXFlipped(spriteId));
 				break;
 			case 1:
-				push(spriteInfoGet_flagYFlipped(spriteId));
+				push(_sprite->getSpriteFlagYFlipped(spriteId));
 				break;
 			case 2:
-				push(spriteInfoGet_flagActive(spriteId));
+				push(_sprite->getSpriteFlagActive(spriteId));
 				break;
 			case 3:
-				push(spriteInfoGet_flagDoubleBuffered(spriteId));
+				push(_sprite->getSpriteFlagDoubleBuffered(spriteId));
 				break;
 			case 4:
-				push(spriteInfoGet_flagNeedPaletteRemap(spriteId));
+				push(_sprite->getSpriteFlagNeedPaletteRemap(spriteId));
 				break;
 			default:
 				push(0);
@@ -2668,28 +2668,28 @@
 	case 65:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_zoom(spriteId));
+			push(_sprite->getSpritezoom(spriteId));
 		else
 			push(0);
 		break;
 	case 70:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_xmapNum(spriteId));
+			push(_sprite->getSpriteXmapNum(spriteId));
 		else
 			push(0);
 		break;
 	case 73:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_resState(spriteId));
+			push(_sprite->getSpriteResState(spriteId));
 		else
 			push(0);
 		break;
 	case 75:
 		spriteId = pop();
 		if (spriteId) {
-			spriteInfoGet_dx_dy(spriteId, a, b);
+			_sprite->getSpritedx_dy(spriteId, a, b);
 			push(a);
 		} else {
 			push(0);
@@ -2698,7 +2698,7 @@
 	case 76:
 		spriteId = pop();
 		if (spriteId) {
-			spriteInfoGet_dx_dy(spriteId, a, b);
+			_sprite->getSpritedx_dy(spriteId, a, b);
 			push(b);
 		} else {
 			push(0);
@@ -2707,7 +2707,7 @@
 	case 82:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_flagMarkDirty(spriteId));
+			push(_sprite->getSpriteFlagMarkDirty(spriteId));
 		else
 			push(0);
 		break;
@@ -2715,14 +2715,14 @@
 		pop();
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_field_44(spriteId));
+			push(_sprite->getSpriteField_44(spriteId));
 		else
 			push(0);
 		break;
 	case 84:
 		spriteId = pop();
 		if (spriteId) {
-			getSpriteImageDim(spriteId, a, b);
+			_sprite->getSpriteImageDim(spriteId, a, b);
 			push(a);
 		} else {
 			push(0);
@@ -2731,7 +2731,7 @@
 	case 85:
 		spriteId = pop();
 		if (spriteId) {
-			spriteInfoGet_tx_ty(spriteId, a, b);
+			_sprite->getSpritetx_ty(spriteId, a, b);
 			push(a);
 		} else {
 			push(0);
@@ -2740,7 +2740,7 @@
 	case 86:
 		spriteId = pop();
 		if (spriteId) {
-			spriteInfoGet_tx_ty(spriteId, a, b);
+			_sprite->getSpritetx_ty(spriteId, a, b);
 			push(b);
 		} else {
 			push(0);

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.261
retrieving revision 2.262
diff -u -d -r2.261 -r2.262
--- script_v90he.cpp	23 May 2005 03:33:08 -0000	2.261
+++ script_v90he.cpp	23 May 2005 09:30:42 -0000	2.262
@@ -846,7 +846,7 @@
 	case 0:
 		spriteId = pop();
 		if (spriteId) {
-			spriteInfoGet_tx_ty(spriteId, a, b);
+			_sprite->getSpritetx_ty(spriteId, a, b);
 			push(a);
 		} else {
 			push(0);
@@ -855,7 +855,7 @@
 	case 1:
 		spriteId = pop();
 		if (spriteId) {
-			spriteInfoGet_tx_ty(spriteId, a, b);
+			_sprite->getSpritetx_ty(spriteId, a, b);
 			push(b);
 		} else {
 			push(0);
@@ -864,7 +864,7 @@
 	case 2:
 		spriteId = pop();
 		if (spriteId) {
-			getSpriteImageDim(spriteId, a, b);
+			_sprite->getSpriteImageDim(spriteId, a, b);
 			push(a);
 		} else {
 			push(0);
@@ -873,7 +873,7 @@
 	case 3:
 		spriteId = pop();
 		if (spriteId) {
-			getSpriteImageDim(spriteId, a, b);
+			_sprite->getSpriteImageDim(spriteId, a, b);
 			push(b);
 		} else {
 			push(0);
@@ -882,7 +882,7 @@
 	case 4:
 		spriteId = pop();
 		if (spriteId) {
-			spriteInfoGet_dx_dy(spriteId, a, b);
+			_sprite->getSpritedx_dy(spriteId, a, b);
 			push(a);
 		} else {
 			push(0);
@@ -891,7 +891,7 @@
 	case 5:
 		spriteId = pop();
 		if (spriteId) {
-			spriteInfoGet_dx_dy(spriteId, a, b);
+			_sprite->getSpritedx_dy(spriteId, a, b);
 			push(b);
 		} else {
 			push(0);
@@ -900,28 +900,28 @@
 	case 6:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_wizSize(spriteId));
+			push(_sprite->getSpritewizSize(spriteId));
 		else
 			push(0);
 		break;
 	case 7:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_groupNum(spriteId));
+			push(_sprite->getSpriteGroupNum(spriteId));
 		else
 			push(0);
 		break;
 	case 8:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_grp_tx(spriteId));
+			push(_sprite->getSpritegrp_tx(spriteId));
 		else
 			push(0);
 		break;
 	case 9:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_grp_ty(spriteId));
+			push(_sprite->getSpritegrp_ty(spriteId));
 		else
 			push(0);
 		break;
@@ -931,19 +931,19 @@
 		if (spriteId) {
 			switch(flags) {
 			case 0:
-				push(spriteInfoGet_flagXFlipped(spriteId));
+				push(_sprite->getSpriteFlagXFlipped(spriteId));
 				break;
 			case 1:
-				push(spriteInfoGet_flagYFlipped(spriteId));
+				push(_sprite->getSpriteFlagYFlipped(spriteId));
 				break;
 			case 2:
-				push(spriteInfoGet_flagActive(spriteId));
+				push(_sprite->getSpriteFlagActive(spriteId));
 				break;
 			case 3:
-				push(spriteInfoGet_flagDoubleBuffered(spriteId));
+				push(_sprite->getSpriteFlagDoubleBuffered(spriteId));
 				break;
 			case 4:
-				push(spriteInfoGet_flagNeedPaletteRemap(spriteId));
+				push(_sprite->getSpriteFlagNeedPaletteRemap(spriteId));
 				break;
 			default:
 				push(0);
@@ -955,7 +955,7 @@
 	case 13:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_zorderPriority(spriteId));
+			push(_sprite->getSpriteZorderPriority(spriteId));
 		else
 			push(0);
 		break;
@@ -966,87 +966,87 @@
 			d = pop();
 			e = pop();
 			f = pop();
-			push(findSpriteWithClassOf(f, e, d, c, flags, args));
+			push(_sprite->findSpriteWithClassOf(f, e, d, c, flags, args));
 		} else if (_heversion == 98) {
 			c = pop();
 			d = pop();
 			e = pop();
 			f = pop();
-			push(findSpriteWithClassOf(f, e, d, c, 0, 0));
+			push(_sprite->findSpriteWithClassOf(f, e, d, c, 0, 0));
 		} else {
 			d = pop();
 			e = pop();
 			f = pop();
-			push(findSpriteWithClassOf(f, e, d, 0, 0, 0));
+			push(_sprite->findSpriteWithClassOf(f, e, d, 0, 0, 0));
 		}
 		break;
 	case 22:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_resState(spriteId));
+			push(_sprite->getSpriteResState(spriteId));
 		else
 			push(0);
 		break;
 	case 32:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_maskImgResNum(spriteId));
+			push(_sprite->getSpritemaskImgResNum(spriteId));
 		else
 			push(0);
 		break;
 	case 33:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_resId(spriteId));
+			push(_sprite->getSpriteResId(spriteId));
 		else
 			push(0);
 		break;
 	case 38:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_flagHasImage(spriteId));
+			push(_sprite->getSpriteFlagHasImage(spriteId));
 		else
 			push(1);
 		break;
 	case 52:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_flagDelayed(spriteId));
+			push(_sprite->getSpriteFlagDelayed(spriteId));
 		else
 			push(0);
 		break;
 	case 56:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_paletteNum(spriteId));
+			push(_sprite->getSpritePaletteNum(spriteId));
 		else
 			push(0);
 		break;
 	case 62:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_zoom(spriteId));
+			push(_sprite->getSpritezoom(spriteId));
 		else
 			push(0);
 		break;
 	case 67:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_delayAmount(spriteId));
+			push(_sprite->getSpritedelayAmount(spriteId));
 		else
 			push(1);
 		break;
 	case 68:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_xmapNum(spriteId));
+			push(_sprite->getSpriteXmapNum(spriteId));
 		else
 			push(0);
 		break;
 	case 94:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_flagMarkDirty(spriteId));
+			push(_sprite->getSpriteFlagMarkDirty(spriteId));
 		else
 			push(0);
 		break;
@@ -1054,7 +1054,7 @@
 		flags = getStackList(args, ARRAYSIZE(args));
 		spriteId = pop();
 		if (spriteId) {
-			push(spriteInfoGet_classFlags(spriteId, flags, args));
+			push(_sprite->getSpriteclassFlags(spriteId, flags, args));
 		} else {
 			push(0);
 		}
@@ -1063,14 +1063,14 @@
 		flags = pop();
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_field_8C_90(spriteId, flags));
+			push(_sprite->getSpriteField_8C_90(spriteId, flags));
 		else
 			push(0);
 		break;
 	case 110:
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_field_80(spriteId));
+			push(_sprite->getSpriteField_80(spriteId));
 		else
 			push(0);
 		break;
@@ -1078,7 +1078,7 @@
 		pop();
 		spriteId = pop();
 		if (spriteId)
-			push(spriteInfoGet_field_44(spriteId));
+			push(_sprite->getSpriteField_44(spriteId));
 		else
 			push(0);
 		break;
@@ -1107,8 +1107,8 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++) {
-			spriteInfoGet_dx_dy(spriteId, tmp[0], tmp[1]);
-			spriteInfoSet_dx_dy(spriteId, args[0], tmp[1]);
+			_sprite->getSpritedx_dy(spriteId, tmp[0], tmp[1]);
+			_sprite->setSpritedx_dy(spriteId, args[0], tmp[1]);
 		}
 		break;
 	case 1:
@@ -1120,8 +1120,8 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++) {
-			spriteInfoGet_dx_dy(spriteId, tmp[0], tmp[1]);
-			spriteInfoSet_dx_dy(spriteId, tmp[0], args[0]);
+			_sprite->getSpritedx_dy(spriteId, tmp[0], tmp[1]);
+			_sprite->setSpritedx_dy(spriteId, tmp[0], args[0]);
 		}
 		break;
 	case 3:
@@ -1133,7 +1133,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_groupNum(spriteId, args[0]);
+			_sprite->setSpriteGroupNum(spriteId, args[0]);
 		break;
 	case 8:
 		args[1] = pop();
@@ -1147,19 +1147,19 @@
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
 			switch(args[1]) {
 			case 0:
-				spriteInfoSet_flagXFlipped(spriteId, args[0]);
+				_sprite->setSpriteFlagXFlipped(spriteId, args[0]);
 				break;
 			case 1:
-				spriteInfoSet_flagYFlipped(spriteId, args[0]);
+				_sprite->setSpriteFlagYFlipped(spriteId, args[0]);
 				break;
 			case 2:
-				spriteInfoSet_flagActive(spriteId, args[0]);
+				_sprite->setSpriteFlagActive(spriteId, args[0]);
 				break;
 			case 3:
-				spriteInfoSet_flagDoubleBuffered(spriteId, args[0]);
+				_sprite->setSpriteFlagDoubleBuffered(spriteId, args[0]);
 				break;
 			case 4:
-				spriteInfoSet_flagNeedPaletteRemap(spriteId, args[0]);
+				_sprite->setSpriteFlagNeedPaletteRemap(spriteId, args[0]);
 				break;
 			default:
 				break;
@@ -1174,7 +1174,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_zorderPriority(spriteId, args[0]);
+			_sprite->setSpriteZorderPriority(spriteId, args[0]);
 		break;
 	case 10:
 		args[1] = pop();
@@ -1186,7 +1186,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_Inc_tx_ty(spriteId, args[0], args[1]);
+			_sprite->setSpriteInc_tx_ty(spriteId, args[0], args[1]);
 		break;
 	case 18:
 		args[0] = pop();
@@ -1197,7 +1197,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_resState(spriteId, args[0]);
+			_sprite->setSpriteResState(spriteId, args[0]);
 		break;
 	case 19:
 		args[0] = pop();
@@ -1208,7 +1208,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_angle(spriteId, args[0]);
+			_sprite->setSpriteAngle(spriteId, args[0]);
 		break;
 	case 23:
 		if (_features & GF_HE_985 || _heversion >= 99) {
@@ -1231,7 +1231,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_maskImgResNum(spriteId, args[0]);
+			_sprite->setSpriteMaskImgResNum(spriteId, args[0]);
 		break;
 	case 29:
 		args[0] = pop();
@@ -1242,7 +1242,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteAddImageToList(spriteId, 1, &args[0]);
+			_sprite->spriteAddImageToList(spriteId, 1, &args[0]);
 		break;
 	case 31:
 		args[1] = pop();
@@ -1254,7 +1254,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_tx_ty(spriteId, args[0], args[1]);
+			_sprite->setSpritetx_ty(spriteId, args[0], args[1]);
 		break;
 	case 34:
 		args[0] = pop();
@@ -1265,7 +1265,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_flagHasImage(spriteId, args[0]);
+			_sprite->setSpriteFlagHasImage(spriteId, args[0]);
 		break;
 	case 43:
 		args[1] = pop();
@@ -1277,7 +1277,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_dx_dy(spriteId, args[0], args[1]);
+			_sprite->setSpritedx_dy(spriteId, args[0], args[1]);
 		break;
 	case 48:
 		args[0] = pop();
@@ -1288,7 +1288,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_flagDelayed(spriteId, args[0]);
+			_sprite->setSpriteFlagDelayed(spriteId, args[0]);
 		break;
 	case 52: // HE 98+
 		args[0] = pop();
@@ -1299,7 +1299,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_paletteNum(spriteId, args[0]);
+			_sprite->setSpritePaletteNum(spriteId, args[0]);
 		break;
 	case 58: // HE 99+
 		args[0] = pop();
@@ -1310,7 +1310,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_zoom(spriteId, args[0]);
+			_sprite->setSpriteZoom(spriteId, args[0]);
 		break;
 	case 63: // HE 98+
 		args[0] = pop();
@@ -1321,7 +1321,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_delay(spriteId, args[0]);
+			_sprite->setSpriteDelay(spriteId, args[0]);
 		break;
 	case 64:
 		args[0] = pop();
@@ -1332,7 +1332,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_xmapNum(spriteId, args[0]);
+			_sprite->setSpriteXmapNum(spriteId, args[0]);
 		break;
 	case 90:
 		args[0] = pop();
@@ -1343,7 +1343,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_flagMarkDirty(spriteId, args[0]);
+			_sprite->setSpriteFlagMarkDirty(spriteId, args[0]);
 		break;
 	case 91:
 		n = getStackList(args, ARRAYSIZE(args));
@@ -1353,15 +1353,15 @@
 				int code = *p;
 				if (code == 0) {
 					for (int i = _curSpriteId; i <= _curMaxSpriteId; ++i) {
-						spriteInfoSet_resetClassFlags(i);					
+						_sprite->setSpriteResetClassFlags(i);					
 					}
 				} else if (code & 0x80) {
 					for (int i = _curSpriteId; i <= _curMaxSpriteId; ++i) {
-						spriteInfoSet_setClassFlag(i, code & 0x7F, 1);
+						_sprite->setSpriteSetClassFlag(i, code & 0x7F, 1);
 					}
 				} else {
 					for (int i = _curSpriteId; i <= _curMaxSpriteId; ++i) {
-						spriteInfoSet_setClassFlag(i, code & 0x7F, 0);
+						_sprite->setSpriteSetClassFlag(i, code & 0x7F, 0);
 					}
 				}
 				--p;
@@ -1378,7 +1378,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_field_8C_90(spriteId, args[0], args[1]);
+			_sprite->setSpriteField8C_90(spriteId, args[0], args[1]);
 		break;
 	case 106: // HE 99+
 		args[0] = pop();
@@ -1389,10 +1389,10 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_field_80(spriteId, args[0]);
+			_sprite->setSpriteField80(spriteId, args[0]);
 		break;
 	case 124:
-		spritesResetTables(true);
+		_sprite->spritesResetTables(true);
 		break;
 	case 164:
 		args[1] = pop();
@@ -1404,7 +1404,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_field_44(spriteId, args[0], args[1]);
+			_sprite->setSpriteField44(spriteId, args[0], args[1]);
 		break;
 	case 183:
 		if (_curSpriteId > _curMaxSpriteId)
@@ -1414,7 +1414,7 @@
 			spriteId++;
 
 		for (; spriteId <= _curMaxSpriteId; spriteId++)
-			spriteInfoSet_resetSprite(spriteId);
+			_sprite->setSpriteResetSprite(spriteId);
 		break;
 	default:
 		error("o90_setSpriteInfo: Unknown case %d", subOp);
@@ -1432,14 +1432,14 @@
 	case 8: // HE 99+
 		spriteGroupId = pop();
 		if (spriteGroupId)
-			push(spriteGroupGet_allocateGroupSpritesList(spriteGroupId));
+			push(getGroupallocateGroupSpritesList(spriteGroupId));
 		else
 			push(0);
 		break;
 	case 30:
 		spriteGroupId = pop();
 		if (spriteGroupId) {
-			spriteGroupGet_tx_ty(spriteGroupId, tx, ty);
+			_sprite->getGrouptx_ty(spriteGroupId, tx, ty);
 			push(tx);
 		} else {
 			push(0);
@@ -1448,7 +1448,7 @@
 	case 31:
 		spriteGroupId = pop();
 		if (spriteGroupId) {
-			spriteGroupGet_tx_ty(spriteGroupId, tx, ty);
+			_sprite->getGrouptx_ty(spriteGroupId, tx, ty);
 			push(ty);
 		} else {
 			push(0);
@@ -1460,16 +1460,16 @@
 		if (spriteGroupId) {
 			switch(type) {
 			case 0:
-				push(spriteGroupGet_scale_x_ratio_mul(spriteGroupId));
+				push(_sprite->getGroupScale_x_ratio_mul(spriteGroupId));
 				break;
 			case 1:
-				push(spriteGroupGet_scale_x_ratio_div(spriteGroupId));
+				push(_sprite->getGroupScale_x_ratio_div(spriteGroupId));
 				break;
 			case 2:
-				push(spriteGroupGet_scale_y_ratio_mul(spriteGroupId));
+				push(_sprite->getGroupScale_y_ratio_mul(spriteGroupId));
 				break;
 			case 3:
-				push(spriteGroupGet_scale_y_ratio_div(spriteGroupId));
+				push(_sprite->getGroupScale_y_ratio_div(spriteGroupId));
 				break;
 			default:
 				push(0);
@@ -1481,14 +1481,14 @@
 	case 43:
 		spriteGroupId = pop();
 		if (spriteGroupId)
-			push(spriteGroupGet_zorderPriority(spriteGroupId));
+			push(_sprite->getGroupzorderPriority(spriteGroupId));
 		else
 			push(0);
 		break;
 	case 63: // HE 99+
 		spriteGroupId = pop();
 		if (spriteGroupId)
-			push(spriteGroupGet_dstResNum(spriteGroupId));
+			push(_sprite->getGroupdstResNum(spriteGroupId));
 		else
 			push(0);
 		break;
@@ -1520,55 +1520,55 @@
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_0(_curSpriteGroupId, value1, value2);
+			_sprite->setGroupCase0_0(_curSpriteGroupId, value1, value2);
 			break;
 		case 1:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_1(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_1(_curSpriteGroupId, value1);
 			break;
 		case 2:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_2(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_2(_curSpriteGroupId, value1);
 			break;
 		case 3:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_3(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_3(_curSpriteGroupId, value1);
 			break;
 		case 4:
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_4(_curSpriteGroupId);
+			_sprite->setGroupCase0_4(_curSpriteGroupId);
 			break;
 		case 5:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_5(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_5(_curSpriteGroupId, value1);
 			break;
 		case 6:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_6(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_6(_curSpriteGroupId, value1);
 			break;
 		case 7:
 			value1 = pop();
 			if (!_curSpriteGroupId)
 				break;
 
-			spriteGroupSet_case0_7(_curSpriteGroupId, value1);
+			_sprite->setGroupCase0_7(_curSpriteGroupId, value1);
 			break;
 		default:
 			error("o90_setSpriteGroupInfo subOp 0: Unknown case %d", subOp);
@@ -1582,16 +1582,16 @@
 
 		switch (type) {
 		case 0:
-			spriteGroupSet_scale_x_ratio_mul(_curSpriteGroupId, value1);
+			_sprite->setGroupScale_x_ratio_mul(_curSpriteGroupId, value1);
 			break;
 		case 1:
-			spriteGroupSet_scale_x_ratio_div(_curSpriteGroupId, value1);
+			_sprite->setGroupScale_x_ratio_div(_curSpriteGroupId, value1);
 			break;
 		case 2:
-			spriteGroupSet_scale_y_ratio_mul(_curSpriteGroupId, value1);
+			_sprite->setGroupScale_y_ratio_mul(_curSpriteGroupId, value1);
 			break;
 		case 3:
-			spriteGroupSet_scale_y_ratio_div(_curSpriteGroupId, value1);
+			_sprite->setGroupScale_y_ratio_div(_curSpriteGroupId, value1);
 			break;
 		default:
 			error("o90_setSpriteGroupInfo subOp 5: Unknown case %d", subOp);
@@ -1602,7 +1602,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_zorderPriority(_curSpriteGroupId, value1);
+		_sprite->setGroupzorderPriority(_curSpriteGroupId, value1);
 		break;
 	case 7:
 		value2 = pop();
@@ -1610,7 +1610,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_inc_tx_ty(_curSpriteGroupId, value1, value2);
+		_sprite->setGroupinc_tx_ty(_curSpriteGroupId, value1, value2);
 		break;
 	case 20:
 		_curSpriteGroupId = pop();
@@ -1620,7 +1620,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_dstResNum(_curSpriteGroupId, value1);
+		_sprite->setGroupdstResNum(_curSpriteGroupId, value1);
 		break;
 	case 28:
 		value2 = pop();
@@ -1628,7 +1628,7 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_tx_ty(_curSpriteGroupId, value1, value2);
+		_sprite->setGrouptx_ty(_curSpriteGroupId, value1, value2);
 		break;
 	case 30:
 		value4 = pop();
@@ -1638,19 +1638,19 @@
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_bbox(_curSpriteGroupId, value1, value2, value3, value4);
+		_sprite->setGroupbbox(_curSpriteGroupId, value1, value2, value3, value4);
 		break;
 	case 56:
 		if (!_curSpriteGroupId)
 			break;
 
-		spriteGroupSet_flagClipBoxAnd(_curSpriteGroupId);
+		_sprite->setGroupflagClipBoxAnd(_curSpriteGroupId);
 		break;
 	case 180:
 		if (!_curSpriteGroupId)
 			break;
 
-		spritesResetGroup(_curSpriteGroupId);
+		_sprite->spritesResetGroup(_curSpriteGroupId);
 		break;
 	default:
 		error("o90_setSpriteGroupInfo: Unknown case %d", subOp);
@@ -1907,8 +1907,8 @@
 	case 6:
 		{
 			Common::Rect r1, r2;
-			getSpriteBounds(args2[0], false, r2);
-			getSpriteBounds(args1[0], false, r1);
+			_sprite->getSpriteBounds(args2[0], false, r2);
+			_sprite->getSpriteBounds(args1[0], false, r1);
 			if (r2.isValidRect() == false) {
 				push(0);
 				break;
@@ -1932,7 +1932,7 @@
 	case 7:
 		{
 			Common::Rect r2;
-			getSpriteBounds(args2[0], false, r2);
+			_sprite->getSpriteBounds(args2[0], false, r2);
 			Common::Rect r1(args1[0], args1[1], args1[2], args1[3]);
 			if (r2.isValidRect() == false) {
 				push(0);
@@ -1952,8 +1952,8 @@
 	case 10:	// TODO: redraw image
 		{
 			Common::Rect r1, r2;
-			getSpriteBounds(args2[0], true, r2);
-			getSpriteBounds(args1[0], true, r1);
+			_sprite->getSpriteBounds(args2[0], true, r2);
+			_sprite->getSpriteBounds(args1[0], true, r1);
 			if (r2.isValidRect() == false) {
 				push(0);
 				break;
@@ -1977,7 +1977,7 @@
 	case 9:
 		{
 			Common::Rect r2;
-			getSpriteBounds(args2[0], true, r2);
+			_sprite->getSpriteBounds(args2[0], true, r2);
 			Common::Rect r1(args1[0], args1[1], args1[2], args1[3]);
 			if (r2.isValidRect() == false) {
 				push(0);
@@ -2603,7 +2603,7 @@
 	case 714:
 		break;
 	case 1492:
-		spriteInfoSet_flagDoubleBuffered(args[1], args[2]);
+		_sprite->setSpriteFlagDoubleBuffered(args[1], args[2]);
 		break;
 	case 1969:
 		a = derefActor(args[1], "o90_kernelSetFunctions: 1969");

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.533
retrieving revision 1.534
diff -u -d -r1.533 -r1.534
--- scumm.cpp	23 May 2005 03:33:08 -0000	1.533
+++ scumm.cpp	23 May 2005 09:30:42 -0000	1.534
@@ -1372,6 +1372,12 @@
 	_heSBNGId = 0;
 }
 
+ScummEngine_v90he::ScummEngine_v90he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16], int substResFileNameIndex)
+	: ScummEngine_v80he(detector, syst, gs, md5sum, substResFileNameIndex) {
+
+	_sprite = new Sprite(this);
+}
+
 ScummEngine_v90he::~ScummEngine_v90he() {
 	if (_heversion >= 98) {
 		delete _logicHE;
@@ -1830,7 +1836,7 @@
 	_heObjectNum = 0;
 	_hePaletteNum = 0;
 
-	spritesResetTables(0);
+	_sprite->spritesResetTables(0);
 	memset(&_wizParams, 0, sizeof(_wizParams));
 
 	if (_features & GF_HE_CURSORLESS)
@@ -2262,8 +2268,8 @@
 
 #ifndef DISABLE_HE
 		if (_heversion >= 90) {
-			((ScummEngine_v90he *)this)->spritesBlitToScreen();
-			((ScummEngine_v90he *)this)->spritesSortActiveSprites();
+			((ScummEngine_v90he *)this)->_sprite->spritesBlitToScreen();
+			((ScummEngine_v90he *)this)->_sprite->spritesSortActiveSprites();
 		}
 #endif
 	
@@ -2323,7 +2329,7 @@
 
 #ifndef DISABLE_HE
 	if (_heversion >= 90) {
-		((ScummEngine_v90he *)this)->spritesUpdateImages();
+		((ScummEngine_v90he *)this)->_sprite->spritesUpdateImages();
 	}
 	if (_heversion >= 98) {
 		((ScummEngine_v90he *)this)->_logicHE->endOfFrame();

Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -d -r1.142 -r1.143
--- sprite_he.cpp	23 May 2005 03:33:08 -0000	1.142
+++ sprite_he.cpp	23 May 2005 09:30:43 -0000	1.143
@@ -33,12 +33,15 @@
 
 namespace Scumm {
 
+Sprite::Sprite(ScummEngine_v90he *vm) : _vm(vm) {
+}
+
 void ScummEngine_v90he::allocateArrays() {
 	ScummEngine::allocateArrays();
-	spritesAllocTables(_numSprites, MAX(64, _numSprites / 4), 64);
+	_sprite->spritesAllocTables(_numSprites, MAX(64, _numSprites / 4), 64);
 }
[...965 lines suppressed...]
 
-				_wiz->polygonCalcBoundBox(pts, 4, spi->bbox);
+				_vm->_wiz->polygonCalcBoundBox(pts, 4, spi->bbox);
 			}
 		} else {
 			bboxPtr->left = 1234;
@@ -1389,11 +1392,11 @@
 			wiz.processFlags |= kWPFDstResNum;
 			wiz.dstResNum = _spriteGroups[spi->groupNum].dstResNum;
 		}
-		_wiz->displayWizComplexImage(&wiz);
+		_vm->_wiz->displayWizComplexImage(&wiz);
 	}
 }
 
-void ScummEngine_v90he::saveOrLoadSpriteData(Serializer *s, uint32 savegameVersion) {
+void Sprite::saveOrLoadSpriteData(Serializer *s, uint32 savegameVersion) {
 	static const SaveLoadEntry spriteEntries[] = {
 		MKLINE(SpriteInfo, id, sleInt32, VER(48)),
 		MKLINE(SpriteInfo, zorder, sleInt32, VER(48)),

Index: sprite_he.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.h,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- sprite_he.h	20 Apr 2005 10:33:20 -0000	1.38
+++ sprite_he.h	23 May 2005 09:30:43 -0000	1.39
@@ -20,7 +20,7 @@
  *
  */
 
-#ifndef SPRITE_HE_H
+#if !defined(SPRITE_HE_H) && !defined(DISABLE_HE)
 #define SPRITE_HE_H
 
 namespace Scumm {
@@ -97,6 +97,123 @@
 	int32 scale_y_ratio_div;
 };
 
+class ScummEngine_v90he;
+
+class Sprite {
+public:
+	Sprite(ScummEngine_v90he *vm);
+
+	SpriteInfo *_spriteTable;
+	SpriteGroup *_spriteGroups;
+	SpriteInfo **_activeSpritesTable;
+
+	int32 _numSpritesToProcess;
+	int32 _varNumSpriteGroups;
+	int32 _varNumSprites;
+	int32 _varMaxSprites;
+
+	void saveOrLoadSpriteData(Serializer *s, uint32 savegameVersion);
+	void spritesBlitToScreen();
+	void spritesMarkDirty(bool checkZOrder);
+	void spritesSortActiveSprites();
+	void spritesProcessWiz(bool arg);
+	void spritesUpdateImages();
+
+	void getSpriteBounds(int spriteId, bool checkGroup, Common::Rect &bound);
+	int findSpriteWithClassOf(int x, int y, int spriteGroupId, int d, int num, int *args);
+	int getSpriteclassFlags(int spriteId, int num, int *args);
+	int getSpriteFlagDoubleBuffered(int spriteId);
+	int getSpriteFlagYFlipped(int spriteId);
+	int getSpriteFlagXFlipped(int spriteId);
+	int getSpriteFlagActive(int spriteId);
+	int getSpriteFlagNeedPaletteRemap(int spriteId);
+	int getSpriteFlagDelayed(int spriteId);
+	int getSpriteFlagMarkDirty(int spriteId);	
+	int getSpriteFlagHasImage(int spriteId);
+	int getSpriteResId(int spriteId);
+	int getSpriteResState(int spriteId);
+	int getSpriteGroupNum(int spriteId);
+	int getSpritePaletteNum(int spriteId);
+	int getSpriteZorderPriority(int spriteId);
+	int getSpritegrp_tx(int spriteId);
+	int getSpritegrp_ty(int spriteId);
+	int getSpriteField_44(int spriteId);
+	int getSpriteXmapNum(int spriteId);
+	int getSpritewizSize(int spriteId);
+	int getSpritezoom(int spriteId);
+	int getSpritedelayAmount(int spriteId);
+	int getSpritemaskImgResNum(int spriteId);
+	int getSpriteField_80(int spriteId);
+	int getSpriteField_8C_90(int spriteId, int type);
+	void getSpriteImageDim(int spriteId, int32 &w, int32 &h);
+	void getSpritetx_ty(int spriteId, int32 &tx, int32 &ty);
+	void getSpritedx_dy(int spriteId, int32 &dx, int32 &dy);
+
+	int getGroupzorderPriority(int spriteGroupId);
+	int getGroupdstResNum(int spriteGroupId);
+	int getGroupScale_x_ratio_mul(int spriteGroupId);
+	int getGroupScale_x_ratio_div(int spriteGroupId);
+	int getGroupScale_y_ratio_mul(int spriteGroupId);
+	int getGroupScale_y_ratio_div(int spriteGroupId);
+	void getGrouptx_ty(int spriteGroupId, int32 &tx, int32 &ty);
+
+	void setSpritePaletteNum(int spriteId, int value);
+	void setSpriteMaskImgResNum(int spriteId, int value);
+	void setSpriteField80(int spriteId, int value);
+	void setSpriteResetSprite(int spriteId);
+	void setSpriteResState(int spriteId, int value);
+	void setSpritetx_ty(int spriteId, int value1, int value2);
+	void setSpriteGroupNum(int spriteId, int value);
+	void setSpritedx_dy(int spriteId, int value1, int value2);
+	void setSpriteXmapNum(int spriteId, int value);
+	void setSpriteField44(int spriteId, int value1, int value2);
+	void setSpriteZorderPriority(int spriteId, int value);
+	void setSpriteInc_tx_ty(int spriteId, int value1, int value2);
+	void setSpriteZoom(int spriteId, int value);
+	void setSpriteAngle(int spriteId, int value);
+	void setSpriteFlagDoubleBuffered(int spriteId, int value);
+	void setSpriteFlagYFlipped(int spriteId, int value);
+	void setSpriteFlagXFlipped(int spriteId, int value);
+	void setSpriteFlagActive(int spriteId, int value);
+	void setSpriteFlagNeedPaletteRemap(int spriteId, int value);
+	void setSpriteFlagDelayed(int spriteId, int value);
+	void setSpriteFlagMarkDirty(int spriteId, int value);
+	void setSpriteFlagHasImage(int spriteId, int value);
+	void setSpriteDelay(int spriteId, int value);
+	void setSpriteSetClassFlag(int spriteId, int classId, int toggle);
+	void setSpriteResetClassFlags(int spriteId);
+	void setSpriteField84(int spriteId, int value);
+	void setSpriteField8C_90(int spriteId, int type, int value);
+
+	void redrawSpriteGroup(int spriteGroupId);
+	void setGroupCase0_0(int spriteGroupId, int value1, int value2);
+	void setGroupCase0_1(int spriteGroupId, int value);
+	void setGroupCase0_2(int spriteGroupId, int value);
+	void setGroupCase0_3(int spriteGroupId, int value);
+	void setGroupCase0_4(int spriteGroupId);
+	void setGroupCase0_5(int spriteGroupId, int value);
+	void setGroupCase0_6(int spriteGroupId, int value);
+	void setGroupCase0_7(int spriteGroupId, int value);
+	void setGroupbbox(int spriteGroupId, int x1, int y1, int x2, int y2);
+	void setGroupzorderPriority(int spriteGroupId, int value);
+	void setGrouptx_ty(int spriteGroupId, int value1, int value2);
+	void setGroupinc_tx_ty(int spriteGroupId, int value1, int value2);
+	void setGroupdstResNum(int spriteGroupId, int value);
+	void setGroupscaling(int spriteGroupId);
+	void setGroupScale_x_ratio_mul(int spriteGroupId, int value);
+	void setGroupScale_x_ratio_div(int spriteGroupId, int value);
+	void setGroupScale_y_ratio_mul(int spriteGroupId, int value);
+	void setGroupScale_y_ratio_div(int spriteGroupId, int value);
+	void setGroupflagClipBoxAnd(int spriteGroupId);
+
+	void spritesAllocTables(int numSprites, int numGroups, int numMaxSprites);
+	void spritesResetGroup(int spriteGroupId);
+	void spritesResetTables(bool refreshScreen);
+	void spriteAddImageToList(int spriteId, int imageNum, int *spriteIdptr);
+private:
+	ScummEngine_v90he *_vm;
+};
+
 } // End of namespace Scumm
 
 #endif





More information about the Scummvm-git-logs mailing list