aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs32
1 files changed, 21 insertions, 11 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index f2850bb..4ab36a5 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -868,7 +868,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
868 // The EnableSimulator message makes the client establish a connection with the destination 868 // The EnableSimulator message makes the client establish a connection with the destination
869 // simulator by sending the initial UseCircuitCode UDP packet to the destination containing the 869 // simulator by sending the initial UseCircuitCode UDP packet to the destination containing the
870 // correct circuit code. 870 // correct circuit code.
871 m_eqModule.EnableSimulator(destinationHandle, endPoint, sp.UUID); 871 m_eqModule.EnableSimulator(destinationHandle, endPoint, sp.UUID,
872 finalDestination.RegionSizeX, finalDestination.RegionSizeY);
873 m_log.DebugFormat("{0} Sent EnableSimulator. regName={1}, size=<{2},{3}>", LogHeader,
874 finalDestination.RegionName, finalDestination.RegionSizeX, finalDestination.RegionSizeY);
872 875
873 // XXX: Is this wait necessary? We will always end up waiting on UpdateAgent for the destination 876 // XXX: Is this wait necessary? We will always end up waiting on UpdateAgent for the destination
874 // simulator to confirm that it has established communication with the viewer. 877 // simulator to confirm that it has established communication with the viewer.
@@ -878,7 +881,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
878 // unnecessary - teleport will succeed and SEED caps will be requested without it (though possibly 881 // unnecessary - teleport will succeed and SEED caps will be requested without it (though possibly
879 // only on TeleportFinish). This is untested for region teleport between different simulators 882 // only on TeleportFinish). This is untested for region teleport between different simulators
880 // though this probably also works. 883 // though this probably also works.
881 m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath); 884 m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath, finalDestination.RegionHandle,
885 finalDestination.RegionSizeX, finalDestination.RegionSizeY);
882 } 886 }
883 else 887 else
884 { 888 {
@@ -964,7 +968,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
964 // OK, send TPFinish to the client, so that it starts the process of contacting the destination region 968 // OK, send TPFinish to the client, so that it starts the process of contacting the destination region
965 if (m_eqModule != null) 969 if (m_eqModule != null)
966 { 970 {
967 m_eqModule.TeleportFinishEvent(destinationHandle, 13, endPoint, 0, teleportFlags, capsPath, sp.UUID); 971 m_eqModule.TeleportFinishEvent(destinationHandle, 13, endPoint, 0, teleportFlags, capsPath, sp.UUID,
972 finalDestination.RegionSizeX, finalDestination.RegionSizeY);
968 } 973 }
969 else 974 else
970 { 975 {
@@ -1117,7 +1122,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1117 1122
1118 // New protocol: send TP Finish directly, without prior ES or EAC. That's what happens in the Linden grid 1123 // New protocol: send TP Finish directly, without prior ES or EAC. That's what happens in the Linden grid
1119 if (m_eqModule != null) 1124 if (m_eqModule != null)
1120 m_eqModule.TeleportFinishEvent(destinationHandle, 13, endPoint, 0, teleportFlags, capsPath, sp.UUID); 1125 m_eqModule.TeleportFinishEvent(destinationHandle, 13, endPoint, 0, teleportFlags, capsPath, sp.UUID,
1126 finalDestination.RegionSizeX, finalDestination.RegionSizeY);
1121 else 1127 else
1122 sp.ControllingClient.SendRegionTeleport(destinationHandle, 13, endPoint, 4, 1128 sp.ControllingClient.SendRegionTeleport(destinationHandle, 13, endPoint, 4,
1123 teleportFlags, capsPath); 1129 teleportFlags, capsPath);
@@ -1690,11 +1696,14 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1690 if (m_eqModule != null) 1696 if (m_eqModule != null)
1691 { 1697 {
1692 m_eqModule.CrossRegion( 1698 m_eqModule.CrossRegion(
1693 neighbourRegion.RegionHandle, pos + agent.Velocity, vel2 /* agent.Velocity */, neighbourRegion.ExternalEndPoint, 1699 neighbourRegion.RegionHandle, pos + agent.Velocity, vel2 /* agent.Velocity */,
1694 capsPath, agent.UUID, agent.ControllingClient.SessionId); 1700 neighbourRegion.ExternalEndPoint,
1701 capsPath, agent.UUID, agent.ControllingClient.SessionId,
1702 neighbourRegion.RegionSizeX, neighbourRegion.RegionSizeY);
1695 } 1703 }
1696 else 1704 else
1697 { 1705 {
1706 m_log.ErrorFormat("{0} Using old CrossRegion packet. Varregion will not work!!", LogHeader);
1698 agent.ControllingClient.CrossRegion(neighbourRegion.RegionHandle, pos + agent.Velocity, agent.Velocity, neighbourRegion.ExternalEndPoint, 1707 agent.ControllingClient.CrossRegion(neighbourRegion.RegionHandle, pos + agent.Velocity, agent.Velocity, neighbourRegion.ExternalEndPoint,
1699 capsPath); 1708 capsPath);
1700 } 1709 }
@@ -2240,12 +2249,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
2240 } 2249 }
2241 #endregion 2250 #endregion
2242 2251
2243 m_log.DebugFormat("[ENTITY TRANSFER MODULE]: {0} is sending {1} EnableSimulator for neighbour region {2} @ {3} " + 2252 m_log.DebugFormat("{0} {1} is sending {2} EnableSimulator for neighbour region {3}(loc=<{4},{5}>,siz=<{6},{7}>) " +
2244 "and EstablishAgentCommunication with seed cap {4}", 2253 "and EstablishAgentCommunication with seed cap {8}", LogHeader,
2245 scene.RegionInfo.RegionName, sp.Name, reg.RegionName, reg.RegionHandle, capsPath); 2254 scene.RegionInfo.RegionName, sp.Name,
2255 reg.RegionName, reg.RegionLocX, reg.RegionLocY, reg.RegionSizeX, reg.RegionSizeY , capsPath);
2246 2256
2247 m_eqModule.EnableSimulator(reg.RegionHandle, endPoint, sp.UUID); 2257 m_eqModule.EnableSimulator(reg.RegionHandle, endPoint, sp.UUID, reg.RegionSizeX, reg.RegionSizeY);
2248 m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath); 2258 m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath, reg.RegionHandle, reg.RegionSizeX, reg.RegionSizeY);
2249 } 2259 }
2250 else 2260 else
2251 { 2261 {