[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.357,1.358 akos.cpp,1.225,1.226 intern.h,2.485,2.486 script_v7he.cpp,2.154,2.155 scumm.cpp,1.514,1.515 scumm.h,1.626,1.627

Max Horn fingolfin at users.sourceforge.net
Sun May 15 02:47:41 CEST 2005


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

Modified Files:
	actor.cpp akos.cpp intern.h script_v7he.cpp scumm.cpp scumm.h 
Log Message:
Added AuxBlock::reset() method; moved aux related code to ScummEngine_v71he class

Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.357
retrieving revision 1.358
diff -u -d -r1.357 -r1.358
--- actor.cpp	15 May 2005 01:03:30 -0000	1.357
+++ actor.cpp	15 May 2005 09:46:33 -0000	1.358
@@ -147,11 +147,7 @@
 
 	_clipOverride = _vm->_actorClipOverride;
 
-	_auxBlock.visible = false;
-	_auxBlock.r.left = 0;
-	_auxBlock.r.top = 0;
-	_auxBlock.r.right = -1;
-	_auxBlock.r.bottom = -1;
+	_auxBlock.reset();
 	_hePaletteNum = 0;
 
 	_vm->_classData[_number] = (_vm->_version >= 7) ? _vm->_classData[0] : 0;
@@ -506,11 +502,7 @@
 			// Causes Zak to lose his body in several scenes, see bug #771508
 			if (_vm->_version >= 3 && f == _initFrame) {
 				_cost.reset();
-				_auxBlock.visible = false;
-				_auxBlock.r.left = 0;
-				_auxBlock.r.top = 0;
-				_auxBlock.r.right = -1;
-				_auxBlock.r.bottom = -1;
+				_auxBlock.reset();
 			}
 			_vm->_costumeLoader->costumeDecodeData(this, f, (uint) - 1);
 			_frame = f;
@@ -639,7 +631,7 @@
 			adjustActorPos();
 		} else {
 			if (_vm->_heversion >= 71)
-				_vm->queueAuxBlock(this);
+				((ScummEngine_v71he *)_vm)->queueAuxBlock(this);
 			hideActor();
 		}
 	} else {
@@ -801,11 +793,7 @@
 	_cost.soundCounter = 0;
 	_needRedraw = false;
 	_needBgReset = true;
-	_auxBlock.visible = false;
-	_auxBlock.r.left = 0;
-	_auxBlock.r.top = 0;
-	_auxBlock.r.right = -1;
-	_auxBlock.r.bottom = -1;
+	_auxBlock.reset();
 }
 
 void Actor::showActor() {
@@ -1443,15 +1431,11 @@
 		memset(_animVariable, 0, sizeof(_animVariable));
 		
 		if (_vm->_heversion >= 71)
-			_vm->queueAuxBlock(this);
+			((ScummEngine_v71he *)_vm)->queueAuxBlock(this);
 		
 		_costume = c;
 		_cost.reset();
-		_auxBlock.visible = false;
-		_auxBlock.r.left = 0;
-		_auxBlock.r.top = 0;
-		_auxBlock.r.right = -1;
-		_auxBlock.r.bottom = -1;
+		_auxBlock.reset();
 
 		if (_visible) {
 			if (_costume) {
@@ -2058,7 +2042,7 @@
 }
 #endif
 
-void ScummEngine::queueAuxBlock(Actor *a) {
+void ScummEngine_v71he::queueAuxBlock(Actor *a) {
 	if (!a->_auxBlock.visible)
 		return;
 
@@ -2067,7 +2051,7 @@
 	++_auxBlocksNum;
 }
 
-void ScummEngine::queueAuxEntry(int actorNum, int subIndex) {
+void ScummEngine_v71he::queueAuxEntry(int actorNum, int subIndex) {
 	assert(_auxEntriesNum < ARRAYSIZE(_auxEntries));
 	AuxEntry *ae = &_auxEntries[_auxEntriesNum];
 	ae->actorNum = actorNum;

Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.225
retrieving revision 1.226
diff -u -d -r1.225 -r1.226
--- akos.cpp	15 May 2005 01:03:30 -0000	1.225
+++ akos.cpp	15 May 2005 09:46:33 -0000	1.226
@@ -1728,7 +1728,8 @@
 			a->_offsY = param_2;
 			break;
 		case 7:
-			queueAuxEntry(a->_number, param_1);
+			assert(_heversion >= 71);
+			((ScummEngine_v71he *)this)->queueAuxEntry(a->_number, param_1);
 			break;
 		case 8:
 			_actorToPrintStrFor = a->_number;

Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.485
retrieving revision 2.486
diff -u -d -r2.485 -r2.486
--- intern.h	15 May 2005 01:03:31 -0000	2.485
+++ intern.h	15 May 2005 09:46:33 -0000	2.486
@@ -795,7 +795,7 @@
 
 class ScummEngine_v71he : public ScummEngine_v70he {
 public:
-	ScummEngine_v71he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]) : ScummEngine_v70he(detector, syst, gs, md5sum) {}
+	ScummEngine_v71he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]);
 
 protected:
 	virtual void redrawBGAreas();
@@ -804,6 +804,15 @@
 	void preProcessAuxQueue();
 	void postProcessAuxQueue();
 
+public:
+	/* Actor AuxQueue stuff (HE) */	
+	AuxBlock _auxBlocks[16];
+	uint16 _auxBlocksNum;
+	AuxEntry _auxEntries[16];
+	uint16 _auxEntriesNum;
+
+	void queueAuxBlock(Actor *a);
+	void queueAuxEntry(int actorNum, int subIndex);
 };
 
 class ScummEngine_v72he : public ScummEngine_v71he {

Index: script_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v7he.cpp,v
retrieving revision 2.154
retrieving revision 2.155
diff -u -d -r2.154 -r2.155
--- script_v7he.cpp	13 May 2005 01:55:07 -0000	2.154
+++ script_v7he.cpp	15 May 2005 09:46:33 -0000	2.155
@@ -781,7 +781,7 @@
 		break;
 	case 20: // HE72+
 		a = derefActor(args[1], "o70_kernelSetFunctions: 20");
-		queueAuxBlock(a);
+		((ScummEngine_v71he *)this)->queueAuxBlock(a);
 		break;
 	case 21:
 		_skipDrawObject = 1;

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.514
retrieving revision 1.515
diff -u -d -r1.514 -r1.515
--- scumm.cpp	15 May 2005 01:03:31 -0000	1.514
+++ scumm.cpp	15 May 2005 09:46:33 -0000	1.515
@@ -950,10 +950,6 @@
 	_actorClipOverride.right = 640;
 
 	_skipDrawObject = 0;
-	_auxBlocksNum = 0;
-	memset(_auxBlocks, 0, sizeof(_auxBlocks));
-	_auxEntriesNum = 0;
-	memset(_auxEntries, 0, sizeof(_auxEntries));
 	memset(_timers, 0, sizeof(_timers));
 
 	memset(_akosQueue, 0, sizeof(_akosQueue));
@@ -1316,6 +1312,14 @@
 	free(_heV7RoomOffsets);
 }
 
+ScummEngine_v71he::ScummEngine_v71he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16])
+ : ScummEngine_v70he(detector, syst, gs, md5sum) {
+	_auxBlocksNum = 0;
+	memset(_auxBlocks, 0, sizeof(_auxBlocks));
+	_auxEntriesNum = 0;
+	memset(_auxEntries, 0, sizeof(_auxEntries));
+}
+
 ScummEngine_v72he::ScummEngine_v72he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16])
  : ScummEngine_v71he(detector, syst, gs, md5sum) {
 	VAR_NUM_ROOMS = 0xFF;

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.626
retrieving revision 1.627
diff -u -d -r1.626 -r1.627
--- scumm.h	15 May 2005 01:03:31 -0000	1.626
+++ scumm.h	15 May 2005 09:46:34 -0000	1.627
@@ -310,6 +310,12 @@
 struct AuxBlock {
 	bool visible;
 	Common::Rect r;
+	
+	void reset() {
+		visible = false;
+		r.left = r.top = 0;
+		r.right = r.bottom = -1;
+	}
 };
 	
 struct AuxEntry {
@@ -851,16 +857,6 @@
 	virtual void processActors();
 	void processUpperActors();
 	int getActorFromPos(int x, int y);
-	
-public:
-	/* Actor AuxQueue stuff (HE) */	
-	AuxBlock _auxBlocks[16];
-	uint16 _auxBlocksNum;
-	AuxEntry _auxEntries[16];
-	uint16 _auxEntriesNum;
-
-	void queueAuxBlock(Actor *a);
-	void queueAuxEntry(int actorNum, int subIndex);
 
 public:
 	/* Actor talking stuff */





More information about the Scummvm-git-logs mailing list