[Scummvm-cvs-logs] CVS: scummvm actor.cpp,1.76,1.77
Max Horn
fingolfin at users.sourceforge.net
Sat Jun 1 14:46:08 CEST 2002
Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv14422
Modified Files:
actor.cpp
Log Message:
added some comments; fixed #558310
Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/actor.cpp,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -d -r1.76 -r1.77
--- actor.cpp 25 May 2002 18:56:28 -0000 1.76
+++ actor.cpp 1 Jun 2002 21:45:15 -0000 1.77
@@ -910,6 +910,7 @@
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 @@
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 @@
} 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();
}
More information about the Scummvm-git-logs
mailing list