aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorUbitUmarov2014-10-18 20:27:33 +0100
committerUbitUmarov2014-10-18 20:27:33 +0100
commit159246f88cf5ceb7b2991d87f585d7cf2cd84c91 (patch)
tree18f06359e3babcb6a77cdf0a85c9906c57ac3435 /OpenSim
parent change child agents creation/notification. As before this assumes that (diff)
downloadopensim-SC_OLD-159246f88cf5ceb7b2991d87f585d7cf2cd84c91.zip
opensim-SC_OLD-159246f88cf5ceb7b2991d87f585d7cf2cd84c91.tar.gz
opensim-SC_OLD-159246f88cf5ceb7b2991d87f585d7cf2cd84c91.tar.bz2
opensim-SC_OLD-159246f88cf5ceb7b2991d87f585d7cf2cd84c91.tar.xz
fix SW direction diagonal crossing
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 24d1270..9c8aada 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -1417,6 +1417,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1417 { 1417 {
1418 Border b = scene.GetCrossedBorder(pos + northCross, Cardinals.N); 1418 Border b = scene.GetCrossedBorder(pos + northCross, Cardinals.N);
1419 neighboury += (uint)(int)(b.BorderLine.Z / (int)Constants.RegionSize); 1419 neighboury += (uint)(int)(b.BorderLine.Z / (int)Constants.RegionSize);
1420 newpos.Y = enterDistance;
1420 } 1421 }
1421 else if (scene.TestBorderCross(pos + southCross, Cardinals.S)) 1422 else if (scene.TestBorderCross(pos + southCross, Cardinals.S))
1422 { 1423 {
@@ -1536,7 +1537,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1536 string version; 1537 string version;
1537 string reason; 1538 string reason;
1538 1539
1539 GridRegion neighbourRegion = GetDestination(agent.Scene, agent.UUID, agent.AbsolutePosition, out x, out y, out version, out newpos, out reason); 1540 Vector3 pos = agent.AbsolutePosition + agent.Velocity;
1541
1542 GridRegion neighbourRegion = GetDestination(agent.Scene, agent.UUID, pos, out x, out y, out version, out newpos, out reason);
1540 if (neighbourRegion == null) 1543 if (neighbourRegion == null)
1541 { 1544 {
1542 if (reason == String.Empty) 1545 if (reason == String.Empty)
@@ -1678,7 +1681,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1678 1681
1679// agent.Appearance.WearableCacheItems = null; 1682// agent.Appearance.WearableCacheItems = null;
1680 1683
1681 cAgent.Position = pos + agent.Velocity; 1684 cAgent.Position = pos;
1682 if (isFlying) 1685 if (isFlying)
1683 cAgent.ControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY; 1686 cAgent.ControlFlags |= (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY;
1684 1687