summaryrefslogtreecommitdiff
path: root/indra/newview/llagent.cpp
diff options
context:
space:
mode:
authorleviathan <leviathan@lindenlab.com>2026-07-20 17:44:21 -0700
committerleviathan <leviathan@lindenlab.com>2026-10-16 13:14:36 -0700
commit81a3e3178850dc6aba2a128fb35456ca795fd2d4 (patch)
tree0d29304b712a34d5a98c7b9948eee1dd95d0dc59 /indra/newview/llagent.cpp
parent5b4e0b746e632b09dbdf1c4d319048454d13aadc (diff)
add support for running
Diffstat (limited to 'indra/newview/llagent.cpp')
-rw-r--r--indra/newview/llagent.cpp17
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