diff options
author | Diva Canto | 2010-08-16 11:33:59 -0700 |
---|---|---|
committer | Diva Canto | 2010-08-16 11:33:59 -0700 |
commit | 77de28965ae5fc6de3c60a28ce7d4e59643a2a70 (patch) | |
tree | 61259b696fb8d8a47f10cb83a72d1df145953b8f /OpenSim/Region/CoreModules | |
parent | Increased the timeout on AgentUpdate to 30 sec and improved error message to ... (diff) | |
download | opensim-SC_OLD-77de28965ae5fc6de3c60a28ce7d4e59643a2a70.zip opensim-SC_OLD-77de28965ae5fc6de3c60a28ce7d4e59643a2a70.tar.gz opensim-SC_OLD-77de28965ae5fc6de3c60a28ce7d4e59643a2a70.tar.bz2 opensim-SC_OLD-77de28965ae5fc6de3c60a28ce7d4e59643a2a70.tar.xz |
Work on TeleportStart: renamed method from TeleportLocationStart to TeleportStart, and now sending this upon all teleports, not just some, and in the right place (EntityTransferModule).
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | 3 |
2 files changed, 4 insertions, 9 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 607219e..751d49a 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -174,9 +174,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
174 | position.Z = newPosZ; | 174 | position.Z = newPosZ; |
175 | } | 175 | } |
176 | 176 | ||
177 | // Only send this if the event queue is null | 177 | sp.ControllingClient.SendTeleportStart(teleportFlags); |
178 | if (eq == null) | ||
179 | sp.ControllingClient.SendTeleportLocationStart(); | ||
180 | 178 | ||
181 | sp.ControllingClient.SendLocalTeleport(position, lookAt, teleportFlags); | 179 | sp.ControllingClient.SendLocalTeleport(position, lookAt, teleportFlags); |
182 | sp.Teleport(position); | 180 | sp.Teleport(position); |
@@ -257,9 +255,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
257 | 255 | ||
258 | ulong destinationHandle = finalDestination.RegionHandle; | 256 | ulong destinationHandle = finalDestination.RegionHandle; |
259 | 257 | ||
260 | if (eq == null) | ||
261 | sp.ControllingClient.SendTeleportLocationStart(); | ||
262 | |||
263 | // Let's do DNS resolution only once in this process, please! | 258 | // Let's do DNS resolution only once in this process, please! |
264 | // This may be a costly operation. The reg.ExternalEndPoint field is not a passive field, | 259 | // This may be a costly operation. The reg.ExternalEndPoint field is not a passive field, |
265 | // it's actually doing a lot of work. | 260 | // it's actually doing a lot of work. |
@@ -277,6 +272,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
277 | return; | 272 | return; |
278 | } | 273 | } |
279 | 274 | ||
275 | sp.ControllingClient.SendTeleportStart(teleportFlags); | ||
276 | |||
280 | // the avatar.Close below will clear the child region list. We need this below for (possibly) | 277 | // the avatar.Close below will clear the child region list. We need this below for (possibly) |
281 | // closing the child agents, so save it here (we need a copy as it is Clear()-ed). | 278 | // closing the child agents, so save it here (we need a copy as it is Clear()-ed). |
282 | //List<ulong> childRegions = new List<ulong>(avatar.GetKnownRegionList()); | 279 | //List<ulong> childRegions = new List<ulong>(avatar.GetKnownRegionList()); |
@@ -320,6 +317,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
320 | 317 | ||
321 | if (NeedsNewAgent(oldRegionX, newRegionX, oldRegionY, newRegionY)) | 318 | if (NeedsNewAgent(oldRegionX, newRegionX, oldRegionY, newRegionY)) |
322 | { | 319 | { |
320 | |||
323 | #region IP Translation for NAT | 321 | #region IP Translation for NAT |
324 | IClientIPEndpoint ipepClient; | 322 | IClientIPEndpoint ipepClient; |
325 | if (sp.ClientView.TryGet(out ipepClient)) | 323 | if (sp.ClientView.TryGet(out ipepClient)) |
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 940b535..51f2c41 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | |||
@@ -343,7 +343,6 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
343 | { | 343 | { |
344 | if (!s.IsChildAgent) | 344 | if (!s.IsChildAgent) |
345 | { | 345 | { |
346 | s.ControllingClient.SendTeleportLocationStart(); | ||
347 | m_scene.TeleportClientHome(user, s.ControllingClient); | 346 | m_scene.TeleportClientHome(user, s.ControllingClient); |
348 | } | 347 | } |
349 | } | 348 | } |
@@ -478,7 +477,6 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
478 | ScenePresence s = m_scene.GetScenePresence(prey); | 477 | ScenePresence s = m_scene.GetScenePresence(prey); |
479 | if (s != null) | 478 | if (s != null) |
480 | { | 479 | { |
481 | s.ControllingClient.SendTeleportLocationStart(); | ||
482 | m_scene.TeleportClientHome(prey, s.ControllingClient); | 480 | m_scene.TeleportClientHome(prey, s.ControllingClient); |
483 | } | 481 | } |
484 | } | 482 | } |
@@ -498,7 +496,6 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
498 | // Also make sure they are actually in the region | 496 | // Also make sure they are actually in the region |
499 | if (p != null && !p.IsChildAgent) | 497 | if (p != null && !p.IsChildAgent) |
500 | { | 498 | { |
501 | p.ControllingClient.SendTeleportLocationStart(); | ||
502 | m_scene.TeleportClientHome(p.UUID, p.ControllingClient); | 499 | m_scene.TeleportClientHome(p.UUID, p.ControllingClient); |
503 | } | 500 | } |
504 | } | 501 | } |