diff --git a/engines/saga/actor.cpp b/engines/saga/actor.cpp index e92eb1307cc..4c81bede8bd 100644 --- a/engines/saga/actor.cpp +++ b/engines/saga/actor.cpp @@ -1409,11 +1409,13 @@ void Actor::handleActions(int msec, bool setup) { if(_vm->getGameType() == GType_ITE) speed = (ACTOR_LMULT * 2 * actor->_screenScale + 63) / 256; else - speed = (72 * actor->_screenScale + 128) / 256; + speed = (ACTOR_SPEED * actor->_screenScale + 128) >> 8; - if (speed < 1) { + if (speed < 1) speed = 1; - } + + if(_vm->getGameType() == GType_IHNM) + speed = speed / 2; if ((actor->_actionDirection == kDirUp) || (actor->_actionDirection == kDirDown)) { addDelta.y = clamp(-speed, delta.y, speed); diff --git a/engines/saga/actor.h b/engines/saga/actor.h index d6ca4c4f416..bc18259f700 100644 --- a/engines/saga/actor.h +++ b/engines/saga/actor.h @@ -50,6 +50,8 @@ class HitZone; #define ACTOR_LMULT 4 +#define ACTOR_SPEED 72 + #define ACTOR_CLIMB_SPEED 8 #define ACTOR_COLLISION_WIDTH 32