From 4f10a71b98d31c1ba7e3d94065f06a6276a2cbc8 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Tue, 14 Mar 2006 13:16:11 +0000 Subject: [PATCH] An actor is completely reset by showActor() in SCUMM1-2 games. Fixes bug #902391 svn-id: r21283 --- engines/scumm/actor.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp index eaf9a89da28..8319c61a804 100644 --- a/engines/scumm/actor.cpp +++ b/engines/scumm/actor.cpp @@ -810,18 +810,17 @@ void Actor::showActor() { _vm->ensureResourceLoaded(rtCostume, _costume); - if (_costumeNeedsInit) { - startAnimActor(_initFrame); - if (_vm->_game.version <= 2) { - startAnimActor(_standFrame); - startAnimActor(_talkStopFrame); - } - _costumeNeedsInit = false; - } - - // FIXME: Evil hack to work around bug #770717 - if (!_moving && _vm->_game.version <= 2) + if (_vm->_game.version <= 2) { + _cost.reset(); startAnimActor(_standFrame); + startAnimActor(_initFrame); + startAnimActor(_talkStopFrame); + } else { + if (_costumeNeedsInit) { + startAnimActor(_initFrame); + _costumeNeedsInit = false; + } + } stopActorMoving(); _visible = true;