diff options
author | Robert Crossfield | 2014-11-28 22:24:45 +1100 |
---|---|---|
committer | Robert Crossfield | 2014-11-28 22:24:45 +1100 |
commit | 2dbd99d57264bab012cebd064eadfc34050832b1 (patch) | |
tree | aa476a621ea221f21ea3eebda2b42c45e4d1215b /engines/scumm/actor.h | |
parent | 5beeadfd76ac001bf1bb9ebcb7b899892531efc5 (diff) | |
download | scummvm-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.h | 40 |
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); |