bug fix: We can't filter out any of the avatar controls relative to movement, even if not flying (a condition i incorrectly added recently) in fact the entire AgentUpdates throotling is questionable, since its viewer Job. But keeping it...

melanie
UbitUmarov 2016-10-15 20:26:23 +01:00
parent 7494d7726a
commit 7cd4fa8cf5
1 changed files with 5 additions and 4 deletions

View File

@ -6173,8 +6173,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// Threshold for body rotation to be a significant agent update
// use the abs of cos
private const float QDELTABody = 1.0f - 0.0001f;
private const float QDELTAHead = 1.0f - 0.0001f;
private const float QDELTABody = 1.0f - 0.00005f;
private const float QDELTAHead = 1.0f - 0.00005f;
// Threshold for camera rotation to be a significant agent update
private const float VDELTA = 0.01f;
@ -6199,8 +6199,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{
if(
(x.ControlFlags != m_thisAgentUpdateArgs.ControlFlags) // significant if control flags changed
|| ((x.ControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0 &&
(x.ControlFlags & 0x3f8dfff) != 0) // we need to rotate the av on fly
// || ((x.ControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0 &&
// (x.ControlFlags & 0x3f8dfff) != 0) // we need to rotate the av on fly
|| (x.ControlFlags & 0x3f8dfff) != 0 // actually all movement controls need to pass
|| (x.Flags != m_thisAgentUpdateArgs.Flags) // significant if Flags changed
|| (x.State != m_thisAgentUpdateArgs.State) // significant if Stats changed
|| (Math.Abs(x.Far - m_thisAgentUpdateArgs.Far) >= 32) // significant if far distance changed