aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNipun Garg2019-07-18 18:09:43 +0530
committerEugene Sandulenko2019-09-03 17:17:23 +0200
commit5363b38fe51b45ecd07ee9d87933ab33c65984b2 (patch)
treefbbdc300f78e8c5ed3f436c9e6c052d2c1778a87
parentfa71ee9034cd497bb6f5733c7641ef05ce10126b (diff)
downloadscummvm-rg350-5363b38fe51b45ecd07ee9d87933ab33c65984b2.tar.gz
scummvm-rg350-5363b38fe51b45ecd07ee9d87933ab33c65984b2.tar.bz2
scummvm-rg350-5363b38fe51b45ecd07ee9d87933ab33c65984b2.zip
HDB: Delete Player Graphics in destructor
-rw-r--r--engines/hdb/ai-init.cpp47
-rw-r--r--engines/hdb/hdb.cpp2
2 files changed, 40 insertions, 9 deletions
diff --git a/engines/hdb/ai-init.cpp b/engines/hdb/ai-init.cpp
index c0c85e7c76..6a470aa8d3 100644
--- a/engines/hdb/ai-init.cpp
+++ b/engines/hdb/ai-init.cpp
@@ -939,21 +939,31 @@ AI::~AI() {
memset(&_inventory, 0, sizeof(InvEnt) * kMaxInventory);
// Free Player Graphics
+ for (int i = 0; i < 8; i++) {
+ delete _clubDownGfx[i];
+ delete _clubUpGfx[i];
+ delete _clubLeftGfx[i];
+ delete _clubRightGfx[i];
+ delete _slugAttackGfx[i];
+ delete _pushdownGfx[i];
+ delete _pushupGfx[i];
+ delete _pushleftGfx[i];
+ delete _pushrightGfx[i];
+ delete _stunDownGfx[i];
+ delete _stunUpGfx[i];
+ delete _stunLeftGfx[i];
+ delete _stunRightGfx[i];
+ delete _slugDownGfx[i];
+ delete _slugUpGfx[i];
+ delete _slugLeftGfx[i];
+ delete _slugRightGfx[i];
+ }
memset(_clubDownGfx, 0, sizeof(_clubDownGfx));
memset(_clubUpGfx, 0, sizeof(_clubUpGfx));
memset(_clubLeftGfx, 0, sizeof(_clubLeftGfx));
memset(_clubRightGfx, 0, sizeof(_clubRightGfx));
memset(_slugAttackGfx, 0, sizeof(_slugAttackGfx));
-
- // Clean up Player Graphics Storage
- memset(_horrible1Gfx, 0, sizeof(_horrible1Gfx));
- memset(_horrible2Gfx, 0, sizeof(_horrible2Gfx));
- memset(_horrible3Gfx, 0, sizeof(_horrible3Gfx));
- memset(_horrible4Gfx, 0, sizeof(_horrible4Gfx));
- memset(_plummetGfx, 0, sizeof(_plummetGfx));
- memset(_dyingGfx, 0, sizeof(_dyingGfx));
-
memset(_pushdownGfx, 0, sizeof(_pushdownGfx));
memset(_pushupGfx, 0, sizeof(_pushupGfx));
memset(_pushleftGfx, 0, sizeof(_pushleftGfx));
@@ -967,6 +977,25 @@ AI::~AI() {
memset(_slugLeftGfx, 0, sizeof(_slugLeftGfx));
memset(_slugRightGfx, 0, sizeof(_slugRightGfx));
+ // Free Player Death Graphics
+ for (int i = 0; i < 12; i++) {
+ delete _horrible1Gfx[i];
+ delete _horrible2Gfx[i];
+ delete _horrible3Gfx[i];
+ delete _horrible4Gfx[i];
+ delete _plummetGfx[i];
+ delete _dyingGfx[i];
+ }
+
+ memset(_horrible1Gfx, 0, sizeof(_horrible1Gfx));
+ memset(_horrible2Gfx, 0, sizeof(_horrible2Gfx));
+ memset(_horrible3Gfx, 0, sizeof(_horrible3Gfx));
+ memset(_horrible4Gfx, 0, sizeof(_horrible4Gfx));
+ memset(_plummetGfx, 0, sizeof(_plummetGfx));
+ memset(_dyingGfx, 0, sizeof(_dyingGfx));
+
+ for (int i = 0; i < 4; i++)
+ delete _waypointGfx[i];
memset(_waypointGfx, 0, sizeof(_waypointGfx));
delete _debugQMark;
_debugQMark = NULL;
diff --git a/engines/hdb/hdb.cpp b/engines/hdb/hdb.cpp
index f7c2c64e7f..25b860495d 100644
--- a/engines/hdb/hdb.cpp
+++ b/engines/hdb/hdb.cpp
@@ -96,6 +96,8 @@ HDBGame::~HDBGame() {
delete _logoGfx;
_logoGfx = NULL;
}
+ delete _debugLogo;
+ _debugLogo = NULL;
DebugMan.clearAllDebugChannels();
}