aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs41
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