diff options
Diffstat (limited to 'engines/scumm/actor.h')
-rw-r--r-- | engines/scumm/actor.h | 16 |
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; |