From 5db4ab48bc83f9ab0158160367ee3c84c67b23e3 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 12 Jun 2007 20:36:08 +0000 Subject: Corrected actor walk speed when exiting from zones in IHNM svn-id: r27379 --- engines/saga/actor.cpp | 10 ++++++++-- 1 file 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++; -- cgit v1.2.3