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 | |
parent | Increased the timeout on AgentUpdate to 30 sec and improved error message to ... (diff) | |
download | opensim-SC-77de28965ae5fc6de3c60a28ce7d4e59643a2a70.zip opensim-SC-77de28965ae5fc6de3c60a28ce7d4e59643a2a70.tar.gz opensim-SC-77de28965ae5fc6de3c60a28ce7d4e59643a2a70.tar.bz2 opensim-SC-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 '')
13 files changed, 27 insertions, 24 deletions
diff --git a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs index 65921a2..5e16347 100644 --- a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs +++ b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs | |||
@@ -1015,7 +1015,7 @@ namespace OpenSim.Client.MXP.ClientStack | |||
1015 | // Need to translate to MXP somehow | 1015 | // Need to translate to MXP somehow |
1016 | } | 1016 | } |
1017 | 1017 | ||
1018 | public void SendTeleportLocationStart() | 1018 | public void SendTeleportStart(uint flags) |
1019 | { | 1019 | { |
1020 | // Need to translate to MXP somehow | 1020 | // Need to translate to MXP somehow |
1021 | } | 1021 | } |
diff --git a/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs b/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs index b808e95..1c702d2 100644 --- a/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs +++ b/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs | |||
@@ -573,7 +573,7 @@ namespace OpenSim.Client.Sirikata.ClientStack | |||
573 | throw new System.NotImplementedException(); | 573 | throw new System.NotImplementedException(); |
574 | } | 574 | } |
575 | 575 | ||
576 | public void SendTeleportLocationStart() | 576 | public void SendTeleportStart(uint flags) |
577 | { | 577 | { |
578 | throw new System.NotImplementedException(); | 578 | throw new System.NotImplementedException(); |
579 | } | 579 | } |
diff --git a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs index a6c490b..e954aa3 100644 --- a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs +++ b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs | |||
@@ -579,7 +579,7 @@ namespace OpenSim.Client.VWoHTTP.ClientStack | |||
579 | throw new System.NotImplementedException(); | 579 | throw new System.NotImplementedException(); |
580 | } | 580 | } |
581 | 581 | ||
582 | public void SendTeleportLocationStart() | 582 | public void SendTeleportStart(uint flags) |
583 | { | 583 | { |
584 | throw new System.NotImplementedException(); | 584 | throw new System.NotImplementedException(); |
585 | } | 585 | } |
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index db74548..81f99b0 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -1011,7 +1011,7 @@ namespace OpenSim.Framework | |||
1011 | uint flags, string capsURL); | 1011 | uint flags, string capsURL); |
1012 | 1012 | ||
1013 | void SendTeleportFailed(string reason); | 1013 | void SendTeleportFailed(string reason); |
1014 | void SendTeleportLocationStart(); | 1014 | void SendTeleportStart(uint flags); |
1015 | void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance); | 1015 | void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance); |
1016 | void SendPayPrice(UUID objectID, int[] payPrice); | 1016 | void SendPayPrice(UUID objectID, int[] payPrice); |
1017 | 1017 | ||
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index c11b9a2..bb9e6d4 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -1432,16 +1432,27 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1432 | /// <summary> | 1432 | /// <summary> |
1433 | /// | 1433 | /// |
1434 | /// </summary> | 1434 | /// </summary> |
1435 | public void SendTeleportLocationStart() | 1435 | public void SendTeleportStart(uint flags) |
1436 | { | 1436 | { |
1437 | //TeleportStartPacket tpStart = (TeleportStartPacket)PacketPool.Instance.GetPacket(PacketType.TeleportStart); | 1437 | TeleportStartPacket tpStart = (TeleportStartPacket)PacketPool.Instance.GetPacket(PacketType.TeleportStart); |
1438 | TeleportStartPacket tpStart = new TeleportStartPacket(); | 1438 | //TeleportStartPacket tpStart = new TeleportStartPacket(); |
1439 | tpStart.Info.TeleportFlags = 16; // Teleport via location | 1439 | tpStart.Info.TeleportFlags = flags; //16; // Teleport via location |
1440 | 1440 | ||
1441 | // Hack to get this out immediately and skip throttles | 1441 | // Hack to get this out immediately and skip throttles |
1442 | OutPacket(tpStart, ThrottleOutPacketType.Unknown); | 1442 | OutPacket(tpStart, ThrottleOutPacketType.Unknown); |
1443 | } | 1443 | } |
1444 | 1444 | ||
1445 | public void SendTeleportProgress(uint flags, string message) | ||
1446 | { | ||
1447 | TeleportProgressPacket tpProgress = (TeleportProgressPacket)PacketPool.Instance.GetPacket(PacketType.TeleportProgress); | ||
1448 | tpProgress.AgentData.AgentID = this.AgentId; | ||
1449 | tpProgress.Info.TeleportFlags = flags; | ||
1450 | tpProgress.Info.Message = Util.StringToBytes256(message); | ||
1451 | |||
1452 | // Hack to get this out immediately and skip throttles | ||
1453 | OutPacket(tpProgress, ThrottleOutPacketType.Unknown); | ||
1454 | } | ||
1455 | |||
1445 | public void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance) | 1456 | public void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance) |
1446 | { | 1457 | { |
1447 | MoneyBalanceReplyPacket money = (MoneyBalanceReplyPacket)PacketPool.Instance.GetPacket(PacketType.MoneyBalanceReply); | 1458 | MoneyBalanceReplyPacket money = (MoneyBalanceReplyPacket)PacketPool.Instance.GetPacket(PacketType.MoneyBalanceReply); |
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 | } |
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index f6e6163..3f5aa46 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -520,7 +520,7 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
520 | { | 520 | { |
521 | } | 521 | } |
522 | 522 | ||
523 | public virtual void SendTeleportLocationStart() | 523 | public virtual void SendTeleportStart(uint flags) |
524 | { | 524 | { |
525 | } | 525 | } |
526 | 526 | ||
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index ee7aa2da..19bb002 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -1035,7 +1035,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
1035 | 1035 | ||
1036 | } | 1036 | } |
1037 | 1037 | ||
1038 | public void SendTeleportLocationStart() | 1038 | public void SendTeleportStart(uint flags) |
1039 | { | 1039 | { |
1040 | 1040 | ||
1041 | } | 1041 | } |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 2e0450c..944bac6 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -611,7 +611,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
611 | { | 611 | { |
612 | } | 612 | } |
613 | 613 | ||
614 | public virtual void SendTeleportLocationStart() | 614 | public virtual void SendTeleportStart(uint flags) |
615 | { | 615 | { |
616 | } | 616 | } |
617 | 617 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 32e46ec..b21e532 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -4070,7 +4070,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4070 | if (m_host.OwnerID == World.LandChannel.GetLandObject( | 4070 | if (m_host.OwnerID == World.LandChannel.GetLandObject( |
4071 | presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) | 4071 | presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) |
4072 | { | 4072 | { |
4073 | presence.ControllingClient.SendTeleportLocationStart(); | ||
4074 | World.TeleportClientHome(agentId, presence.ControllingClient); | 4073 | World.TeleportClientHome(agentId, presence.ControllingClient); |
4075 | } | 4074 | } |
4076 | } | 4075 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 01b64eb..a529a94 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -664,7 +664,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
664 | regionName = regInfo.RegionName; | 664 | regionName = regInfo.RegionName; |
665 | } | 665 | } |
666 | } | 666 | } |
667 | presence.ControllingClient.SendTeleportLocationStart(); | ||
668 | World.RequestTeleportLocation(presence.ControllingClient, regionName, | 667 | World.RequestTeleportLocation(presence.ControllingClient, regionName, |
669 | new Vector3((float)position.x, (float)position.y, (float)position.z), | 668 | new Vector3((float)position.x, (float)position.y, (float)position.z), |
670 | new Vector3((float)lookat.x, (float)lookat.y, (float)lookat.z), (uint)TPFlags.ViaLocation); | 669 | new Vector3((float)lookat.x, (float)lookat.y, (float)lookat.z), (uint)TPFlags.ViaLocation); |
@@ -696,7 +695,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
696 | == World.LandChannel.GetLandObject( | 695 | == World.LandChannel.GetLandObject( |
697 | presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) | 696 | presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) |
698 | { | 697 | { |
699 | presence.ControllingClient.SendTeleportLocationStart(); | ||
700 | World.RequestTeleportLocation(presence.ControllingClient, regionHandle, | 698 | World.RequestTeleportLocation(presence.ControllingClient, regionHandle, |
701 | new Vector3((float)position.x, (float)position.y, (float)position.z), | 699 | new Vector3((float)position.x, (float)position.y, (float)position.z), |
702 | new Vector3((float)lookat.x, (float)lookat.y, (float)lookat.z), (uint)TPFlags.ViaLocation); | 700 | new Vector3((float)lookat.x, (float)lookat.y, (float)lookat.z), (uint)TPFlags.ViaLocation); |
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index 999cf5e..0dee374 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs | |||
@@ -614,7 +614,7 @@ namespace OpenSim.Tests.Common.Mock | |||
614 | { | 614 | { |
615 | } | 615 | } |
616 | 616 | ||
617 | public virtual void SendTeleportLocationStart() | 617 | public virtual void SendTeleportStart(uint flags) |
618 | { | 618 | { |
619 | } | 619 | } |
620 | 620 | ||