diff options
author | Filippos Karapetis | 2007-06-12 20:36:08 +0000 |
---|---|---|
committer | Filippos Karapetis | 2007-06-12 20:36:08 +0000 |
commit | 5db4ab48bc83f9ab0158160367ee3c84c67b23e3 (patch) | |
tree | 78af2ae6b8041e1bee18b212780086c9f11fd28b | |
parent | 110db592c0e2645ddc3789b3c8c5d6d003abb076 (diff) | |
download | scummvm-rg350-5db4ab48bc83f9ab0158160367ee3c84c67b23e3.tar.gz scummvm-rg350-5db4ab48bc83f9ab0158160367ee3c84c67b23e3.tar.bz2 scummvm-rg350-5db4ab48bc83f9ab0158160367ee3c84c67b23e3.zip |
Corrected actor walk speed when exiting from zones in IHNM
svn-id: r27379
-rw-r--r-- | engines/saga/actor.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/saga/actor.cpp b/engines/saga/actor.cpp index 57cbcb77cc..ee35ba5a85 100644 --- a/engines/saga/actor.cpp +++ b/engines/saga/actor.cpp @@ -1443,8 +1443,14 @@ void Actor::handleActions(int msec, bool setup) { actor->cycleWrap(frameRange->frameCount); actor->_frameNumber = frameRange->frameIndex + actor->_actionCycle; } else { - actor->_location.x += directionLUT[actor->_actionDirection][0] * 2; - actor->_location.y += directionLUT[actor->_actionDirection][1] * 2; + if (_vm->getGameType() == GType_ITE) { + actor->_location.x += directionLUT[actor->_actionDirection][0] * 2; + actor->_location.y += directionLUT[actor->_actionDirection][1] * 2; + } else { + // FIXME: The original does not multiply by 8 here, but we do + actor->_location.x += (directionLUT[actor->_actionDirection][0] * 8 * actor->_screenScale + 128) >> 8; + actor->_location.y += (directionLUT[actor->_actionDirection][1] * 8 * actor->_screenScale + 128) >> 8; + } frameRange = getActorFrameRange(actor->_id, actor->_walkFrameSequence); actor->_actionCycle++; |