diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/hdb/ai-init.cpp | 4 | ||||
-rw-r--r-- | engines/hdb/ai.h | 13 |
2 files changed, 17 insertions, 0 deletions
diff --git a/engines/hdb/ai-init.cpp b/engines/hdb/ai-init.cpp index f8fe0c2cbc..1c22013549 100644 --- a/engines/hdb/ai-init.cpp +++ b/engines/hdb/ai-init.cpp @@ -869,6 +869,10 @@ void AI::restartSystem() { // Clear waypoints memset(&_waypoints[0], 0, sizeof(_waypoints)); _numWaypoints = 0; + + // Clear Bridges + memset(&_bridges[0], 0, sizeof(_bridges)); + _numBridges = 0; } void AI::initAnimInfo() { diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h index afc25cb792..d64523f9bb 100644 --- a/engines/hdb/ai.h +++ b/engines/hdb/ai.h @@ -40,6 +40,7 @@ enum { kMaxAutoActions = 30, kMaxLuaEnts = 50, kMaxCallbacks = 20, + kMaxBridges = 10, kDelay5Seconds = 5 * kGameFPS, kPlayerMoveSpeed = 4, kEnemyMoveSpeed = 2, @@ -712,6 +713,15 @@ struct Callback { Callback() : type(NO_FUNCTION), x(0), y(0), delay(0) {} }; +struct Bridge { + uint16 x, y; + AIDir dir; + uint16 delay; + uint16 anim; + + Bridge() : x(0), y(0), dir(DIR_NONE), delay(0), anim(0) {} +}; + struct CineCommand { CineType cmdType; double x, y; @@ -1172,6 +1182,9 @@ public: Callback _callbacks[kMaxCallbacks]; + Bridge _bridges[kMaxBridges]; + int _numBridges; + Common::Array<ArrowPath *> *_arrowPaths; Common::Array<HereT *> *_hereList; Common::Array<Trigger *> *_triggerList; |