aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorBlueWall2012-01-09 14:31:22 -0500
committerBlueWall2012-01-09 14:31:22 -0500
commit3640afdd955e971502437b5663fe09199ba9ba5d (patch)
tree8adb4d68559cf902e9ecc2623c55bdd4cea184f0
parentDebugging HG teleport routing (diff)
downloadopensim-SC-3640afdd955e971502437b5663fe09199ba9ba5d.zip
opensim-SC-3640afdd955e971502437b5663fe09199ba9ba5d.tar.gz
opensim-SC-3640afdd955e971502437b5663fe09199ba9ba5d.tar.bz2
opensim-SC-3640afdd955e971502437b5663fe09199ba9ba5d.tar.xz
Fix teleport routing for incoming HG+Owner
Incoming HG owner/estate manager, etc. is routed according to the rules defined for teleports within the local grid. Left some commented debugging code inside so we can test other cases. Will remove when tings are settled in.
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs37
1 files changed, 19 insertions, 18 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index e3a7f3b..8a49f2c 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -3836,23 +3836,23 @@ namespace OpenSim.Region.Framework.Scenes
3836 3836
3837 private void CheckAndAdjustLandingPoint(ref Vector3 pos) 3837 private void CheckAndAdjustLandingPoint(ref Vector3 pos)
3838 { 3838 {
3839 // Some debugging help to show all the TeleportFlags we have... 3839// // Some temporary debugging help to show all the TeleportFlags we have...
3840 bool HG = false; 3840// bool HG = false;
3841 if((m_teleportFlags & (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) == (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) 3841// if((m_teleportFlags & (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) == (TeleportFlags)Constants.TeleportFlags.ViaHGLogin)
3842 HG = true; 3842// HG = true;
3843 3843//
3844 m_log.InfoFormat("[SCENE PRESENCE]: TELEPORT ******************"); 3844// m_log.InfoFormat("[SCENE PRESENCE]: TELEPORT ******************");
3845 3845//
3846 for (uint i = 0; i <= 30 ; i++) 3846// for (uint i = 0; i <= 30 ; i++)
3847 { 3847// {
3848 if((m_teleportFlags & (TeleportFlags)i) == (TeleportFlags)i) 3848// if((m_teleportFlags & (TeleportFlags)i) == (TeleportFlags)i)
3849 if (HG == false) 3849// if (HG == false)
3850 m_log.InfoFormat("[SCENE PRESENCE]: Teleport Flags include {0}", ((TeleportFlags) i).ToString()); 3850// m_log.InfoFormat("[SCENE PRESENCE]: Teleport Flags include {0}", ((TeleportFlags) i).ToString());
3851 else 3851// else
3852 m_log.InfoFormat("[SCENE PRESENCE]: HG Teleport Flags include {0}", ((TeleportFlags)i).ToString()); 3852// m_log.InfoFormat("[SCENE PRESENCE]: HG Teleport Flags include {0}", ((TeleportFlags)i).ToString());
3853 } 3853// }
3854 3854//
3855 m_log.InfoFormat("[SCENE PRESENCE]: TELEPORT ******************"); 3855// m_log.InfoFormat("[SCENE PRESENCE]: TELEPORT ******************");
3856 3856
3857 ILandObject land = m_scene.LandChannel.GetLandObject(pos.X, pos.Y); 3857 ILandObject land = m_scene.LandChannel.GetLandObject(pos.X, pos.Y);
3858 if (land != null) 3858 if (land != null)
@@ -3873,7 +3873,8 @@ namespace OpenSim.Region.Framework.Scenes
3873 GodLevel < 200 && 3873 GodLevel < 200 &&
3874 ((land.LandData.OwnerID != m_uuid && 3874 ((land.LandData.OwnerID != m_uuid &&
3875 (!m_scene.Permissions.IsGod(m_uuid)) && 3875 (!m_scene.Permissions.IsGod(m_uuid)) &&
3876 (!m_scene.RegionInfo.EstateSettings.IsEstateManager(m_uuid))) || (m_teleportFlags & TeleportFlags.ViaLocation) != 0)) 3876 (!m_scene.RegionInfo.EstateSettings.IsEstateManager(m_uuid))) || (m_teleportFlags & TeleportFlags.ViaLocation) != 0) ||
3877 ((m_teleportFlags & (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) == (TeleportFlags)Constants.TeleportFlags.ViaHGLogin))
3877 { 3878 {
3878 pos = land.LandData.UserLocation; 3879 pos = land.LandData.UserLocation;
3879 } 3880 }