diff options
author | Paul Gilbert | 2016-01-07 18:11:24 +1100 |
---|---|---|
committer | Paul Gilbert | 2016-01-07 18:11:24 +1100 |
commit | cf5856492c6ce1820339dd76f9d3175f9f457215 (patch) | |
tree | 01fa705a0eaca65dd9f4e1bc9f0582c5c1afc365 /engines/mads/player.h | |
parent | a330d993ae6b216b223d1acada2652ed23286490 (diff) | |
download | scummvm-rg350-cf5856492c6ce1820339dd76f9d3175f9f457215.tar.gz scummvm-rg350-cf5856492c6ce1820339dd76f9d3175f9f457215.tar.bz2 scummvm-rg350-cf5856492c6ce1820339dd76f9d3175f9f457215.zip |
MADS: Phantom: Flesh out walk triggers
Diffstat (limited to 'engines/mads/player.h')
-rw-r--r-- | engines/mads/player.h | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/engines/mads/player.h b/engines/mads/player.h index 55000047fb..04b86b76b4 100644 --- a/engines/mads/player.h +++ b/engines/mads/player.h @@ -45,6 +45,23 @@ enum Facing { FACING_NONE = 5, FACING_DUMMY = 0 }; +struct StopWalkerEntry { + int _stack; + int _trigger; + + StopWalkerEntry() : _stack(0), _trigger(0) {} + StopWalkerEntry(int stack, int trigger) : _stack(stack), _trigger(trigger) {} + + void synchronize(Common::Serializer &s); +}; + +class StopWalkers : public Common::FixedStack<StopWalkerEntry, 12> { +public: + StopWalkers() : Common::FixedStack<StopWalkerEntry, 12>() {} + + void synchronize(Common::Serializer &s); +}; + class Player { private: static const int _directionListIndexes[32]; @@ -58,8 +75,6 @@ private: int _distAccum; int _pixelAccum; int _deltaDistance; - int _stopWalkerList[12]; - int _stopWalkerTrigger[12]; int _totalDistance; void clearStopList(); @@ -138,12 +153,15 @@ public: bool _readyToWalk; bool _commandsAllowed; bool _enableAtTarget; - int _stopWalkerIndex; int _centerOfGravity; int _currentDepth; int _currentScale; Common::String _spritesPrefix; + int _walkTrigger; + TriggerMode _walkTriggerDest; + ActionDetails _walkTriggerAction; + StopWalkers _stopWalkers; public: Player(MADSEngine *vm); |