[Scummvm-cvs-logs] SF.net SVN: scummvm: [26101] scummvm/trunk/engines/scumm
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Mon Mar 12 13:12:00 CET 2007
Revision: 26101
http://scummvm.svn.sourceforge.net/scummvm/?rev=26101&view=rev
Author: fingolfin
Date: 2007-03-12 05:11:59 -0700 (Mon, 12 Mar 2007)
Log Message:
-----------
Get rid of initActorClass
Modified Paths:
--------------
scummvm/trunk/engines/scumm/actor.cpp
scummvm/trunk/engines/scumm/actor.h
scummvm/trunk/engines/scumm/scumm.cpp
Modified: scummvm/trunk/engines/scumm/actor.cpp
===================================================================
--- scummvm/trunk/engines/scumm/actor.cpp 2007-03-12 10:16:38 UTC (rev 26100)
+++ scummvm/trunk/engines/scumm/actor.cpp 2007-03-12 12:11:59 UTC (rev 26101)
@@ -42,18 +42,10 @@
namespace Scumm {
byte Actor::kInvalidBox = 0;
-ScummEngine *Actor::_vm = 0;
-void Actor::initActorClass(ScummEngine *scumm) {
- _vm = scumm;
- if (_vm->_game.features & GF_SMALL_HEADER) {
- kInvalidBox = 255;
- }
-}
-
-Actor::Actor(int id) {
+Actor::Actor(ScummEngine *scumm, int id) :
+ _vm(scumm), _number(id) {
assert(_vm != 0);
- _number = id;
}
void Actor::initActor(int mode) {
@@ -492,7 +484,6 @@
_moving &= ~MF_NEW_LEG;
do {
-
if (_walkbox == kInvalidBox) {
setBox(_walkdata.destbox);
_walkdata.curbox = _walkdata.destbox;
Modified: scummvm/trunk/engines/scumm/actor.h
===================================================================
--- scummvm/trunk/engines/scumm/actor.h 2007-03-12 10:16:38 UTC (rev 26100)
+++ scummvm/trunk/engines/scumm/actor.h 2007-03-12 12:11:59 UTC (rev 26101)
@@ -77,14 +77,18 @@
byte box;
};
+enum {
+ kOldInvalidBox = 255, // For small header games
+ kNewInavlidBox = 0
+};
+
class Actor : public Serializable {
-
public:
static byte kInvalidBox;
- static void initActorClass(ScummEngine *scumm);
+protected:
+ ScummEngine *_vm;
-protected:
/** The position of the actor inside the virtual screen. */
Common::Point _pos;
@@ -175,11 +179,9 @@
ActorWalkData _walkdata;
int16 _animVariable[27];
- static ScummEngine *_vm;
-
public:
- Actor(int id);
+ Actor(ScummEngine *scumm, int id);
virtual ~Actor() {}
//protected:
@@ -334,7 +336,7 @@
class Actor_v3 : public Actor {
public:
- Actor_v3(int id) : Actor(id) {}
+ Actor_v3(ScummEngine *scumm, int id) : Actor(scumm, id) {}
virtual void walkActor();
@@ -345,7 +347,7 @@
class Actor_v2 : public Actor_v3 {
public:
- Actor_v2(int id) : Actor_v3(id) {}
+ Actor_v2(ScummEngine *scumm, int id) : Actor_v3(scumm, id) {}
virtual void initActor(int mode);
virtual void walkActor();
@@ -361,7 +363,7 @@
byte _miscflags;
public:
- ActorC64(int id) : Actor_v2(id) {}
+ ActorC64(ScummEngine *scumm, int id) : Actor_v2(scumm, id) {}
virtual void initActor(int mode) {
Actor_v2::initActor(mode);
if (mode == -1) {
Modified: scummvm/trunk/engines/scumm/scumm.cpp
===================================================================
--- scummvm/trunk/engines/scumm/scumm.cpp 2007-03-12 10:16:38 UTC (rev 26100)
+++ scummvm/trunk/engines/scumm/scumm.cpp 2007-03-12 12:11:59 UTC (rev 26101)
@@ -1295,18 +1295,18 @@
_cursor.animate = 1;
// Allocate and Initialize actors
- Actor::initActorClass(this);
+ Actor::kInvalidBox = ((_game.features & GF_SMALL_HEADER) ? kOldInvalidBox : kNewInavlidBox);
_actors = new Actor * [_numActors];
_sortedActors = new Actor * [_numActors];
for (i = 0; i < _numActors; ++i) {
if (_game.version == 0)
- _actors[i] = new ActorC64(i);
+ _actors[i] = new ActorC64(this, i);
else if (_game.version <= 2)
- _actors[i] = new Actor_v2(i);
+ _actors[i] = new Actor_v2(this, i);
else if (_game.version == 3)
- _actors[i] = new Actor_v3(i);
+ _actors[i] = new Actor_v3(this, i);
else
- _actors[i] = new Actor(i);
+ _actors[i] = new Actor(this, i);
_actors[i]->initActor(-1);
// this is from IDB
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