diff options
author | UbitUmarov | 2016-10-21 17:58:17 +0100 |
---|---|---|
committer | UbitUmarov | 2016-10-21 17:58:17 +0100 |
commit | 2ce0673af25901564060edab9e9ce67bbcc7c914 (patch) | |
tree | eae37a850319184ea16c30ffb8b62cf950423f1b /OpenSim/Region | |
parent | Merge branch 'master' into httptests (diff) | |
parent | ignore prims with shape type none on max size check for physics (diff) | |
download | opensim-SC-2ce0673af25901564060edab9e9ce67bbcc7c914.zip opensim-SC-2ce0673af25901564060edab9e9ce67bbcc7c914.tar.gz opensim-SC-2ce0673af25901564060edab9e9ce67bbcc7c914.tar.bz2 opensim-SC-2ce0673af25901564060edab9e9ce67bbcc7c914.tar.xz |
Merge branch 'master' into httptests
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 9 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 20 |
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 | ||