aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorMelanie2013-03-23 23:01:55 +0000
committerMelanie2013-03-23 23:01:55 +0000
commit6ce9ed1a6422599f136f6f5d80e11324e32067c6 (patch)
tree5d34e0dfd91b6397d97e5be9ce976621356b361f /OpenSim/Region/Framework/Scenes
parentMerge branch 'avination' into careminster (diff)
parentFix teleporting into the non-SW 256x256 corner of a megaregion, though curren... (diff)
downloadopensim-SC-6ce9ed1a6422599f136f6f5d80e11324e32067c6.zip
opensim-SC-6ce9ed1a6422599f136f6f5d80e11324e32067c6.tar.gz
opensim-SC-6ce9ed1a6422599f136f6f5d80e11324e32067c6.tar.bz2
opensim-SC-6ce9ed1a6422599f136f6f5d80e11324e32067c6.tar.xz
Merge branch 'master' into careminster
Conflicts: OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs OpenSim/Region/Framework/Scenes/ScenePresence.cs
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/Border.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs1
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs20
3 files changed, 22 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Border.cs b/OpenSim/Region/Framework/Scenes/Border.cs
index c6a6511..08c0c31 100644
--- a/OpenSim/Region/Framework/Scenes/Border.cs
+++ b/OpenSim/Region/Framework/Scenes/Border.cs
@@ -33,8 +33,7 @@ using OpenMetaverse;
33namespace OpenSim.Region.Framework.Scenes 33namespace OpenSim.Region.Framework.Scenes
34{ 34{
35 public class Border 35 public class Border
36 { 36 {
37
38 /// <summary> 37 /// <summary>
39 /// Line perpendicular to the Direction Cardinal. Z value is the 38 /// Line perpendicular to the Direction Cardinal. Z value is the
40 /// </summary> 39 /// </summary>
@@ -81,6 +80,10 @@ namespace OpenSim.Region.Framework.Scenes
81 TriggerRegionY = triggerRegionY; 80 TriggerRegionY = triggerRegionY;
82 } 81 }
83 82
83 /// <summary>
84 /// Tests to see if the given position would cross this border.
85 /// </summary>
86 /// <returns></returns>
84 public bool TestCross(Vector3 position) 87 public bool TestCross(Vector3 position)
85 { 88 {
86 bool result = false; 89 bool result = false;
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 6b031ae..c324d4b 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -2643,7 +2643,6 @@ namespace OpenSim.Region.Framework.Scenes
2643 2643
2644 } 2644 }
2645 } 2645 }
2646
2647 2646
2648 return null; 2647 return null;
2649 } 2648 }
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 5ed7b67..322afd2 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -456,9 +456,9 @@ namespace OpenSim.Region.Framework.Scenes
456 { 456 {
457 m_pos = PhysicsActor.Position; 457 m_pos = PhysicsActor.Position;
458 458
459 //m_log.DebugFormat( 459// m_log.DebugFormat(
460 // "[SCENE PRESENCE]: Set position {0} for {1} in {2} via getting AbsolutePosition!", 460// "[SCENE PRESENCE]: Set position of {0} in {1} to {2} via getting AbsolutePosition!",
461 // m_pos, Name, Scene.RegionInfo.RegionName); 461// Name, Scene.Name, m_pos);
462 } 462 }
463 else 463 else
464 { 464 {
@@ -485,6 +485,9 @@ namespace OpenSim.Region.Framework.Scenes
485 } 485 }
486 set 486 set
487 { 487 {
488// m_log.DebugFormat("[SCENE PRESENCE]: Setting position of {0} in {1} to {2}", Name, Scene.Name, value);
489// Util.PrintCallStack();
490
488 if (PhysicsActor != null) 491 if (PhysicsActor != null)
489 { 492 {
490 try 493 try
@@ -1065,6 +1068,13 @@ namespace OpenSim.Region.Framework.Scenes
1065 else 1068 else
1066 AddToPhysicalScene(isFlying); 1069 AddToPhysicalScene(isFlying);
1067 1070
1071 // XXX: This is to trigger any secondary teleport needed for a megaregion when the user has teleported to a
1072 // location outside the 'root region' (the south-west 256x256 corner). This is the earlist we can do it
1073 // since it requires a physics actor to be present. If it is left any later, then physics appears to reset
1074 // the value to a negative position which does not trigger the border cross.
1075 // This may not be the best location for this.
1076 CheckForBorderCrossing();
1077
1068 if (ForceFly) 1078 if (ForceFly)
1069 { 1079 {
1070 Flying = true; 1080 Flying = true;
@@ -3121,6 +3131,10 @@ namespace OpenSim.Region.Framework.Scenes
3121 3131
3122 if (!IsInTransit) 3132 if (!IsInTransit)
3123 { 3133 {
3134// m_log.DebugFormat(
3135// "[SCENE PRESENCE]: Testing border check for projected position {0} of {1} in {2}",
3136// pos2, Name, Scene.Name);
3137
3124 // Checks if where it's headed exists a region 3138 // Checks if where it's headed exists a region
3125 bool needsTransit = false; 3139 bool needsTransit = false;
3126 if (m_scene.TestBorderCross(pos2, Cardinals.W)) 3140 if (m_scene.TestBorderCross(pos2, Cardinals.W))