summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2024-01-15 22:30:54 +0200
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2024-01-16 01:07:23 +0200
commit568f1a19b16f7febfd6ff3963f28840399aec8b5 (patch)
treeb36b030191260023918aac7145b74cd65aee18c2 /indra/newview
parent5771736bd2dcae1169acd8899bba87a82fbe9de9 (diff)
SL-20783 Avatar turning animation was affected by framerate
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llvoavatar.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index fee00eb6f4..550be30919 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -4283,6 +4283,15 @@ void LLVOAvatar::updateOrientation(LLAgent& agent, F32 speed, F32 delta_time)
if (mTurning)
{
pelvis_rot_threshold *= 0.4f;
+ // account for fps, assume that above value is for ~60fps
+ constexpr F32 default_frame_sec = 0.016f;
+ F32 prev_frame_sec = LLFrameTimer::getFrameDeltaTimeF32();
+ if (default_frame_sec > prev_frame_sec)
+ {
+ // reduce threshold since turn rate per second is constant,
+ // shorter frame means shorter turn.
+ pelvis_rot_threshold *= prev_frame_sec/default_frame_sec;
+ }
}
// am I done turning?