From 3640afdd955e971502437b5663fe09199ba9ba5d Mon Sep 17 00:00:00 2001 From: BlueWall Date: Mon, 9 Jan 2012 14:31:22 -0500 Subject: [PATCH] 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. --- .../Region/Framework/Scenes/ScenePresence.cs | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index e3a7f3b166..8a49f2c58e 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -3836,23 +3836,23 @@ namespace OpenSim.Region.Framework.Scenes private void CheckAndAdjustLandingPoint(ref Vector3 pos) { - // Some debugging help to show all the TeleportFlags we have... - bool HG = false; - if((m_teleportFlags & (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) == (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) - HG = true; - - m_log.InfoFormat("[SCENE PRESENCE]: TELEPORT ******************"); - - for (uint i = 0; i <= 30 ; i++) - { - if((m_teleportFlags & (TeleportFlags)i) == (TeleportFlags)i) - if (HG == false) - m_log.InfoFormat("[SCENE PRESENCE]: Teleport Flags include {0}", ((TeleportFlags) i).ToString()); - else - m_log.InfoFormat("[SCENE PRESENCE]: HG Teleport Flags include {0}", ((TeleportFlags)i).ToString()); - } - - m_log.InfoFormat("[SCENE PRESENCE]: TELEPORT ******************"); +// // Some temporary debugging help to show all the TeleportFlags we have... +// bool HG = false; +// if((m_teleportFlags & (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) == (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) +// HG = true; +// +// m_log.InfoFormat("[SCENE PRESENCE]: TELEPORT ******************"); +// +// for (uint i = 0; i <= 30 ; i++) +// { +// if((m_teleportFlags & (TeleportFlags)i) == (TeleportFlags)i) +// if (HG == false) +// m_log.InfoFormat("[SCENE PRESENCE]: Teleport Flags include {0}", ((TeleportFlags) i).ToString()); +// else +// m_log.InfoFormat("[SCENE PRESENCE]: HG Teleport Flags include {0}", ((TeleportFlags)i).ToString()); +// } +// +// m_log.InfoFormat("[SCENE PRESENCE]: TELEPORT ******************"); ILandObject land = m_scene.LandChannel.GetLandObject(pos.X, pos.Y); if (land != null) @@ -3873,7 +3873,8 @@ namespace OpenSim.Region.Framework.Scenes GodLevel < 200 && ((land.LandData.OwnerID != m_uuid && (!m_scene.Permissions.IsGod(m_uuid)) && - (!m_scene.RegionInfo.EstateSettings.IsEstateManager(m_uuid))) || (m_teleportFlags & TeleportFlags.ViaLocation) != 0)) + (!m_scene.RegionInfo.EstateSettings.IsEstateManager(m_uuid))) || (m_teleportFlags & TeleportFlags.ViaLocation) != 0) || + ((m_teleportFlags & (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) == (TeleportFlags)Constants.TeleportFlags.ViaHGLogin)) { pos = land.LandData.UserLocation; }