From a0d4234e8945464da1a125c954f1f7e7ff2c40a3 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sun, 5 Jan 2003 22:38:44 +0000 Subject: fix redraw bug in the Dig (when Cmdr Low stands in front of the sparks in the nexus); changed startAnimActor slightly (not fully sure if this is now right or if the previous code was right svn-id: r6342 --- scumm/actor.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'scumm/actor.cpp') diff --git a/scumm/actor.cpp b/scumm/actor.cpp index 746e26fe81..e57af33565 100644 --- a/scumm/actor.cpp +++ b/scumm/actor.cpp @@ -415,7 +415,6 @@ void Actor::setupActorScale() void Actor::startAnimActor(int f) { - frame = f; if (_vm->_features & GF_NEW_COSTUMES) { switch (f) { case 1001: @@ -435,6 +434,8 @@ void Actor::startAnimActor(int f) break; } + frame = f; + if (costume != 0) { animProgress = 0; needRedraw = true; @@ -464,6 +465,7 @@ void Actor::startAnimActor(int f) } assert(f != 0x3E); + frame = f; // FIXME: This is a hack to fix decapitation, which somehow occurs only on // the standFrame (CHORE mode 3). We hack around this by simply using the @@ -1024,7 +1026,10 @@ void Actor::drawActorCostume() ar.draw_top = top = 0x7fffffff; ar.draw_bottom = bottom = 0; - ar.drawCostume(); + if (ar.drawCostume()) { + needBgReset = true; + needRedraw = true; + } top = ar.draw_top; bottom = ar.draw_bottom; } -- cgit v1.2.3