diff options
author | Melanie Thielker | 2016-07-04 03:37:45 +0100 |
---|---|---|
committer | Melanie Thielker | 2016-07-04 03:37:45 +0100 |
commit | 4468aa0dcfebb045bc54df1f67f021f85f9bc4b6 (patch) | |
tree | f52b7cf28acfe4bdbdff7ed7dfd112c6dd6b16fb /OpenSim/Region/Framework/Scenes/Scene.cs | |
parent | Finally remove the requirement for an InventoryItem/FolderBase object to (diff) | |
parent | New config var: DisableObjectTransfer. If set to True, objects never cross; i... (diff) | |
download | opensim-SC-4468aa0dcfebb045bc54df1f67f021f85f9bc4b6.zip opensim-SC-4468aa0dcfebb045bc54df1f67f021f85f9bc4b6.tar.gz opensim-SC-4468aa0dcfebb045bc54df1f67f021f85f9bc4b6.tar.bz2 opensim-SC-4468aa0dcfebb045bc54df1f67f021f85f9bc4b6.tar.xz |
Merge branch 'master' of opensimulator.org:/var/git/opensim
Diffstat (limited to '')
-rwxr-xr-x | OpenSim/Region/Framework/Scenes/Scene.cs | 20 |
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; |