diff options
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/actor.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp index b0793ae0b2..529a688f43 100644 --- a/scumm/actor.cpp +++ b/scumm/actor.cpp @@ -848,17 +848,21 @@ void Scumm::playActorSounds() void Scumm::processActors() { int i; - Actor *actors[NUM_ACTORS], *a, **ac, **ac2, *tmp, **end; + Actor **actors, *a, **ac, **ac2, *tmp, **end; int numactors = 0; + actors = new Actor*[NUM_ACTORS]; + // Make a list of all actors in this room for (i = 1; i < NUM_ACTORS; i++) { a = derefActor(i); if (a->isInCurrentRoom()) actors[numactors++] = a; } - if (!numactors) + if (!numactors) { + delete [] actors; return; + } end = actors + numactors; @@ -883,6 +887,8 @@ void Scumm::processActors() CHECK_HEAP a->animateCostume(); } } + + delete [] actors; } void Actor::drawActorCostume() |