aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/true_talk/tt_script_base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/true_talk/tt_script_base.cpp')
-rw-r--r--engines/titanic/true_talk/tt_script_base.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/titanic/true_talk/tt_script_base.cpp b/engines/titanic/true_talk/tt_script_base.cpp
index 16783dec0f..a8e0940471 100644
--- a/engines/titanic/true_talk/tt_script_base.cpp
+++ b/engines/titanic/true_talk/tt_script_base.cpp
@@ -28,7 +28,7 @@ namespace Titanic {
TTscriptBase::TTscriptBase(int v1, const char *charClass, int v2,
const char *charName, int v3, int v4, int v5, int v6, int v7) :
_charName(charName), _charClass(charClass),
- _field4(0), _field8(0), _hist(nullptr),
+ _nodesP(nullptr), _field8(0), _hist(nullptr),
_field20(0), _field24(0), _field28(0), _field2C(0),
_field30(0), _field34(0), _field38(0), _field3C(0),
_field40(0), _field44(0), _field48(0), _status(0) {
@@ -50,6 +50,13 @@ TTscriptBase::TTscriptBase(int v1, const char *charClass, int v2,
reset();
}
+TTscriptBase::~TTscriptBase() {
+ if (_nodesP) {
+ _nodesP->deleteSiblings();
+ delete _nodesP;
+ }
+}
+
bool TTscriptBase::areNamesValid() {
bool result = !_charName.isValid() && !_charClass.isValid();
_status = result ? 0 : 11;
@@ -57,7 +64,7 @@ bool TTscriptBase::areNamesValid() {
}
void TTscriptBase::reset() {
- _field4 = 0;
+ _nodesP = nullptr;
_field8 = 4;
_hist = nullptr;
_field20 = 0;