diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/tinsel/actors.cpp | 7 | ||||
-rw-r--r-- | engines/tinsel/sched.cpp | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/engines/tinsel/actors.cpp b/engines/tinsel/actors.cpp index 3577f4e0cc..b6f6259b94 100644 --- a/engines/tinsel/actors.cpp +++ b/engines/tinsel/actors.cpp @@ -199,6 +199,10 @@ void RegisterActors(int num) { void FreeActors() { free(actorInfo); actorInfo = NULL; + if (TinselV2) { + free(zFactors); + zFactors = NULL; + } } /** @@ -625,7 +629,7 @@ int NextTaggedActor() { PMOVER pActor; bool hid; - do { + while (ti < NumActors); { if (actorInfo[ti].tagged) { pActor = GetMover(ti+1); if (pActor) @@ -637,6 +641,7 @@ int NextTaggedActor() { return ++ti; } } + ++ti; } while (++ti < NumActors); return 0; diff --git a/engines/tinsel/sched.cpp b/engines/tinsel/sched.cpp index 08a68d2d4a..d90312d271 100644 --- a/engines/tinsel/sched.cpp +++ b/engines/tinsel/sched.cpp @@ -760,6 +760,7 @@ void GlobalProcesses(uint32 numProcess, byte *pProcess) { */ void FreeGlobalProcesses() { delete[] pGlobalProcess; + pGlobalProcess = 0; numGlobalProcess = 0; } |