diff options
author | Melanie | 2013-03-23 23:01:55 +0000 |
---|---|---|
committer | Melanie | 2013-03-23 23:01:55 +0000 |
commit | 6ce9ed1a6422599f136f6f5d80e11324e32067c6 (patch) | |
tree | 5d34e0dfd91b6397d97e5be9ce976621356b361f /OpenSim/Region/Framework/Scenes/ScenePresence.cs | |
parent | Merge branch 'avination' into careminster (diff) | |
parent | Fix teleporting into the non-SW 256x256 corner of a megaregion, though curren... (diff) | |
download | opensim-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/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 20 |
1 files changed, 17 insertions, 3 deletions
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)) |