diff options
author | UbitUmarov | 2014-11-06 19:03:25 +0000 |
---|---|---|
committer | UbitUmarov | 2014-11-06 19:03:25 +0000 |
commit | ead78764abfe3d91f79b55ec200bd0d5e8ca2151 (patch) | |
tree | 5f1cb7c178e908b74a3e0e661e67184e54d93f15 /OpenSim/Region/Framework/Scenes/ScenePresence.cs | |
parent | BUG fix : fix a very silly bug uint in place of ulong :( (diff) | |
download | opensim-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.cs | 18 |
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 | { |