Crouch toggle (Shift+C) doesn't toggle crouch #438
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#438
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom: Shift+C (the default "Toggle crouch" key) doesn't toggle crouch. The avatar ducks for a frame at most and then stands back up.
Root cause (found in code):
app_settings/key_bindings.xmlmapsC+SHIFTtotoggle_down.agent_toggle_down(llviewerinput.cpp:123) flipsLLAgent::mCrouchand sends onemoveUp(-1).AGENT_CONTROL_UP_NEGis sent every frame whilemCrouchis set. The original Alchemy code (b3bc362f6e) did this in the main loop inllappviewer.cpp, right after input scanning: When Rye restored the crouch toggle (a8b8f2ef4d), the binding, handler andmCrouchstate came back but this block didn't.LLAgent::isCrouching()now has no callers anywhere.Fix:
moveUp(-1)called every frame doesn't fight the camera. It skipsresetViewwhilemCrouchis set, so it should be fine.mCrouch), sitting and RLV still behave. While sitting,UP_NEGmay need gating so it doesn't stand the avatar up or steer a vehicle.