diff options
author | UbitUmarov | 2014-08-12 22:17:15 +0100 |
---|---|---|
committer | UbitUmarov | 2014-08-12 22:17:15 +0100 |
commit | dbbfaf3ac375a8d8f95327c334183e74b9fa70be (patch) | |
tree | dd120192061a240d9880fb313cb4649dff805520 | |
parent | fix the damm thing (diff) | |
download | opensim-SC-dbbfaf3ac375a8d8f95327c334183e74b9fa70be.zip opensim-SC-dbbfaf3ac375a8d8f95327c334183e74b9fa70be.tar.gz opensim-SC-dbbfaf3ac375a8d8f95327c334183e74b9fa70be.tar.bz2 opensim-SC-dbbfaf3ac375a8d8f95327c334183e74b9fa70be.tar.xz |
force AgentUpdate after CompleteAgentMovement to pass by significance test
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 8a28faf..89deafd 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -5764,14 +5764,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5764 | //qdelta2 = 1 - (float)Math.Pow(Quaternion.Dot(x.HeadRotation, m_thisAgentUpdateArgs.HeadRotation), 2); | 5764 | //qdelta2 = 1 - (float)Math.Pow(Quaternion.Dot(x.HeadRotation, m_thisAgentUpdateArgs.HeadRotation), 2); |
5765 | 5765 | ||
5766 | bool movementSignificant = | 5766 | bool movementSignificant = |
5767 | (qdelta1 > QDELTA) // significant if body rotation above threshold | 5767 | (x.ControlFlags != m_thisAgentUpdateArgs.ControlFlags) // significant if control flags changed |
5768 | // Ignoring head rotation altogether, because it's not being used for anything interesting up the stack | ||
5769 | // || (qdelta2 > QDELTA * 10) // significant if head rotation above threshold | ||
5770 | || (x.ControlFlags != m_thisAgentUpdateArgs.ControlFlags) // significant if control flags changed | ||
5771 | || (x.ControlFlags != (byte)AgentManager.ControlFlags.NONE) // significant if user supplying any movement update commands | 5768 | || (x.ControlFlags != (byte)AgentManager.ControlFlags.NONE) // significant if user supplying any movement update commands |
5772 | || (x.Far != m_thisAgentUpdateArgs.Far) // significant if far distance changed | ||
5773 | || (x.Flags != m_thisAgentUpdateArgs.Flags) // significant if Flags changed | 5769 | || (x.Flags != m_thisAgentUpdateArgs.Flags) // significant if Flags changed |
5774 | || (x.State != m_thisAgentUpdateArgs.State) // significant if Stats changed | 5770 | || (x.State != m_thisAgentUpdateArgs.State) // significant if Stats changed |
5771 | || (qdelta1 > QDELTA) // significant if body rotation above threshold | ||
5772 | // Ignoring head rotation altogether, because it's not being used for anything interesting up the stack | ||
5773 | // || (qdelta2 > QDELTA * 10) // significant if head rotation above threshold | ||
5774 | || (x.Far != m_thisAgentUpdateArgs.Far) // significant if far distance changed | ||
5775 | ; | 5775 | ; |
5776 | //if (movementSignificant) | 5776 | //if (movementSignificant) |
5777 | //{ | 5777 | //{ |
@@ -6751,6 +6751,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6751 | 6751 | ||
6752 | private bool HandleCompleteAgentMovement(IClientAPI sender, Packet Pack) | 6752 | private bool HandleCompleteAgentMovement(IClientAPI sender, Packet Pack) |
6753 | { | 6753 | { |
6754 | |||
6755 | m_thisAgentUpdateArgs.CameraAtAxis.X = float.MinValue; | ||
6756 | m_thisAgentUpdateArgs.ControlFlags = uint.MaxValue; | ||
6757 | |||
6754 | Action<IClientAPI, bool> handlerCompleteMovementToRegion = OnCompleteMovementToRegion; | 6758 | Action<IClientAPI, bool> handlerCompleteMovementToRegion = OnCompleteMovementToRegion; |
6755 | if (handlerCompleteMovementToRegion != null) | 6759 | if (handlerCompleteMovementToRegion != null) |
6756 | { | 6760 | { |