aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/lure/res.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/engines/lure/res.cpp b/engines/lure/res.cpp
index 419101a6ee..b0e99b5be5 100644
--- a/engines/lure/res.cpp
+++ b/engines/lure/res.cpp
@@ -42,11 +42,19 @@ Resources &Resources::getReference() {
Resources::Resources() {
int_resources = this;
reloadData();
+
+ // Load the string list
+ MemoryBlock *mb = Disk::getReference().getEntry(STRING_LIST_RESOURCE_ID);
+ _stringList.load(mb);
+ delete mb;
}
Resources::~Resources() {
// Free up any loaded data
freeData();
+
+ // Free up constant data
+ _stringList.clear();
}
void Resources::freeData() {
@@ -61,7 +69,6 @@ void Resources::freeData() {
_randomActions.clear();
_indexedRoomExitHospots.clear();
_pausedList.clear();
- _stringList.clear();
_actionsList.clear();
_coordinateList.clear();
_talkHeaders.clear();
@@ -324,11 +331,6 @@ void Resources::reloadData() {
indexedRec++;
}
- // Load the string list
- mb = d.getEntry(STRING_LIST_RESOURCE_ID);
- _stringList.load(mb);
- delete mb;
-
// Initialise delay list
_delayList.clear(true);