MOHAWK: Fix changing the stack via an opcode

svn-id: r54676
This commit is contained in:
Matthew Hoops 2010-11-30 14:45:31 +00:00
parent 868e39c29a
commit c6a9cef9fb
2 changed files with 9 additions and 1 deletions

View file

@ -82,6 +82,8 @@ MohawkEngine_Myst::MohawkEngine_Myst(OSystem *syst, const MohawkGameDescription
_cursorHintCount = 0; _cursorHintCount = 0;
_cursorHints = NULL; _cursorHints = NULL;
_prevStack = NULL;
_view.conditionalImageCount = 0; _view.conditionalImageCount = 0;
_view.conditionalImages = NULL; _view.conditionalImages = NULL;
_view.soundList = NULL; _view.soundList = NULL;
@ -105,6 +107,7 @@ MohawkEngine_Myst::~MohawkEngine_Myst() {
delete _saveLoad; delete _saveLoad;
delete _loadDialog; delete _loadDialog;
delete _optionsDialog; delete _optionsDialog;
delete _prevStack;
delete[] _cursorHints; delete[] _cursorHints;
@ -365,7 +368,11 @@ void MohawkEngine_Myst::changeToStack(uint16 stack) {
_curStack = stack; _curStack = stack;
delete _scriptParser; // Delete the previous stack and move the current stack to the previous one
// There's probably a better way to do this, but the script classes shouldn't
// take up much memory.
delete _prevStack;
_prevStack = _scriptParser;
switch (_curStack) { switch (_curStack) {
case kSeleniticStack: case kSeleniticStack:

View file

@ -196,6 +196,7 @@ private:
MystConsole *_console; MystConsole *_console;
GUI::SaveLoadChooser *_loadDialog; GUI::SaveLoadChooser *_loadDialog;
MystOptionsDialog *_optionsDialog; MystOptionsDialog *_optionsDialog;
MystScriptParser *_prevStack;
ResourceCache _cache; ResourceCache _cache;
void cachePreload(uint32 tag, uint16 id); void cachePreload(uint32 tag, uint16 id);