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.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/engines/scumm/actor.h b/engines/scumm/actor.h
index c1a3f23318..62ba161f4e 100644
--- a/engines/scumm/actor.h
+++ b/engines/scumm/actor.h
@@ -350,6 +350,11 @@ class Actor_v0 : public Actor_v2 {
public:
Common::Point _CurrentWalkTo, _NewWalkTo;
+ Common::Array<byte> _walkboxHistory;
+
+ byte _walkboxQueue[0x10];
+ byte _walkboxQueueIndex;
+
byte _costCommandNew;
byte _costCommand;
byte _miscflags;
@@ -380,6 +385,12 @@ public:
bool _limb_flipped[8];
+private:
+
+ bool walkBoxQueueAdd(int box);
+ bool walkBoxQueueFind(int box);
+ void walkboxQueueReverse();
+
public:
Actor_v0(ScummEngine *scumm, int id) : Actor_v2(scumm, id) {}
@@ -401,6 +412,9 @@ public:
byte actorWalkY();
byte updateWalkbox();
+ void walkBoxQueueReset();
+ bool walkBoxQueuePrepare();
+
AdjustBoxResult adjustXYToBeInBox(int dstX, int dstY);
AdjustBoxResult adjustPosInBorderWalkbox(AdjustBoxResult box);