From 43145c7f673fa038b7e3bfec468e229064c909b7 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Mon, 9 Jan 2012 13:07:02 -0500 Subject: Debugging HG teleport routing Add some temporary debugging to the teleport routing to get a better view of what happens when HG jumps are made. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 6990be1..e3a7f3b 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -3836,6 +3836,24 @@ 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 ******************"); + ILandObject land = m_scene.LandChannel.GetLandObject(pos.X, pos.Y); if (land != null) { -- cgit v1.1 From 3640afdd955e971502437b5663fe09199ba9ba5d Mon Sep 17 00:00:00 2001 From: BlueWall Date: Mon, 9 Jan 2012 14:31:22 -0500 Subject: 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. --- OpenSim/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 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 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; } -- cgit v1.1