diff options
author | Max Horn | 2003-01-05 22:38:44 +0000 |
---|---|---|
committer | Max Horn | 2003-01-05 22:38:44 +0000 |
commit | a0d4234e8945464da1a125c954f1f7e7ff2c40a3 (patch) | |
tree | a0fd272d35bc8354c582f8359dd119fddcc4e9a9 | |
parent | ca8ddd6c6e8a0099c2e1930f81a824f726e29532 (diff) | |
download | scummvm-rg350-a0d4234e8945464da1a125c954f1f7e7ff2c40a3.tar.gz scummvm-rg350-a0d4234e8945464da1a125c954f1f7e7ff2c40a3.tar.bz2 scummvm-rg350-a0d4234e8945464da1a125c954f1f7e7ff2c40a3.zip |
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 <sigh>
svn-id: r6342
-rw-r--r-- | scumm/actor.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
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; } |