[Scummvm-cvs-logs] SF.net SVN: scummvm: [22229] scummvm/trunk/engines/scumm

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat Apr 29 09:52:00 CEST 2006


Revision: 22229
Author:   fingolfin
Date:     2006-04-29 09:51:29 -0700 (Sat, 29 Apr 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=22229&view=rev

Log Message:
-----------
Moved AKOS stuff to class ScummEngine_v6

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/actor.cpp
    scummvm/trunk/engines/scumm/akos.cpp
    scummvm/trunk/engines/scumm/intern.h
    scummvm/trunk/engines/scumm/scumm.cpp
    scummvm/trunk/engines/scumm/scumm.h
Modified: scummvm/trunk/engines/scumm/actor.cpp
===================================================================
--- scummvm/trunk/engines/scumm/actor.cpp	2006-04-29 16:30:46 UTC (rev 22228)
+++ scummvm/trunk/engines/scumm/actor.cpp	2006-04-29 16:51:29 UTC (rev 22229)
@@ -1014,7 +1014,11 @@
 			a->animateCostume();
 		}
 	}
+}
 
+void ScummEngine_v6::processActors() {
+	ScummEngine::processActors();
+
 	if (_game.features & GF_NEW_COSTUMES)
 		akos_processQueue();
 }
@@ -1024,7 +1028,7 @@
 	preProcessAuxQueue();
 
 	if (!_skipProcessActors)
-		ScummEngine::processActors();
+		ScummEngine_v6::processActors();
 
 	_fullRedraw = false;
 
@@ -1038,7 +1042,7 @@
 	_sprite->processImages(true);
 
 	if (!_skipProcessActors)
-		ScummEngine::processActors();
+		ScummEngine_v6::processActors();
 
 	_fullRedraw = false;
 
@@ -1240,7 +1244,7 @@
 
 		while (f--) {
 			if (_cost.active[limb] != 0)
-				_vm->akos_increaseAnim(this, limb, aksq, (const uint16 *)akfo, size);
+				((ScummEngine_v6 *)_vm)->akos_increaseAnim(this, limb, aksq, (const uint16 *)akfo, size);
 		}
 
 //		_needRedraw = true;

Modified: scummvm/trunk/engines/scumm/akos.cpp
===================================================================
--- scummvm/trunk/engines/scumm/akos.cpp	2006-04-29 16:30:46 UTC (rev 22228)
+++ scummvm/trunk/engines/scumm/akos.cpp	2006-04-29 16:51:29 UTC (rev 22229)
@@ -1334,10 +1334,10 @@
 }
 
 byte AkosCostumeLoader::increaseAnims(Actor *a) {
-	return _vm->akos_increaseAnims(_akos, a);
+	return ((ScummEngine_v6 *)_vm)->akos_increaseAnims(_akos, a);
 }
 
