diff options
Diffstat (limited to 'engines/cruise')
-rw-r--r-- | engines/cruise/cruise_main.h | 1 | ||||
-rw-r--r-- | engines/cruise/saveload.cpp | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/engines/cruise/cruise_main.h b/engines/cruise/cruise_main.h index 0b19ce64e5..ef15b7c923 100644 --- a/engines/cruise/cruise_main.h +++ b/engines/cruise/cruise_main.h @@ -114,6 +114,7 @@ void closeAllMenu(void); int removeFinishedScripts(scriptInstanceStruct *ptrHandle); void initBigVar3(void); void resetActorPtr(actorStruct *ptr); +void removeAllScripts(scriptInstanceStruct *ptrHandle); void MemoryList(); void *MemoryAlloc(uint32 size, bool clearFlag, int32 lineNum, const char *fname); diff --git a/engines/cruise/saveload.cpp b/engines/cruise/saveload.cpp index b2a1514ae5..fb752ce2a7 100644 --- a/engines/cruise/saveload.cpp +++ b/engines/cruise/saveload.cpp @@ -665,6 +665,7 @@ void initVars(void) { resetPreload(); freeCTP(); + freeBackgroundIncrustList(&backgroundIncrustHead); freezeCell(&cellHead, -1, -1, -1, -1, -1, 0); // TODO: unfreeze anims @@ -672,6 +673,8 @@ void initVars(void) { freeObjectList(&cellHead); removeAnimation(&actorHead, -1, -1, -1); + removeAllScripts(&relHead); + removeAllScripts(&procHead); changeScriptParamInList(-1, -1, &procHead, -1, 0); removeFinishedScripts(&procHead); |