diff options
| author | leviathan <leviathan@lindenlab.com> | 2026-09-24 13:34:56 -0700 |
|---|---|---|
| committer | leviathan <leviathan@lindenlab.com> | 2026-10-16 13:14:38 -0700 |
| commit | 7a204dcbf1e826ea2ccdbbf46f3559d4ba999ff1 (patch) | |
| tree | 5b97e91c5b5fdef0c79988a82871cf9e92b405f1 /indra/newview/llagentcamera.cpp | |
| parent | 6dab61523f2c0c05379f376e17c747f70c7112f3 (diff) | |
fix game-control flycam and misc preferences UI
Diffstat (limited to 'indra/newview/llagentcamera.cpp')
| -rw-r--r-- | indra/newview/llagentcamera.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 43c01c8d6f..ea38ac34a3 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -3054,7 +3054,12 @@ void LLAgentCamera::updateFlycam(F32 delta_time) bool flycam_key_unroll_requested = mFlycamKeyboardUnrollRequested; mFlycamKeyboardUnrollRequested = false; - if ((flycam_misc_actions & LLGameControl::FLYCAM_ACTION_UNROLL) || flycam_key_unroll_requested) + // Unroll only undoes roll, and roll is already kept at zero every frame + // (LLFlycam::setRollRate()/integrate()) whenever roll is disallowed, so + // treat an Unroll request as a no-op rather than kicking off a pointless + // startReset() lerp while "Allow Roll" is unchecked. + if (LLGameControl::isFlycamRollAllowed() + && ((flycam_misc_actions & LLGameControl::FLYCAM_ACTION_UNROLL) || flycam_key_unroll_requested)) { // Re-orient the flycam in place: keep its current position and // forward (local X) axis unchanged, but unroll it so its local vertical |
