diff options
author | BlueWall | 2012-01-09 14:31:22 -0500 |
---|---|---|
committer | BlueWall | 2012-01-09 14:31:22 -0500 |
commit | 3640afdd955e971502437b5663fe09199ba9ba5d (patch) | |
tree | 8adb4d68559cf902e9ecc2623c55bdd4cea184f0 | |
parent | Debugging HG teleport routing (diff) | |
download | opensim-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.cs | 37 |
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 | } |