mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-27 12:35:46 +00:00
Cap movement animation playback speed
This commit is contained in:
parent
7a6ba8bf7a
commit
ece0db4f82
@ -2289,8 +2289,12 @@ void CharacterController::update(float duration, bool animationOnly)
|
|||||||
}
|
}
|
||||||
else if (mMovementState != CharState_None && mAdjustMovementAnimSpeed)
|
else if (mMovementState != CharState_None && mAdjustMovementAnimSpeed)
|
||||||
{
|
{
|
||||||
float speedmult = speed / mMovementAnimSpeed;
|
// Vanilla caps the played animation speed.
|
||||||
mAnimation->adjustSpeedMult(mCurrentMovement, speedmult);
|
const float maxSpeedMult = 10.f;
|
||||||
|
const float speedMult = speed / mMovementAnimSpeed;
|
||||||
|
mAnimation->adjustSpeedMult(mCurrentMovement, std::min(maxSpeedMult, speedMult));
|
||||||
|
// Make sure the actual speed is the "expected" speed even though the animation is slower
|
||||||
|
scale *= std::max(1.f, speedMult / maxSpeedMult);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mSkipAnim)
|
if (!mSkipAnim)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user