[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