aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
authorUbitUmarov2019-04-02 15:58:36 +0100
committerUbitUmarov2019-04-02 15:58:36 +0100
commit433e529512b20aed91412e0f8c0f02f38d422035 (patch)
tree839b09b26c1c60424f5008c2427ccae0b389bbfa /OpenSim/Region/Framework/Scenes/ScenePresence.cs
parentchange the point where child regions are closed/opened (diff)
downloadopensim-SC-433e529512b20aed91412e0f8c0f02f38d422035.zip
opensim-SC-433e529512b20aed91412e0f8c0f02f38d422035.tar.gz
opensim-SC-433e529512b20aed91412e0f8c0f02f38d422035.tar.bz2
opensim-SC-433e529512b20aed91412e0f8c0f02f38d422035.tar.xz
make tests happy again; try to speedup crossings
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs31
1 files changed, 25 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 12887fb..c71d20d 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2168,8 +2168,11 @@ namespace OpenSim.Region.Framework.Scenes
2168 m_inTransit = false; 2168 m_inTransit = false;
2169 2169
2170 // Tell the client that we're ready to send rest 2170 // Tell the client that we're ready to send rest
2171 m_gotRegionHandShake = false; // allow it 2171 if (!gotCrossUpdate)
2172 ControllingClient.SendRegionHandshake(); 2172 {
2173 m_gotRegionHandShake = false; // allow it if not a crossing
2174 ControllingClient.SendRegionHandshake();
2175 }
2173 2176
2174 ControllingClient.MoveAgentIntoRegion(m_scene.RegionInfo, AbsolutePosition, look); 2177 ControllingClient.MoveAgentIntoRegion(m_scene.RegionInfo, AbsolutePosition, look);
2175 2178
@@ -2300,6 +2303,22 @@ namespace OpenSim.Region.Framework.Scenes
2300 2303
2301 if (!IsNPC) 2304 if (!IsNPC)
2302 { 2305 {
2306 if(gotCrossUpdate)
2307 {
2308 // Create child agents in neighbouring regions
2309 IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
2310 if (m_agentTransfer != null)
2311 {
2312 m_agentTransfer.EnableChildAgents(this);
2313 }
2314
2315 m_lastChildUpdatesTime = Util.EnvironmentTickCount() + 10000;
2316 m_lastChildAgentUpdatePosition = AbsolutePosition;
2317 m_lastChildAgentUpdateDrawDistance = DrawDistance;
2318
2319 m_lastChildAgentUpdateGodLevel = GodController.ViwerUIGodLevel;
2320 m_childUpdatesBusy = false; // allow them
2321 }
2303 // send the rest of the world 2322 // send the rest of the world
2304 if (m_teleportFlags > 0 || m_currentParcelHide) 2323 if (m_teleportFlags > 0 || m_currentParcelHide)
2305 //SendInitialDataToMe(); 2324 //SendInitialDataToMe();
@@ -4001,8 +4020,8 @@ namespace OpenSim.Region.Framework.Scenes
4001 4020
4002 Scene.SimulationService.ReleaseAgent(originID, UUID, m_callbackURI); 4021 Scene.SimulationService.ReleaseAgent(originID, UUID, m_callbackURI);
4003 m_callbackURI = null; 4022 m_callbackURI = null;
4004 NeedInitialData = 4; 4023 //NeedInitialData = 4;
4005 return; 4024 //return;
4006 } 4025 }
4007 // v0.7 close HG sender region 4026 // v0.7 close HG sender region
4008 if (!string.IsNullOrEmpty(m_newCallbackURI)) 4027 if (!string.IsNullOrEmpty(m_newCallbackURI))
@@ -4018,8 +4037,8 @@ namespace OpenSim.Region.Framework.Scenes
4018 4037
4019 Scene.SimulationService.ReleaseAgent(originID, UUID, m_newCallbackURI); 4038 Scene.SimulationService.ReleaseAgent(originID, UUID, m_newCallbackURI);
4020 m_newCallbackURI = null; 4039 m_newCallbackURI = null;
4021 NeedInitialData = 4; 4040 //NeedInitialData = 4;
4022 return; 4041 //return;
4023 } 4042 }
4024 4043
4025 // Create child agents in neighbouring regions 4044 // Create child agents in neighbouring regions