diff options
author | UbitUmarov | 2019-04-02 15:58:36 +0100 |
---|---|---|
committer | UbitUmarov | 2019-04-02 15:58:36 +0100 |
commit | 433e529512b20aed91412e0f8c0f02f38d422035 (patch) | |
tree | 839b09b26c1c60424f5008c2427ccae0b389bbfa /OpenSim/Region/Framework/Scenes/ScenePresence.cs | |
parent | change the point where child regions are closed/opened (diff) | |
download | opensim-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.cs | 31 |
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 |