diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 18 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 6 |
2 files changed, 17 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 0d14b83..cbd45c3 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -461,8 +461,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
461 | 461 | ||
462 | if (Scene != null) | 462 | if (Scene != null) |
463 | { | 463 | { |
464 | if ((Scene.TestBorderCross(val - Vector3.UnitX, Cardinals.E) || Scene.TestBorderCross(val + Vector3.UnitX, Cardinals.W) | 464 | // if ((Scene.TestBorderCross(val - Vector3.UnitX, Cardinals.E) || Scene.TestBorderCross(val + Vector3.UnitX, Cardinals.W) |
465 | || Scene.TestBorderCross(val - Vector3.UnitY, Cardinals.N) || Scene.TestBorderCross(val + Vector3.UnitY, Cardinals.S)) | 465 | // || Scene.TestBorderCross(val - Vector3.UnitY, Cardinals.N) || Scene.TestBorderCross(val + Vector3.UnitY, Cardinals.S)) |
466 | // && !IsAttachmentCheckFull() && (!Scene.LoadingPrims)) | ||
467 | if ((Scene.TestBorderCross(val, Cardinals.E) || Scene.TestBorderCross(val, Cardinals.W) | ||
468 | || Scene.TestBorderCross(val, Cardinals.N) || Scene.TestBorderCross(val, Cardinals.S)) | ||
466 | && !IsAttachmentCheckFull() && (!Scene.LoadingPrims)) | 469 | && !IsAttachmentCheckFull() && (!Scene.LoadingPrims)) |
467 | { | 470 | { |
468 | IEntityTransferModule entityTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>(); | 471 | IEntityTransferModule entityTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>(); |
@@ -489,7 +492,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
489 | canCross = false; | 492 | canCross = false; |
490 | break; | 493 | break; |
491 | } | 494 | } |
492 | 495 | ||
493 | m_log.DebugFormat("[SCENE OBJECT]: Avatar {0} needs to be crossed to {1}", av.Name, destination.RegionName); | 496 | m_log.DebugFormat("[SCENE OBJECT]: Avatar {0} needs to be crossed to {1}", av.Name, destination.RegionName); |
494 | } | 497 | } |
495 | 498 | ||
@@ -534,8 +537,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
534 | return; | 537 | return; |
535 | } | 538 | } |
536 | } | 539 | } |
540 | else if (RootPart.PhysActor != null) | ||
541 | { | ||
542 | RootPart.PhysActor.CrossingFailure(); | ||
543 | } | ||
537 | 544 | ||
538 | val = AbsolutePosition; | 545 | Vector3 oldp = AbsolutePosition; |
546 | val.X = Util.Clamp<float>(oldp.X, 0.5f, (float)Constants.RegionSize - 0.5f); | ||
547 | val.Y = Util.Clamp<float>(oldp.Y, 0.5f, (float)Constants.RegionSize - 0.5f); | ||
548 | val.Z = Util.Clamp<float>(oldp.Z, 0.5f, 4096.0f); | ||
539 | } | 549 | } |
540 | } | 550 | } |
541 | 551 | ||
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 4a08ce3..d6d04b2 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -2615,9 +2615,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2615 | Vector3 newpos = new Vector3(PhysActor.Position.GetBytes(), 0); | 2615 | Vector3 newpos = new Vector3(PhysActor.Position.GetBytes(), 0); |
2616 | 2616 | ||
2617 | if (ParentGroup.Scene.TestBorderCross(newpos, Cardinals.N) | 2617 | if (ParentGroup.Scene.TestBorderCross(newpos, Cardinals.N) |
2618 | | ParentGroup.Scene.TestBorderCross(newpos, Cardinals.S) | 2618 | || ParentGroup.Scene.TestBorderCross(newpos, Cardinals.S) |
2619 | | ParentGroup.Scene.TestBorderCross(newpos, Cardinals.E) | 2619 | || ParentGroup.Scene.TestBorderCross(newpos, Cardinals.E) |
2620 | | ParentGroup.Scene.TestBorderCross(newpos, Cardinals.W)) | 2620 | || ParentGroup.Scene.TestBorderCross(newpos, Cardinals.W)) |
2621 | { | 2621 | { |
2622 | ParentGroup.AbsolutePosition = newpos; | 2622 | ParentGroup.AbsolutePosition = newpos; |
2623 | return; | 2623 | return; |