aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs9
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs20
2 files changed, 17 insertions, 12 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 2650be4..fd3f997 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -6173,8 +6173,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6173 6173
6174 // Threshold for body rotation to be a significant agent update 6174 // Threshold for body rotation to be a significant agent update
6175 // use the abs of cos 6175 // use the abs of cos
6176 private const float QDELTABody = 1.0f - 0.0001f; 6176 private const float QDELTABody = 1.0f - 0.00005f;
6177 private const float QDELTAHead = 1.0f - 0.0001f; 6177 private const float QDELTAHead = 1.0f - 0.00005f;
6178 // Threshold for camera rotation to be a significant agent update 6178 // Threshold for camera rotation to be a significant agent update
6179 private const float VDELTA = 0.01f; 6179 private const float VDELTA = 0.01f;
6180 6180
@@ -6199,8 +6199,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6199 { 6199 {
6200 if( 6200 if(
6201 (x.ControlFlags != m_thisAgentUpdateArgs.ControlFlags) // significant if control flags changed 6201 (x.ControlFlags != m_thisAgentUpdateArgs.ControlFlags) // significant if control flags changed
6202 || ((x.ControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0 && 6202// || ((x.ControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0 &&
6203 (x.ControlFlags & 0x3f8dfff) != 0) // we need to rotate the av on fly 6203// (x.ControlFlags & 0x3f8dfff) != 0) // we need to rotate the av on fly
6204 || x.ControlFlags != (byte)AgentManager.ControlFlags.NONE// actually all movement controls need to pass
6204 || (x.Flags != m_thisAgentUpdateArgs.Flags) // significant if Flags changed 6205 || (x.Flags != m_thisAgentUpdateArgs.Flags) // significant if Flags changed
6205 || (x.State != m_thisAgentUpdateArgs.State) // significant if Stats changed 6206 || (x.State != m_thisAgentUpdateArgs.State) // significant if Stats changed
6206 || (Math.Abs(x.Far - m_thisAgentUpdateArgs.Far) >= 32) // significant if far distance changed 6207 || (Math.Abs(x.Far - m_thisAgentUpdateArgs.Far) >= 32) // significant if far distance changed
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 53a9441..e643db7 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -3869,15 +3869,11 @@ namespace OpenSim.Region.Framework.Scenes
3869 for (int i = 0; i < parts.Length; i++) 3869 for (int i = 0; i < parts.Length; i++)
3870 { 3870 {
3871 SceneObjectPart part = parts[i]; 3871 SceneObjectPart part = parts[i];
3872 if (part.Scale.X > m_scene.m_maxPhys ||
3873 part.Scale.Y > m_scene.m_maxPhys ||
3874 part.Scale.Z > m_scene.m_maxPhys )
3875 {
3876 UsePhysics = false; // Reset physics
3877 break;
3878 }
3879 3872
3880 if (checkShape && part.PhysicsShapeType != (byte)PhysicsShapeType.None) 3873 if(part.PhysicsShapeType == (byte)PhysicsShapeType.None)
3874 continue; // assuming root type was checked elsewhere
3875
3876 if (checkShape)
3881 { 3877 {
3882 if (--maxprims < 0) 3878 if (--maxprims < 0)
3883 { 3879 {
@@ -3885,6 +3881,14 @@ namespace OpenSim.Region.Framework.Scenes
3885 break; 3881 break;
3886 } 3882 }
3887 } 3883 }
3884
3885 if (part.Scale.X > m_scene.m_maxPhys ||
3886 part.Scale.Y > m_scene.m_maxPhys ||
3887 part.Scale.Z > m_scene.m_maxPhys )
3888 {
3889 UsePhysics = false; // Reset physics
3890 break;
3891 }
3888 } 3892 }
3889 } 3893 }
3890 3894