aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs13
1 files changed, 13 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 6861f5b..585cdc4 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -8942,6 +8942,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8942 TeleportLocationRequest handlerTeleportLocationRequest = OnTeleportLocationRequest; 8942 TeleportLocationRequest handlerTeleportLocationRequest = OnTeleportLocationRequest;
8943 if (handlerTeleportLocationRequest != null) 8943 if (handlerTeleportLocationRequest != null)
8944 { 8944 {
8945 // Adjust teleport location to base of a larger region if requested to teleport to a sub-region
8946 uint locX, locY;
8947 Util.RegionHandleToWorldLoc(tpLocReq.Info.RegionHandle, out locX, out locY);
8948 if ((locX >= m_scene.RegionInfo.WorldLocX)
8949 && (locX < (m_scene.RegionInfo.WorldLocX + m_scene.RegionInfo.RegionSizeX))
8950 && (locY >= m_scene.RegionInfo.WorldLocY)
8951 && (locY < (m_scene.RegionInfo.WorldLocY + m_scene.RegionInfo.RegionSizeY)) )
8952 {
8953 tpLocReq.Info.RegionHandle = m_scene.RegionInfo.RegionHandle;
8954 tpLocReq.Info.Position.X += locX - m_scene.RegionInfo.WorldLocX;
8955 tpLocReq.Info.Position.Y += locY - m_scene.RegionInfo.WorldLocY;
8956 }
8957
8945 handlerTeleportLocationRequest(this, tpLocReq.Info.RegionHandle, tpLocReq.Info.Position, 8958 handlerTeleportLocationRequest(this, tpLocReq.Info.RegionHandle, tpLocReq.Info.Position,
8946 tpLocReq.Info.LookAt, 16); 8959 tpLocReq.Info.LookAt, 16);
8947 } 8960 }