diff options
-rw-r--r-- | engines/hdb/ai-init.cpp | 8 | ||||
-rw-r--r-- | engines/hdb/ai.h | 10 |
2 files changed, 18 insertions, 0 deletions
diff --git a/engines/hdb/ai-init.cpp b/engines/hdb/ai-init.cpp index cc5bd9490b..c15f5a17d5 100644 --- a/engines/hdb/ai-init.cpp +++ b/engines/hdb/ai-init.cpp @@ -670,6 +670,7 @@ AI::AI() { _ents = new Common::Array<AIEntity *>; _floats = new Common::Array<AIEntity *>; _animTargets = new Common::Array<AnimTarget *>; + _arrowPaths = new Common::Array<ArrowPath *>; // REMOVE: Remove for final. Used here due to lack of a MENU _numGems = _numGooCups = _numMonkeystones = _numInventory = 0; @@ -682,6 +683,7 @@ AI::~AI() { delete _ents; delete _floats; delete _animTargets; + delete _arrowPaths; } bool AI::init() { @@ -832,6 +834,12 @@ void AI::restartSystem() { // Clear the Entity List _ents->clear(); + // Clear Anim Targets List + _animTargets->clear(); + + // Clear ArrowPath List + _arrowPaths->clear(); + // Clear Cinematic System _cineActive = _cameraLock = _playerLock = _cineAborted = false; diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h index 9c49e3e14d..fec57834a6 100644 --- a/engines/hdb/ai.h +++ b/engines/hdb/ai.h @@ -583,6 +583,14 @@ struct AutoAction { AutoAction() : x(0), y(0), activated(false), luaFuncInit(""), luaFuncUse(""), entityName("") {} }; +struct ArrowPath { + uint16 type; + AIDir dir; + uint16 tileX, tileY; + + ArrowPath() : type(0), dir(DIR_NONE), tileX(0), tileY(0) {} +}; + struct CineCommand { CineType cmdType; double x, y; @@ -937,6 +945,8 @@ public: AutoAction _autoActions[kMaxAutoActions]; + Common::Array<ArrowPath *> *_arrowPaths; + // Virtual Player AIEntity _dummyPlayer; |