diff options
Diffstat (limited to 'engines/cine/cine.cpp')
-rw-r--r-- | engines/cine/cine.cpp | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/engines/cine/cine.cpp b/engines/cine/cine.cpp index 8037502b96..ffcbfbaa82 100644 --- a/engines/cine/cine.cpp +++ b/engines/cine/cine.cpp @@ -111,8 +111,6 @@ void CineEngine::initialize() { partBuffer = (PartBuffer *)malloc(NUM_MAX_PARTDATA * sizeof(PartBuffer)); - animDataTable = (AnimData *)malloc(NUM_MAX_ANIMDATA * sizeof(AnimData)); - if (g_cine->getGameType() == Cine::GType_OS) { readVolCnf(); } @@ -124,30 +122,24 @@ void CineEngine::initialize() { loadErrmessDat("errmess.dat"); } + // in case ScummVM engines can be restarted in the future + scriptTable.clear(); + relTable.clear(); + objectScripts.clear(); + globalScripts.clear(); + bgIncrustList.clear(); + freeAnimDataTable(); + memset(objectTable, 0, sizeof(objectTable)); - memset(scriptTable, 0, sizeof(scriptTable)); memset(messageTable, 0, sizeof(messageTable)); - memset(relTable, 0, sizeof(relTable)); - - for (int i = 0; i < NUM_MAX_ANIMDATA; i++) { - animDataTable[i].ptr1 = animDataTable[i].ptr2 = NULL; - } overlayHead.next = overlayHead.previous = NULL; var8 = 0; - bgIncrustList = NULL; - - objScriptList.next = NULL; - objScriptList.scriptPtr = NULL; - - globalScriptsHead.next = NULL; - globalScriptsHead.scriptPtr = NULL; +// bgIncrustList = NULL; var2 = var3 = var4 = var5 = 0; - freePrcLinkedList(); - _preLoad = false; if (ConfMan.hasKey("save_slot")) { char saveNameBuffer[256]; |