SL-15689 EEP doesn't change with height for sitting agents

meow-7.2.2
Andrey Kleshchev 2021-08-13 19:21:01 +03:00
parent 0124e8952b
commit 4043945dc7
1 changed files with 21 additions and 0 deletions

View File

@ -2010,6 +2010,27 @@ void LLAgent::updateAgentPosition(const F32 dt, const F32 yaw_radians, const S32
//
gAgentCamera.updateLookAt(mouse_x, mouse_y);
// When agent has no parents, position updates come from setPositionAgent()
// But when agent has a parent (ex: is seated), position remains unchanged
// relative to parent and no parent's position update trigger
// setPositionAgent().
// But EEP's sky track selection still needs an update if agent has a parent
// and parent moves (ex: vehicles).
if (isAgentAvatarValid()
&& gAgentAvatarp->getParent()
&& !mOnPositionChanged.empty()
)
{
LLVector3d new_position = getPositionGlobal();
if ((mLastTestGlobal - new_position).lengthSquared() > 1.0)
{
// If the position has changed by more than 1 meter since the last time we triggered.
// filters out some noise.
mLastTestGlobal = new_position;
mOnPositionChanged(mFrameAgent.getOrigin(), new_position);
}
}
}
// friends and operators