diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 41 |
1 files changed, 37 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 0237021..8fb6c3b 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -103,8 +103,26 @@ namespace OpenSim.Region.Framework.Scenes | |||
103 | /// </summary> | 103 | /// </summary> |
104 | public bool CollidablePrims { get; private set; } | 104 | public bool CollidablePrims { get; private set; } |
105 | 105 | ||
106 | /// <summary> | ||
107 | /// Minimum value of the size of a non-physical prim in each axis | ||
108 | /// </summary> | ||
109 | public float m_minNonphys = 0.01f; | ||
110 | |||
111 | /// <summary> | ||
112 | /// Maximum value of the size of a non-physical prim in each axis | ||
113 | /// </summary> | ||
106 | public float m_maxNonphys = 256; | 114 | public float m_maxNonphys = 256; |
115 | |||
116 | /// <summary> | ||
117 | /// Minimum value of the size of a physical prim in each axis | ||
118 | /// </summary> | ||
119 | public float m_minPhys = 0.01f; | ||
120 | |||
121 | /// <summary> | ||
122 | /// Maximum value of the size of a physical prim in each axis | ||
123 | /// </summary> | ||
107 | public float m_maxPhys = 10; | 124 | public float m_maxPhys = 10; |
125 | |||
108 | public bool m_clampPrimSize; | 126 | public bool m_clampPrimSize; |
109 | public bool m_trustBinaries; | 127 | public bool m_trustBinaries; |
110 | public bool m_allowScriptCrossings; | 128 | public bool m_allowScriptCrossings; |
@@ -746,12 +764,24 @@ namespace OpenSim.Region.Framework.Scenes | |||
746 | PhysicalPrims = startupConfig.GetBoolean("physical_prim", true); | 764 | PhysicalPrims = startupConfig.GetBoolean("physical_prim", true); |
747 | CollidablePrims = startupConfig.GetBoolean("collidable_prim", true); | 765 | CollidablePrims = startupConfig.GetBoolean("collidable_prim", true); |
748 | 766 | ||
767 | m_minNonphys = startupConfig.GetFloat("NonphysicalPrimMin", m_minNonphys); | ||
768 | if (RegionInfo.NonphysPrimMin > 0) | ||
769 | { | ||
770 | m_minNonphys = RegionInfo.NonphysPrimMin; | ||
771 | } | ||
772 | |||
749 | m_maxNonphys = startupConfig.GetFloat("NonphysicalPrimMax", m_maxNonphys); | 773 | m_maxNonphys = startupConfig.GetFloat("NonphysicalPrimMax", m_maxNonphys); |
750 | if (RegionInfo.NonphysPrimMax > 0) | 774 | if (RegionInfo.NonphysPrimMax > 0) |
751 | { | 775 | { |
752 | m_maxNonphys = RegionInfo.NonphysPrimMax; | 776 | m_maxNonphys = RegionInfo.NonphysPrimMax; |
753 | } | 777 | } |
754 | 778 | ||
779 | m_minPhys = startupConfig.GetFloat("PhysicalPrimMin", m_minPhys); | ||
780 | if (RegionInfo.PhysPrimMin > 0) | ||
781 | { | ||
782 | m_minPhys = RegionInfo.PhysPrimMin; | ||
783 | } | ||
784 | |||
755 | m_maxPhys = startupConfig.GetFloat("PhysicalPrimMax", m_maxPhys); | 785 | m_maxPhys = startupConfig.GetFloat("PhysicalPrimMax", m_maxPhys); |
756 | 786 | ||
757 | if (RegionInfo.PhysPrimMax > 0) | 787 | if (RegionInfo.PhysPrimMax > 0) |
@@ -3713,7 +3743,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3713 | "[SCENE]: Existing root scene presence detected for {0} {1} in {2} when connecting. Removing existing presence.", | 3743 | "[SCENE]: Existing root scene presence detected for {0} {1} in {2} when connecting. Removing existing presence.", |
3714 | sp.Name, sp.UUID, RegionInfo.RegionName); | 3744 | sp.Name, sp.UUID, RegionInfo.RegionName); |
3715 | 3745 | ||
3716 | sp.ControllingClient.Close(); | 3746 | sp.ControllingClient.Close(true, true); |
3717 | sp = null; | 3747 | sp = null; |
3718 | } | 3748 | } |
3719 | 3749 | ||
@@ -4316,15 +4346,18 @@ namespace OpenSim.Region.Framework.Scenes | |||
4316 | /// Tell a single agent to disconnect from the region. | 4346 | /// Tell a single agent to disconnect from the region. |
4317 | /// </summary> | 4347 | /// </summary> |
4318 | /// <param name="agentID"></param> | 4348 | /// <param name="agentID"></param> |
4319 | /// <param name="childOnly"></param> | 4349 | /// <param name="force"> |
4320 | public bool IncomingCloseAgent(UUID agentID, bool childOnly) | 4350 | /// Force the agent to close even if it might be in the middle of some other operation. You do not want to |
4351 | /// force unless you are absolutely sure that the agent is dead and a normal close is not working. | ||
4352 | /// </param> | ||
4353 | public bool IncomingCloseAgent(UUID agentID, bool force) | ||
4321 | { | 4354 | { |
4322 | //m_log.DebugFormat("[SCENE]: Processing incoming close agent for {0}", agentID); | 4355 | //m_log.DebugFormat("[SCENE]: Processing incoming close agent for {0}", agentID); |
4323 | 4356 | ||
4324 | ScenePresence presence = m_sceneGraph.GetScenePresence(agentID); | 4357 | ScenePresence presence = m_sceneGraph.GetScenePresence(agentID); |
4325 | if (presence != null) | 4358 | if (presence != null) |
4326 | { | 4359 | { |
4327 | presence.ControllingClient.Close(); | 4360 | presence.ControllingClient.Close(true, force); |
4328 | return true; | 4361 | return true; |
4329 | } | 4362 | } |
4330 | 4363 | ||