diff options
author | Justin Clark-Casey (justincc) | 2013-03-28 02:17:32 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-03-28 02:17:32 +0000 |
commit | b05ed4ffa693f3481f97a197de7e582492dc7271 (patch) | |
tree | 313883f6b04b17c6581b9e1a93a276f251a1dd62 /OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |
parent | On the North and East sides of a megaregion, only consider regions within 256... (diff) | |
download | opensim-SC_OLD-b05ed4ffa693f3481f97a197de7e582492dc7271.zip opensim-SC_OLD-b05ed4ffa693f3481f97a197de7e582492dc7271.tar.gz opensim-SC_OLD-b05ed4ffa693f3481f97a197de7e582492dc7271.tar.bz2 opensim-SC_OLD-b05ed4ffa693f3481f97a197de7e582492dc7271.tar.xz |
Instead of going via GodLikeRequestTeleport, auto-teleport the agent directly in a megaregion, in the same manner at the "teleport user" console command.
This is to bypass an issue with the HGLureModule which stops the auto-teleport from happening.
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 8da76df..8a16943 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -379,8 +379,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
379 | Vector3 emergencyPos = new Vector3(128, 128, 128); | 379 | Vector3 emergencyPos = new Vector3(128, 128, 128); |
380 | 380 | ||
381 | m_log.WarnFormat( | 381 | m_log.WarnFormat( |
382 | "[ENTITY TRANSFER MODULE]: RequestTeleportToLocation() was given an illegal position of {0} for avatar {1}, {2}. Substituting {3}", | 382 | "[ENTITY TRANSFER MODULE]: RequestTeleportToLocation() was given an illegal position of {0} for avatar {1}, {2} in {3}. Substituting {4}", |
383 | position, sp.Name, sp.UUID, emergencyPos); | 383 | position, sp.Name, sp.UUID, Scene.Name, emergencyPos); |
384 | 384 | ||
385 | position = emergencyPos; | 385 | position = emergencyPos; |
386 | } | 386 | } |
@@ -1346,7 +1346,15 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1346 | Scene initiatingScene) | 1346 | Scene initiatingScene) |
1347 | { | 1347 | { |
1348 | Thread.Sleep(10000); | 1348 | Thread.Sleep(10000); |
1349 | 1349 | ||
1350 | agent.Scene.RequestTeleportLocation( | ||
1351 | agent.ControllingClient, | ||
1352 | Utils.UIntsToLong(regionX * (uint)Constants.RegionSize, regionY * (uint)Constants.RegionSize), | ||
1353 | position, | ||
1354 | agent.Lookat, | ||
1355 | (uint)Constants.TeleportFlags.ViaLocation); | ||
1356 | |||
1357 | /* | ||
1350 | IMessageTransferModule im = initiatingScene.RequestModuleInterface<IMessageTransferModule>(); | 1358 | IMessageTransferModule im = initiatingScene.RequestModuleInterface<IMessageTransferModule>(); |
1351 | if (im != null) | 1359 | if (im != null) |
1352 | { | 1360 | { |
@@ -1381,6 +1389,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1381 | }); | 1389 | }); |
1382 | 1390 | ||
1383 | } | 1391 | } |
1392 | */ | ||
1384 | } | 1393 | } |
1385 | 1394 | ||
1386 | private void InformClientToInitiateTeleportToLocationCompleted(IAsyncResult iar) | 1395 | private void InformClientToInitiateTeleportToLocationCompleted(IAsyncResult iar) |