aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/hdb/ai-init.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/engines/hdb/ai-init.cpp b/engines/hdb/ai-init.cpp
index 4753047757..5a71b4bb17 100644
--- a/engines/hdb/ai-init.cpp
+++ b/engines/hdb/ai-init.cpp
@@ -915,10 +915,25 @@ AI::AI() {
}
AI::~AI() {
+ for (uint i = 0; i < _ents->size(); i++) {
+ delete _ents->operator[](i);
+ }
delete _ents;
+ for (uint i = 0; i < _floats->size(); i++) {
+ delete _floats->operator[](i);
+ }
delete _floats;
+ for (uint i = 0; i < _arrowPaths->size(); i++) {
+ delete _arrowPaths->operator[](i);
+ }
delete _arrowPaths;
+ for (uint i = 0; i < _triggerList->size(); i++) {
+ delete _triggerList->operator[](i);
+ }
delete _triggerList;
+ for (uint i = 0; i < _hereList->size(); i++) {
+ delete _hereList->operator[](i);
+ }
delete _hereList;
memset(&_inventory, 0, sizeof(InvEnt) * kMaxInventory);
@@ -930,6 +945,12 @@ AI::~AI() {
memset(_clubLeftGfx, 0, sizeof(_clubLeftGfx));
memset(_clubRightGfx, 0, sizeof(_clubRightGfx));
memset(_slugAttackGfx, 0, sizeof(_slugAttackGfx));
+
+ // Free AnimTargets
+
+ for (uint i = 0; i < _animTargets.size(); i++) {
+ delete _animTargets[i];
+ }
}
bool AI::init() {