SL-15689 EEP doesn't change with height for sitting agents
parent
0124e8952b
commit
4043945dc7
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue