aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/simon/res.cpp10
-rw-r--r--engines/simon/simon.cpp1
-rw-r--r--engines/simon/simon.h1
3 files changed, 6 insertions, 6 deletions
diff --git a/engines/simon/res.cpp b/engines/simon/res.cpp
index 103eb772af..a2c25f3ef7 100644
--- a/engines/simon/res.cpp
+++ b/engines/simon/res.cpp
@@ -253,16 +253,14 @@ void SimonEngine::loadGamePcFile() {
}
void SimonEngine::readGamePcText(Common::File *in) {
- byte *text_mem;
-
_textSize = in->readUint32BE();
- text_mem = (byte *)malloc(_textSize);
- if (text_mem == NULL)
+ _textMem = (byte *)malloc(_textSize);
+ if (_textMem == NULL)
error("Out of text memory");
- in->read(text_mem, _textSize);
+ in->read(_textMem, _textSize);
- setupStringTable(text_mem, _stringTabNum);
+ setupStringTable(_textMem, _stringTabNum);
}
void SimonEngine::readItemFromGamePc(Common::File *in, Item *item) {
diff --git a/engines/simon/simon.cpp b/engines/simon/simon.cpp
index 79860bb251..552b828736 100644
--- a/engines/simon/simon.cpp
+++ b/engines/simon/simon.cpp
@@ -580,6 +580,7 @@ SimonEngine::~SimonEngine() {
free(_stringTabPtr);
free(_strippedTxtMem);
free(_tblList);
+ free(_textMem);
free(_backGroundBuf);
free(_frontBuf);
diff --git a/engines/simon/simon.h b/engines/simon/simon.h
index 799a663098..70e667a3d2 100644
--- a/engines/simon/simon.h
+++ b/engines/simon/simon.h
@@ -203,6 +203,7 @@ protected:
Common::File *_gameFile;
byte *_strippedTxtMem;
+ byte *_textMem;
uint _textSize;
uint _stringTabNum, _stringTabPos, _stringtab_numalloc;
byte **_stringTabPtr;