aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-03-23 00:47:59 +0000
committerJustin Clark-Casey (justincc)2013-03-23 00:47:59 +0000
commit01636ca90015561366130a3db9b19e4eb976b80a (patch)
tree674c65ce52fb00216fffc8455fbe7d1748d7a85b
parentAdd "show borders" command to show the borders of a region. (diff)
downloadopensim-SC_OLD-01636ca90015561366130a3db9b19e4eb976b80a.zip
opensim-SC_OLD-01636ca90015561366130a3db9b19e4eb976b80a.tar.gz
opensim-SC_OLD-01636ca90015561366130a3db9b19e4eb976b80a.tar.bz2
opensim-SC_OLD-01636ca90015561366130a3db9b19e4eb976b80a.tar.xz
Fix teleporting into the non-SW 256x256 corner of a megaregion, though currently with a 10 second delay before auto-reteleport to the correct location.
This now does a check for border crossing (required to trigger the teleport) immediately in SP.MakeRootAgent(). If left any later, it looks like the physics scene changes the position and stops the cross happening. If done any earlier, nothing happens because the cross-code currently requires a PhysicsActor to be in place, thuogh it's probably not necessary for this case.
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs7
1 files changed, 7 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index f7ae3a2..f3b923f 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -925,6 +925,13 @@ namespace OpenSim.Region.Framework.Scenes
925 925
926 AddToPhysicalScene(isFlying); 926 AddToPhysicalScene(isFlying);
927 927
928 // XXX: This is to trigger any secondary teleport needed for a megaregion when the user has teleported to a
929 // location outside the 'root region' (the south-west 256x256 corner). This is the earlist we can do it
930 // since it requires a physics actor to be present. If it is left any later, then physics appears to reset
931 // the value to a negative position which does not trigger the border cross.
932 // This may not be the best location for this.
933 CheckForBorderCrossing();
934
928 if (ForceFly) 935 if (ForceFly)
929 { 936 {
930 Flying = true; 937 Flying = true;