aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/actor.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/actor.h')
-rw-r--r--engines/scumm/actor.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/engines/scumm/actor.h b/engines/scumm/actor.h
index 7576b9aa95..fb2e91f779 100644
--- a/engines/scumm/actor.h
+++ b/engines/scumm/actor.h
@@ -211,8 +211,7 @@ public:
void setDirection(int direction);
void faceToObject(int obj);
void turnToDirection(int newdir);
- void walkActor();
- void walkActorOld();
+ virtual void walkActor();
void drawActorToBackBuf(int x, int y);
void drawActorCostume(bool hitTestMode = false);
void animateCostume();
@@ -315,16 +314,25 @@ protected:
bool isPlayer();
bool findPathTowards(byte box, byte box2, byte box3, Common::Point &foundPath);
+};
+
+class ActorOldWalk : public Actor {
+public:
+ ActorOldWalk(int id) : Actor(id) {}
+
+ virtual void walkActor();
+
+protected:
void findPathTowardsOld(byte box, byte box2, byte box3, Common::Point &p2, Common::Point &p3);
};
-class ActorC64 : public Actor {
+class ActorC64 : public ActorOldWalk {
public:
// FIXME: This flag is never saved, which might lead to broken save states.
byte _miscflags;
public:
- ActorC64(int id) : Actor(id) {}
+ ActorC64(int id) : ActorOldWalk(id) {}
virtual void initActor(int mode) {
if (mode == -1) {
_miscflags = 0;