aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2014-08-12 22:17:15 +0100
committerUbitUmarov2014-08-12 22:17:15 +0100
commitdbbfaf3ac375a8d8f95327c334183e74b9fa70be (patch)
treedd120192061a240d9880fb313cb4649dff805520
parentfix the damm thing (diff)
downloadopensim-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.cs14
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 {