aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/actor.h
diff options
context:
space:
mode:
authorRobert Crossfield2014-11-28 22:24:45 +1100
committerRobert Crossfield2014-11-28 22:24:45 +1100
commit2dbd99d57264bab012cebd064eadfc34050832b1 (patch)
treeaa476a621ea221f21ea3eebda2b42c45e4d1215b /engines/scumm/actor.h
parent5beeadfd76ac001bf1bb9ebcb7b899892531efc5 (diff)
downloadscummvm-rg350-2dbd99d57264bab012cebd064eadfc34050832b1.tar.gz
scummvm-rg350-2dbd99d57264bab012cebd064eadfc34050832b1.tar.bz2
scummvm-rg350-2dbd99d57264bab012cebd064eadfc34050832b1.zip
SCUMM: Maniac V0: Implement the original Walk Code (to fix some anim glitches), fix opcode to use _moving correctly (as V0 is different)
Diffstat (limited to 'engines/scumm/actor.h')
-rw-r--r--engines/scumm/actor.h40
1 files changed, 36 insertions, 4 deletions
diff --git a/engines/scumm/actor.h b/engines/scumm/actor.h
index 46dc7d0295..b2245da3d2 100644
--- a/engines/scumm/actor.h
+++ b/engines/scumm/actor.h
@@ -354,6 +354,27 @@ public:
byte _miscflags;
byte _speaking;
+ Common::Point _CurrentWalkTo, _NewWalkTo;
+
+ byte _walkDirX;
+ byte _walkDirY;
+
+ byte _walkYCountGreaterThanXCount;
+ byte _walkXCount;
+ byte _walkXCountInc;
+ byte _walkYCount;
+ byte _walkYCountInc;
+ byte _walkCountModulo;
+
+ byte _walkMaxXYCountInc;
+
+ byte unk_FDE1;
+
+ Common::Point _tmp_Pos;
+ Common::Point _tmp_Dest;
+ byte _tmp_WalkBox;
+ byte _tmp_CB5F;
+
int8 _animFrameRepeat;
int8 _limbFrameRepeatNew[8];
int8 _limbFrameRepeat[8];
@@ -363,16 +384,27 @@ public:
public:
Actor_v0(ScummEngine *scumm, int id) : Actor_v2(scumm, id) {}
- virtual void initActor(int mode);
- virtual void animateActor(int anim);
- virtual void animateCostume();
+ void initActor(int mode);
+ void animateActor(int anim);
+ void animateCostume();
void limbFrameCheck(int limb);
+ void directionUpdate();
void speakCheck();
- virtual void setDirection(int direction);
+ void setDirection(int direction);
void startAnimActor(int f);
+ bool sub_2F6F();
+ void walkActor();
+ void actorSetWalkTo();
+ byte actorWalkX();
+ byte actorWalkY();
+ byte updateWalkbox();
+ byte walkboxFindTarget();
+ void setTmpFromActor();
+ void setActorFromTmp();
+
// Used by the save/load system:
virtual void saveLoadWithSerializer(Serializer *ser);