aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorNipun Garg2019-06-25 00:33:19 +0530
committerEugene Sandulenko2019-09-03 17:16:59 +0200
commitace7d2754616ce0df48bd1314095d0e8907d729a (patch)
tree97ce41078611a4794898381b17ca84f30919aaa8 /engines
parent70888532f8d6ab04b612eafe7de0256f0ce39172 (diff)
downloadscummvm-rg350-ace7d2754616ce0df48bd1314095d0e8907d729a.tar.gz
scummvm-rg350-ace7d2754616ce0df48bd1314095d0e8907d729a.tar.bz2
scummvm-rg350-ace7d2754616ce0df48bd1314095d0e8907d729a.zip
HDB: Add _arrowPaths data
Diffstat (limited to 'engines')
-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;