diff options
-rw-r--r-- | engines/simon/res.cpp | 10 | ||||
-rw-r--r-- | engines/simon/simon.cpp | 1 | ||||
-rw-r--r-- | engines/simon/simon.h | 1 |
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; |