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/llagent.cpp | |
| parent | 5b4e0b746e632b09dbdf1c4d319048454d13aadc (diff) | |
add support for running
Diffstat (limited to 'indra/newview/llagent.cpp')
| -rw-r--r-- | indra/newview/llagent.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index c7d566b6fa..cfa0d13dd6 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -5023,7 +5023,6 @@ void LLAgent::updateGameControlMode() void LLAgent::applyExternalActions(const LLGameControl::AgentActions& actions) { - LL_INFOS("Messaging") << "wtf? control_flags = 0x" << std::hex << std::setw(8) << std::setfill('0') << actions.mControlFlags << std::dec << LL_ENDL; llassert(LLCoros::on_main_thread_main_coro()); // Valid whenever game control is driving avatar or flycam: in FlyCam mode this // only services the flycam on/off toggle (movement bits are ignored below). @@ -5167,6 +5166,22 @@ void LLAgent::applyExternalActions(const LLGameControl::AgentActions& actions) mToggleThirdPerson = true; } + // actions.mIsRunning is the final walk/run decision computed by + // LLGameControllerManager::computeAgentActions() (button toggle OR analog + // axis deflection); just mirror it onto the agent's running state. + if (actions.mIsRunning != getRunning()) + { + if (actions.mIsRunning) + { + setRunning(); + } + else + { + clearRunning(); + } + sendWalkRun(actions.mIsRunning); + } + mExternalActionFlags = actions.mControlFlags; // measure delta time and frame |
