From c96245f631bfc3e39e5e731f9cf4b686bebf9cf2 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 1 Jun 2002 21:45:15 +0000 Subject: added some comments; fixed #558310 svn-id: r4391 --- actor.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/actor.cpp b/actor.cpp index fe7d98a50e..c02b8c046c 100644 --- a/actor.cpp +++ b/actor.cpp @@ -910,6 +910,7 @@ void Scumm::processActors() Actor *actors[MAX_ACTORS], *a, **ac, **ac2, *tmp; int numactors = 0, cnt, cnt2; + // Make a list of all actors in this room for (i = 1; i < NUM_ACTORS; i++) { a = derefActor(i); if (a->isInCurrentRoom()) @@ -918,6 +919,8 @@ void Scumm::processActors() if (!numactors) return; + // Sort actors by position before we draw them (to ensure that actors in + // front are drawn after thos behind them). ac = actors; cnt = numactors; do { @@ -932,12 +935,15 @@ void Scumm::processActors() } while (ac2++, --cnt2); } while (ac++, --cnt); + // Finally draw all the actors in this room ac = actors; cnt = numactors; do { a = *ac; if (a->costume) { CHECK_HEAP getMaskFromBox(a->walkbox); + if (_fullRedraw) + a->needRedraw = true; a->drawActorCostume(); CHECK_HEAP a->actorAnimate(); } -- cgit v1.2.3