aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rwxr-xr-xOpenSim/Region/Framework/Scenes/Scene.cs20
1 files changed, 16 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index a75b460..0d19e94 100755
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -250,6 +250,12 @@ namespace OpenSim.Region.Framework.Scenes
250 /// 250 ///
251 public int m_linksetPhysCapacity = 0; 251 public int m_linksetPhysCapacity = 0;
252 252
253 /// <summary>
254 /// When placed outside the region's border, do we transfer the objects or
255 /// do we keep simulating them here?
256 /// </summary>
257 public bool DisableObjectTransfer { get; set; }
258
253 public bool m_useFlySlow; 259 public bool m_useFlySlow;
254 public bool m_useTrashOnDelete = true; 260 public bool m_useTrashOnDelete = true;
255 261
@@ -1155,6 +1161,7 @@ namespace OpenSim.Region.Framework.Scenes
1155 if (entityTransferConfig != null) 1161 if (entityTransferConfig != null)
1156 { 1162 {
1157 AllowAvatarCrossing = entityTransferConfig.GetBoolean("AllowAvatarCrossing", AllowAvatarCrossing); 1163 AllowAvatarCrossing = entityTransferConfig.GetBoolean("AllowAvatarCrossing", AllowAvatarCrossing);
1164 DisableObjectTransfer = entityTransferConfig.GetBoolean("DisableObjectTransfer", false);
1158 } 1165 }
1159 1166
1160 #region Interest Management 1167 #region Interest Management
@@ -4309,14 +4316,14 @@ namespace OpenSim.Region.Framework.Scenes
4309 if (banned || restricted) 4316 if (banned || restricted)
4310 { 4317 {
4311 ILandObject nearestParcel = GetNearestAllowedParcel(agentID, posX, posY); 4318 ILandObject nearestParcel = GetNearestAllowedParcel(agentID, posX, posY);
4319 Vector2? newPosition = null;
4312 if (nearestParcel != null) 4320 if (nearestParcel != null)
4313 { 4321 {
4314 //Move agent to nearest allowed 4322 //Move agent to nearest allowed
4315 Vector2 newPosition = GetParcelSafeCorner(nearestParcel); 4323// Vector2 newPosition = GetParcelSafeCorner(nearestParcel);
4316 posX = newPosition.X; 4324 newPosition = nearestParcel.GetNearestPoint(new Vector3(posX, posY,0));
4317 posY = newPosition.Y;
4318 } 4325 }
4319 else 4326 if(newPosition == null)
4320 { 4327 {
4321 if (banned) 4328 if (banned)
4322 { 4329 {
@@ -4329,6 +4336,11 @@ namespace OpenSim.Region.Framework.Scenes
4329 } 4336 }
4330 return false; 4337 return false;
4331 } 4338 }
4339 else
4340 {
4341 posX = newPosition.Value.X;
4342 posY = newPosition.Value.Y;
4343 }
4332 } 4344 }
4333 reason = ""; 4345 reason = "";
4334 return true; 4346 return true;