diff options
author | Robert Crossfield | 2012-02-05 16:35:44 +1100 |
---|---|---|
committer | Tobias Gunkel | 2012-02-11 08:30:10 +0100 |
commit | 163f698cf0f0f9fb66fd5e782c74d64ea598c953 (patch) | |
tree | afa7c7d5cdda682509605cf351acbb573a1e311e /engines/scumm | |
parent | 9dd6105ce62210509207dc61607543b7bcf5639d (diff) | |
download | scummvm-rg350-163f698cf0f0f9fb66fd5e782c74d64ea598c953.tar.gz scummvm-rg350-163f698cf0f0f9fb66fd5e782c74d64ea598c953.tar.bz2 scummvm-rg350-163f698cf0f0f9fb66fd5e782c74d64ea598c953.zip |
SCUMM: Few changes for animations, dont move while turning & not necessary to call animateactor during startanimactor
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/actor.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp index ee655dec33..bcacdc3b5a 100644 --- a/engines/scumm/actor.cpp +++ b/engines/scumm/actor.cpp @@ -350,6 +350,10 @@ int Actor::actorWalkStep() { startWalkAnim(1, nextFacing); } _moving |= MF_IN_LEG; + + // V0: Don't move during the turn + if(_vm->_game.version == 0) + return 0; } if (_walkbox != _walkdata.curbox && _vm->checkXYInBoxBounds(_walkdata.curbox, _pos.x, _pos.y)) { @@ -384,6 +388,10 @@ int Actor::actorWalkStep() { _moving &= ~MF_IN_LEG; return 0; } + + if(_vm->_game.version == 0) + ((Actor_v0 *)this)->animateActor(newDirToOldDir(_facing)); + return 1; } @@ -583,8 +591,6 @@ void Actor_v2::walkActor() { if (_moving & MF_IN_LEG) { actorWalkStep(); - if(_vm->_game.version == 0) - ((Actor_v0 *)this)->animateActor(newDirToOldDir(_facing)); } else { if (_moving & MF_LAST_LEG) { _moving = 0; @@ -1886,8 +1892,8 @@ void Actor_v0::startAnimActor(int f) { if(f == _standFrame) setDirection(_facing); - else - animateActor(newDirToOldDir(_facing)); + //else + // animateActor(newDirToOldDir(_facing)); } void Actor::animateActor(int anim) { |