aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
authordiva2009-01-01 19:42:24 +0000
committerdiva2009-01-01 19:42:24 +0000
commitd8ebf2fc9d7d2e50735d50e75f7153f487efe958 (patch)
treec14d5e80e3d34d0a2f547cb3d0b965dea8e55e90 /OpenSim/Region/Environment/Scenes/ScenePresence.cs
parentMinor fix for HG request neighbors. Should not return hyperlink neighbors, on... (diff)
downloadopensim-SC_OLD-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.zip
opensim-SC_OLD-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.tar.gz
opensim-SC_OLD-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.tar.bz2
opensim-SC_OLD-d8ebf2fc9d7d2e50735d50e75f7153f487efe958.tar.xz
Major changes in interregion communications. This breaks compatibility with older versions, and may result is all sorts of weirdnesses when interacting with sims in older versions. Changes:
- Introducing synchronous Teleports. Now the receiving region calls back the sending region after the client has been made a root agent there, that is, after client sends CompleteMovement to the destination. - SendCloseAgent moved from OGS1 Remoting to RESTComms.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs16
1 files changed, 15 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 23dc9be..166e051 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -217,6 +217,10 @@ namespace OpenSim.Region.Environment.Scenes
217 217
218 private Dictionary<UUID, ScenePartUpdate> m_updateTimes = new Dictionary<UUID, ScenePartUpdate>(); 218 private Dictionary<UUID, ScenePartUpdate> m_updateTimes = new Dictionary<UUID, ScenePartUpdate>();
219 219
220 // For teleports and crossings callbacks
221 string m_callbackURI;
222 ulong m_rootRegionHandle;
223
220 #region Properties 224 #region Properties
221 225
222 /// <summary> 226 /// <summary>
@@ -1000,6 +1004,7 @@ namespace OpenSim.Region.Environment.Scenes
1000 /// </summary> 1004 /// </summary>
1001 public void CompleteMovement() 1005 public void CompleteMovement()
1002 { 1006 {
1007 //Console.WriteLine("\n CompleteMovement \n");
1003 Vector3 look = Velocity; 1008 Vector3 look = Velocity;
1004 if ((look.X == 0) && (look.Y == 0) && (look.Z == 0)) 1009 if ((look.X == 0) && (look.Y == 0) && (look.Z == 0))
1005 { 1010 {
@@ -1013,6 +1018,12 @@ namespace OpenSim.Region.Environment.Scenes
1013 m_isChildAgent = false; 1018 m_isChildAgent = false;
1014 1019
1015 MakeRootAgent(AbsolutePosition, false); 1020 MakeRootAgent(AbsolutePosition, false);
1021
1022 if ((m_callbackURI != null) && !m_callbackURI.Equals(""))
1023 {
1024 Scene.SendReleaseAgent(m_rootRegionHandle, UUID, m_callbackURI);
1025 m_callbackURI = null;
1026 }
1016 } 1027 }
1017 } 1028 }
1018 1029
@@ -2582,7 +2593,7 @@ namespace OpenSim.Region.Environment.Scenes
2582 if (!IsChildAgent) 2593 if (!IsChildAgent)
2583 return; 2594 return;
2584 2595
2585 //Console.WriteLine(" >>> ChildAgentDataUpdate <<<"); 2596 //Console.WriteLine(" >>> ChildAgentDataUpdate <<< " + rRegionX + "-" + rRegionY);
2586 int shiftx = ((int)rRegionX - (int)tRegionX) * (int)Constants.RegionSize; 2597 int shiftx = ((int)rRegionX - (int)tRegionX) * (int)Constants.RegionSize;
2587 int shifty = ((int)rRegionY - (int)tRegionY) * (int)Constants.RegionSize; 2598 int shifty = ((int)rRegionY - (int)tRegionY) * (int)Constants.RegionSize;
2588 2599
@@ -2615,6 +2626,9 @@ namespace OpenSim.Region.Environment.Scenes
2615 if (m_scene.m_seeIntoRegionFromNeighbor) 2626 if (m_scene.m_seeIntoRegionFromNeighbor)
2616 m_pendingObjects = null; 2627 m_pendingObjects = null;
2617 2628
2629 m_callbackURI = cAgentData.CallbackURI;
2630 m_rootRegionHandle = Util.UIntsToLong(rRegionX * Constants.RegionSize, rRegionY * Constants.RegionSize);
2631
2618 //cAgentData.AVHeight; 2632 //cAgentData.AVHeight;
2619 //cAgentData.regionHandle; 2633 //cAgentData.regionHandle;
2620 //m_velocity = cAgentData.Velocity; 2634 //m_velocity = cAgentData.Velocity;