aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/hdb/ai-init.cpp8
-rw-r--r--engines/hdb/ai.h10
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;