aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Interfaces/IEntityTransferModule.cs3
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs21
2 files changed, 9 insertions, 15 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IEntityTransferModule.cs b/OpenSim/Region/Framework/Interfaces/IEntityTransferModule.cs
index a0505df..73c68f1 100644
--- a/OpenSim/Region/Framework/Interfaces/IEntityTransferModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IEntityTransferModule.cs
@@ -30,6 +30,7 @@ using OpenSim.Services.Interfaces;
30using GridRegion = OpenSim.Services.Interfaces.GridRegion; 30using GridRegion = OpenSim.Services.Interfaces.GridRegion;
31 31
32using OpenMetaverse; 32using OpenMetaverse;
33using OpenSim.Framework;
33using OpenSim.Region.Framework.Scenes; 34using OpenSim.Region.Framework.Scenes;
34 35
35namespace OpenSim.Region.Framework.Interfaces 36namespace OpenSim.Region.Framework.Interfaces
@@ -39,6 +40,8 @@ namespace OpenSim.Region.Framework.Interfaces
39 void Teleport(ScenePresence agent, ulong regionHandle, Vector3 position, 40 void Teleport(ScenePresence agent, ulong regionHandle, Vector3 position,
40 Vector3 lookAt, uint teleportFlags); 41 Vector3 lookAt, uint teleportFlags);
41 42
43 void TeleportHome(UUID id, IClientAPI client);
44
42 void Cross(ScenePresence agent, bool isFlying); 45 void Cross(ScenePresence agent, bool isFlying);
43 46
44 void AgentArrivedAtDestination(UUID agent); 47 void AgentArrivedAtDestination(UUID agent);
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 5730b56..3cfb236 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -2558,7 +2558,6 @@ namespace OpenSim.Region.Framework.Scenes
2558 { 2558 {
2559 client.OnTeleportLocationRequest += RequestTeleportLocation; 2559 client.OnTeleportLocationRequest += RequestTeleportLocation;
2560 client.OnTeleportLandmarkRequest += RequestTeleportLandmark; 2560 client.OnTeleportLandmarkRequest += RequestTeleportLandmark;
2561 client.OnTeleportHomeRequest += TeleportClientHome;
2562 } 2561 }
2563 2562
2564 public virtual void SubscribeToClientScriptEvents(IClientAPI client) 2563 public virtual void SubscribeToClientScriptEvents(IClientAPI client)
@@ -2713,7 +2712,7 @@ namespace OpenSim.Region.Framework.Scenes
2713 { 2712 {
2714 client.OnTeleportLocationRequest -= RequestTeleportLocation; 2713 client.OnTeleportLocationRequest -= RequestTeleportLocation;
2715 client.OnTeleportLandmarkRequest -= RequestTeleportLandmark; 2714 client.OnTeleportLandmarkRequest -= RequestTeleportLandmark;
2716 client.OnTeleportHomeRequest -= TeleportClientHome; 2715 //client.OnTeleportHomeRequest -= TeleportClientHome;
2717 } 2716 }
2718 2717
2719 public virtual void UnSubscribeToClientScriptEvents(IClientAPI client) 2718 public virtual void UnSubscribeToClientScriptEvents(IClientAPI client)
@@ -2760,20 +2759,12 @@ namespace OpenSim.Region.Framework.Scenes
2760 /// <param name="client">The IClientAPI for the client</param> 2759 /// <param name="client">The IClientAPI for the client</param>
2761 public virtual void TeleportClientHome(UUID agentId, IClientAPI client) 2760 public virtual void TeleportClientHome(UUID agentId, IClientAPI client)
2762 { 2761 {
2763 OpenSim.Services.Interfaces.PresenceInfo pinfo = PresenceService.GetAgent(client.SessionId); 2762 if (m_teleportModule != null)
2764 2763 m_teleportModule.TeleportHome(agentId, client);
2765 if (pinfo != null) 2764 else
2766 { 2765 {
2767 GridRegion regionInfo = GridService.GetRegionByUUID(UUID.Zero, pinfo.HomeRegionID); 2766 m_log.DebugFormat("[SCENE]: Unable to teleport user home: no AgentTransferModule is active");
2768 if (regionInfo == null) 2767 client.SendTeleportFailed("Unable to perform teleports on this simulator.");
2769 {
2770 // can't find the Home region: Tell viewer and abort
2771 client.SendTeleportFailed("Your home-region could not be found.");
2772 return;
2773 }
2774 RequestTeleportLocation(
2775 client, regionInfo.RegionHandle, pinfo.HomePosition, pinfo.HomeLookAt,
2776 (uint)(TPFlags.SetLastToTarget | TPFlags.ViaHome));
2777 } 2768 }
2778 } 2769 }
2779 2770