aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
Diffstat (limited to 'scumm')
-rw-r--r--scumm/actor.cpp10
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()