aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Crossfield2012-02-05 16:35:44 +1100
committerTobias Gunkel2012-02-11 08:30:10 +0100
commit163f698cf0f0f9fb66fd5e782c74d64ea598c953 (patch)
treeafa7c7d5cdda682509605cf351acbb573a1e311e
parent9dd6105ce62210509207dc61607543b7bcf5639d (diff)
downloadscummvm-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
-rw-r--r--engines/scumm/actor.cpp14
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) {