-bool ScummEngine::akos_increaseAnims(const byte *akos, Actor *a) {
+bool ScummEngine_v6::akos_increaseAnims(const byte *akos, Actor *a) {
 	const byte *aksq, *akfo;
 	int i;
 	uint size;
@@ -1360,7 +1360,7 @@
 #define GUW(o) READ_LE_UINT16(aksq+curpos+(o))
 #define GB(o) aksq[curpos+(o)]
 
-bool ScummEngine::akos_increaseAnim(Actor *a, int chan, const byte *aksq, const uint16 *akfo, int numakfo) {
+bool ScummEngine_v6::akos_increaseAnim(Actor *a, int chan, const byte *aksq, const uint16 *akfo, int numakfo) {
 	byte active;
 	uint old_curpos, curpos, end;
 	uint code;
@@ -1721,7 +1721,7 @@
 		return curpos != old_curpos;
 }
 
-void ScummEngine::akos_queCommand(byte cmd, Actor *a, int param_1, int param_2) {
+void ScummEngine_v6::akos_queCommand(byte cmd, Actor *a, int param_1, int param_2) {
 	_akosQueuePos++;
 	checkRange(31, 0, _akosQueuePos, "akos_queCommand overflow");
 
@@ -1731,7 +1731,7 @@
 	_akosQueue[_akosQueuePos].param2 = param_2;
 }
 
-void ScummEngine::akos_processQueue() {
+void ScummEngine_v6::akos_processQueue() {
 	byte cmd;
 	int actor, param_1, param_2;
 

Modified: scummvm/trunk/engines/scumm/intern.h
===================================================================
--- scummvm/trunk/engines/scumm/intern.h	2006-04-29 16:30:46 UTC (rev 22228)
+++ scummvm/trunk/engines/scumm/intern.h	2006-04-29 16:51:29 UTC (rev 22229)
@@ -564,7 +564,16 @@
 	int _blastTextQueuePos;
 	BlastText _blastTextQueue[50];
 
+	// Akos Class
+	struct {
+		int16 cmd;
+		int16 actor;
+		int16 param1;
+		int16 param2;
+	} _akosQueue[32];
+	int16 _akosQueuePos;
 
+
 public:
 	ScummEngine_v6(OSystem *syst, const DetectorResult &dr);
 
@@ -620,7 +629,15 @@
 
 	virtual void clearDrawQueues();
 
+public:
+	bool akos_increaseAnims(const byte *akos, Actor *a);
+	bool akos_increaseAnim(Actor *a, int i, const byte *aksq, const uint16 *akfo, int numakfo);
+protected:
+	void akos_queCommand(byte cmd, Actor *a, int param_1, int param_2);
+	virtual void akos_processQueue();
 
+	virtual void processActors();
+
 	/* Version 6 script opcodes */
 	void o6_setBlastObjectWindow();
 	void o6_pushByte();

Modified: scummvm/trunk/engines/scumm/scumm.cpp
===================================================================
--- scummvm/trunk/engines/scumm/scumm.cpp	2006-04-29 16:30:46 UTC (rev 22228)
+++ scummvm/trunk/engines/scumm/scumm.cpp	2006-04-29 16:51:29 UTC (rev 22229)
@@ -428,9 +428,6 @@
 
 	_skipDrawObject = 0;
 
-	memset(_akosQueue, 0, sizeof(_akosQueue));
-	_akosQueuePos = 0;
-
 	//
 	// Init all VARS to 0xFF
 	//
@@ -789,6 +786,9 @@
 
 	_smushFrameRate = 0;
 
+	memset(_akosQueue, 0, sizeof(_akosQueue));
+	_akosQueuePos = 0;
+
 	VAR_VIDEONAME = 0xFF;
 	VAR_RANDOM_NR = 0xFF;
 	VAR_STRING2DRAW = 0xFF;

Modified: scummvm/trunk/engines/scumm/scumm.h
===================================================================
--- scummvm/trunk/engines/scumm/scumm.h	2006-04-29 16:30:46 UTC (rev 22228)
+++ scummvm/trunk/engines/scumm/scumm.h	2006-04-29 16:51:29 UTC (rev 22229)
@@ -947,22 +947,8 @@
 	// Generic costume code
 	bool isCostumeInUse(int i) const;
 
-	// Akos Class
-	struct {
-		int16 cmd;
-		int16 actor;
-		int16 param1;
-		int16 param2;
-	} _akosQueue[32];
-	int16 _akosQueuePos;
-
 	Common::Rect _actorClipOverride;
 
-	bool akos_increaseAnims(const byte *akos, Actor *a);
-	bool akos_increaseAnim(Actor *a, int i, const byte *aksq, const uint16 *akfo, int numakfo);
-	void akos_queCommand(byte cmd, Actor *a, int param_1, int param_2);
-	virtual void akos_processQueue();
-
 protected:
 	/* Should be in Graphics class? */
 	uint16 _screenB, _screenH;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.





More information about the Scummvm-git-logs mailing list