aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
authorUbitUmarov2014-11-06 19:03:25 +0000
committerUbitUmarov2014-11-06 19:03:25 +0000
commitead78764abfe3d91f79b55ec200bd0d5e8ca2151 (patch)
tree5f1cb7c178e908b74a3e0e661e67184e54d93f15 /OpenSim/Region/Framework/Scenes/ScenePresence.cs
parentBUG fix : fix a very silly bug uint in place of ulong :( (diff)
downloadopensim-SC_OLD-ead78764abfe3d91f79b55ec200bd0d5e8ca2151.zip
opensim-SC_OLD-ead78764abfe3d91f79b55ec200bd0d5e8ca2151.tar.gz
opensim-SC_OLD-ead78764abfe3d91f79b55ec200bd0d5e8ca2151.tar.bz2
opensim-SC_OLD-ead78764abfe3d91f79b55ec200bd0d5e8ca2151.tar.xz
allow drawdistance to change between 32 and MaxDrawDistance, configurable
value default to 256, so should have no effect. Next steps needed: reduce client udp Throttles with distance, update childreen connections with significat movement and view range changes, Make disconnect be delayed in time, make disconnects be receiving region action not sender on region changes. Allow distance less than 256 to only connect to visible regions, even none. Make this be relative to camera and not agent position or region centers as it is now.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs18
1 files changed, 10 insertions, 8 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index c58847b..6a9e0ca 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2061,8 +2061,10 @@ namespace OpenSim.Region.Framework.Scenes
2061 // When we get to the point of re-computing neighbors everytime this 2061 // When we get to the point of re-computing neighbors everytime this
2062 // changes, then start using the agent's drawdistance rather than the 2062 // changes, then start using the agent's drawdistance rather than the
2063 // region's draw distance. 2063 // region's draw distance.
2064 // DrawDistance = agentData.Far; 2064
2065 DrawDistance = Scene.DefaultDrawDistance; 2065 DrawDistance = Util.Clamp(agentData.Far, 32, m_scene.MaxDrawDistance);
2066
2067// DrawDistance = Scene.DefaultDrawDistance;
2066 2068
2067 m_mouseLook = (flags & AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK) != 0; 2069 m_mouseLook = (flags & AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK) != 0;
2068 m_leftButtonDown = (flags & AgentManager.ControlFlags.AGENT_CONTROL_LBUTTON_DOWN) != 0; 2070 m_leftButtonDown = (flags & AgentManager.ControlFlags.AGENT_CONTROL_LBUTTON_DOWN) != 0;
@@ -2417,8 +2419,7 @@ namespace OpenSim.Region.Framework.Scenes
2417 // When we get to the point of re-computing neighbors everytime this 2419 // When we get to the point of re-computing neighbors everytime this
2418 // changes, then start using the agent's drawdistance rather than the 2420 // changes, then start using the agent's drawdistance rather than the
2419 // region's draw distance. 2421 // region's draw distance.
2420 // DrawDistance = agentData.Far; 2422 DrawDistance = Util.Clamp(agentData.Far, 32, m_scene.MaxDrawDistance);
2421 DrawDistance = Scene.DefaultDrawDistance;
2422 2423
2423 // Check if Client has camera in 'follow cam' or 'build' mode. 2424 // Check if Client has camera in 'follow cam' or 'build' mode.
2424 Vector3 camdif = (Vector3.One * Rotation - Vector3.One * CameraRotation); 2425 Vector3 camdif = (Vector3.One * Rotation - Vector3.One * CameraRotation);
@@ -4011,6 +4012,7 @@ namespace OpenSim.Region.Framework.Scenes
4011 foreach (ulong handle in byebyeRegions) 4012 foreach (ulong handle in byebyeRegions)
4012 { 4013 {
4013 RemoveNeighbourRegion(handle); 4014 RemoveNeighbourRegion(handle);
4015 Scene.CapsModule.DropChildSeed(UUID, handle);
4014 } 4016 }
4015 } 4017 }
4016 4018
@@ -4087,8 +4089,8 @@ namespace OpenSim.Region.Framework.Scenes
4087 // When we get to the point of re-computing neighbors everytime this 4089 // When we get to the point of re-computing neighbors everytime this
4088 // changes, then start using the agent's drawdistance rather than the 4090 // changes, then start using the agent's drawdistance rather than the
4089 // region's draw distance. 4091 // region's draw distance.
4090 // DrawDistance = cAgentData.Far; 4092 DrawDistance = cAgentData.Far;
4091 DrawDistance = Scene.DefaultDrawDistance; 4093// DrawDistance = Scene.DefaultDrawDistance;
4092 4094
4093 if (cAgentData.Position != marker) // UGH!! 4095 if (cAgentData.Position != marker) // UGH!!
4094 m_pos = cAgentData.Position + offset; 4096 m_pos = cAgentData.Position + offset;
@@ -4204,8 +4206,8 @@ namespace OpenSim.Region.Framework.Scenes
4204 // When we get to the point of re-computing neighbors everytime this 4206 // When we get to the point of re-computing neighbors everytime this
4205 // changes, then start using the agent's drawdistance rather than the 4207 // changes, then start using the agent's drawdistance rather than the
4206 // region's draw distance. 4208 // region's draw distance.
4207 // DrawDistance = cAgent.Far; 4209 DrawDistance = cAgent.Far;
4208 DrawDistance = Scene.DefaultDrawDistance; 4210 //DrawDistance = Scene.DefaultDrawDistance;
4209 4211
4210 if (cAgent.ChildrenCapSeeds != null && cAgent.ChildrenCapSeeds.Count > 0) 4212 if (cAgent.ChildrenCapSeeds != null && cAgent.ChildrenCapSeeds.Count > 0)
4211 { 4213 {