diff options
| author | leviathan <leviathan@lindenlab.com> | 2026-07-20 17:44:21 -0700 |
|---|---|---|
| committer | leviathan <leviathan@lindenlab.com> | 2026-10-16 13:14:36 -0700 |
| commit | 81a3e3178850dc6aba2a128fb35456ca795fd2d4 (patch) | |
| tree | 0d29304b712a34d5a98c7b9948eee1dd95d0dc59 /indra/newview/llappviewer.cpp | |
| parent | 5b4e0b746e632b09dbdf1c4d319048454d13aadc (diff) | |
add support for running
Diffstat (limited to 'indra/newview/llappviewer.cpp')
| -rw-r--r-- | indra/newview/llappviewer.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index e452c39a35..83888657bc 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -5408,11 +5408,17 @@ void LLAppViewer::idle() // current avatar state so the runtime mappings and gating track it. gAgent.updateGameControlMode(); - // get control flags from each side + // Read the agent's control flags now, before applyExternalActions() below + // (which drives the avatar from a real game controller) has a chance to + // fold any controller-driven movement into them this frame -- so the + // keyboard-derived GameControl state computed here can never be sourced + // from the controller's own output. See LLGameControllerManager:: + // setExternalInput()/accumulateFinalState() for where the two are + // combined (only as fully-independent final ServerStates). U32 control_flags = gAgent.getControlFlags(); // apply to GameControl - LLGameControl::setExternalInput(control_flags, gAgent.getGameControlButtonsFromKeys()); + LLGameControl::setExternalInput(control_flags, gAgent.getGameControlButtonsFromKeys(), gAgent.getRunning()); if (LLPanelPreferenceGameControl::isWaitingForInputChannel()) { LLPanelPreferenceGameControl::applyGameControlInput(); |
