diff options
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 9 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 24 |
2 files changed, 28 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 2815f29..2e116a2 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -83,6 +83,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
83 | public bool m_useFlySlow; | 83 | public bool m_useFlySlow; |
84 | public bool m_usePreJump; | 84 | public bool m_usePreJump; |
85 | public bool m_seeIntoRegionFromNeighbor; | 85 | public bool m_seeIntoRegionFromNeighbor; |
86 | |||
87 | protected float m_defaultDrawDistance = 255.0f; | ||
88 | public float DefaultDrawDistance | ||
89 | { | ||
90 | get { return m_defaultDrawDistance; } | ||
91 | } | ||
92 | |||
86 | // TODO: need to figure out how allow client agents but deny | 93 | // TODO: need to figure out how allow client agents but deny |
87 | // root agents when ACL denies access to root agent | 94 | // root agents when ACL denies access to root agent |
88 | public bool m_strictAccessControl = true; | 95 | public bool m_strictAccessControl = true; |
@@ -649,6 +656,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
649 | // | 656 | // |
650 | IConfig startupConfig = m_config.Configs["Startup"]; | 657 | IConfig startupConfig = m_config.Configs["Startup"]; |
651 | 658 | ||
659 | m_defaultDrawDistance = startupConfig.GetFloat("DefaultDrawDistance",m_defaultDrawDistance); | ||
660 | |||
652 | //Animation states | 661 | //Animation states |
653 | m_useFlySlow = startupConfig.GetBoolean("enableflyslow", false); | 662 | m_useFlySlow = startupConfig.GetBoolean("enableflyslow", false); |
654 | // TODO: Change default to true once the feature is supported | 663 | // TODO: Change default to true once the feature is supported |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index fd03e93..e7056ba 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -690,7 +690,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
690 | Utils.LongToUInts(handle, out x, out y); | 690 | Utils.LongToUInts(handle, out x, out y); |
691 | x = x / Constants.RegionSize; | 691 | x = x / Constants.RegionSize; |
692 | y = y / Constants.RegionSize; | 692 | y = y / Constants.RegionSize; |
693 | if (Util.IsOutsideView(x, Scene.RegionInfo.RegionLocX, y, Scene.RegionInfo.RegionLocY)) | 693 | if (Util.IsOutsideView(DrawDistance, x, Scene.RegionInfo.RegionLocX, y, Scene.RegionInfo.RegionLocY)) |
694 | { | 694 | { |
695 | old.Add(handle); | 695 | old.Add(handle); |
696 | } | 696 | } |
@@ -764,6 +764,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
764 | 764 | ||
765 | private ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo) : this() | 765 | private ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo) : this() |
766 | { | 766 | { |
767 | m_DrawDistance = world.DefaultDrawDistance; | ||
767 | m_rootRegionHandle = reginfo.RegionHandle; | 768 | m_rootRegionHandle = reginfo.RegionHandle; |
768 | m_controllingClient = client; | 769 | m_controllingClient = client; |
769 | m_firstname = m_controllingClient.FirstName; | 770 | m_firstname = m_controllingClient.FirstName; |
@@ -1429,7 +1430,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1429 | m_CameraUpAxis = agentData.CameraUpAxis; | 1430 | m_CameraUpAxis = agentData.CameraUpAxis; |
1430 | 1431 | ||
1431 | // The Agent's Draw distance setting | 1432 | // The Agent's Draw distance setting |
1432 | m_DrawDistance = agentData.Far; | 1433 | // When we get to the point of re-computing neighbors everytime this |
1434 | // changes, then start using the agent's drawdistance rather than the | ||
1435 | // region's draw distance. | ||
1436 | // m_DrawDistance = agentData.Far; | ||
1437 | m_DrawDistance = Scene.DefaultDrawDistance; | ||
1433 | 1438 | ||
1434 | // Check if Client has camera in 'follow cam' or 'build' mode. | 1439 | // Check if Client has camera in 'follow cam' or 'build' mode. |
1435 | Vector3 camdif = (Vector3.One * m_bodyRot - Vector3.One * CameraRotation); | 1440 | Vector3 camdif = (Vector3.One * m_bodyRot - Vector3.One * CameraRotation); |
@@ -3289,7 +3294,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3289 | 3294 | ||
3290 | //m_log.Debug("---> x: " + x + "; newx:" + newRegionX + "; Abs:" + (int)Math.Abs((int)(x - newRegionX))); | 3295 | //m_log.Debug("---> x: " + x + "; newx:" + newRegionX + "; Abs:" + (int)Math.Abs((int)(x - newRegionX))); |
3291 | //m_log.Debug("---> y: " + y + "; newy:" + newRegionY + "; Abs:" + (int)Math.Abs((int)(y - newRegionY))); | 3296 | //m_log.Debug("---> y: " + y + "; newy:" + newRegionY + "; Abs:" + (int)Math.Abs((int)(y - newRegionY))); |
3292 | if (Util.IsOutsideView(x, newRegionX, y, newRegionY)) | 3297 | if (Util.IsOutsideView(DrawDistance, x, newRegionX, y, newRegionY)) |
3293 | { | 3298 | { |
3294 | byebyeRegions.Add(handle); | 3299 | byebyeRegions.Add(handle); |
3295 | } | 3300 | } |
@@ -3365,7 +3370,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
3365 | 3370 | ||
3366 | Vector3 offset = new Vector3(shiftx, shifty, 0f); | 3371 | Vector3 offset = new Vector3(shiftx, shifty, 0f); |
3367 | 3372 | ||
3368 | m_DrawDistance = cAgentData.Far; | 3373 | // When we get to the point of re-computing neighbors everytime this |
3374 | // changes, then start using the agent's drawdistance rather than the | ||
3375 | // region's draw distance. | ||
3376 | // m_DrawDistance = cAgentData.Far; | ||
3377 | m_DrawDistance = Scene.DefaultDrawDistance; | ||
3378 | |||
3369 | if (cAgentData.Position != new Vector3(-1f, -1f, -1f)) // UGH!! | 3379 | if (cAgentData.Position != new Vector3(-1f, -1f, -1f)) // UGH!! |
3370 | m_pos = cAgentData.Position + offset; | 3380 | m_pos = cAgentData.Position + offset; |
3371 | 3381 | ||
@@ -3516,7 +3526,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
3516 | m_CameraLeftAxis = cAgent.LeftAxis; | 3526 | m_CameraLeftAxis = cAgent.LeftAxis; |
3517 | m_CameraUpAxis = cAgent.UpAxis; | 3527 | m_CameraUpAxis = cAgent.UpAxis; |
3518 | 3528 | ||
3519 | m_DrawDistance = cAgent.Far; | 3529 | // When we get to the point of re-computing neighbors everytime this |
3530 | // changes, then start using the agent's drawdistance rather than the | ||
3531 | // region's draw distance. | ||
3532 | // m_DrawDistance = cAgent.Far; | ||
3533 | m_DrawDistance = Scene.DefaultDrawDistance; | ||
3520 | 3534 | ||
3521 | if ((cAgent.Throttles != null) && cAgent.Throttles.Length > 0) | 3535 | if ((cAgent.Throttles != null) && cAgent.Throttles.Length > 0) |
3522 | ControllingClient.SetChildAgentThrottle(cAgent.Throttles); | 3536 | ControllingClient.SetChildAgentThrottle(cAgent.Throttles); |