make tests happy again; try to speedup crossings

0.9.1.0-post-fixes
UbitUmarov 2019-04-02 15:58:36 +01:00
parent 8152e47a4a
commit 433e529512
2 changed files with 37 additions and 10 deletions

View File

@ -142,8 +142,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat.Tests
// We must update the scenes in order to make the root new root agents trigger position updates in their // We must update the scenes in order to make the root new root agents trigger position updates in their
// children. // children.
sceneWest.Update(3); sceneWest.Update(4);
sceneEast.Update(3); sceneEast.Update(4);
sp1.DrawDistance += 64;
sp2.DrawDistance += 64;
sceneWest.Update(2);
sceneEast.Update(2);
// Check child positions are correct. // Check child positions are correct.
Assert.AreEqual( Assert.AreEqual(
@ -233,8 +237,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat.Tests
// We must update the scenes in order to make the root new root agents trigger position updates in their // We must update the scenes in order to make the root new root agents trigger position updates in their
// children. // children.
sceneNorth.Update(3); sceneNorth.Update(4);
sceneSouth.Update(3); sceneSouth.Update(4);
sp1.DrawDistance += 64;
sp2.DrawDistance += 64;
sceneNorth.Update(2);
sceneSouth.Update(2);
// Check child positions are correct. // Check child positions are correct.
Assert.AreEqual( Assert.AreEqual(

View File

@ -2168,8 +2168,11 @@ namespace OpenSim.Region.Framework.Scenes
m_inTransit = false; m_inTransit = false;
// Tell the client that we're ready to send rest // Tell the client that we're ready to send rest
m_gotRegionHandShake = false; // allow it if (!gotCrossUpdate)
ControllingClient.SendRegionHandshake(); {
m_gotRegionHandShake = false; // allow it if not a crossing
ControllingClient.SendRegionHandshake();
}
ControllingClient.MoveAgentIntoRegion(m_scene.RegionInfo, AbsolutePosition, look); ControllingClient.MoveAgentIntoRegion(m_scene.RegionInfo, AbsolutePosition, look);
@ -2300,6 +2303,22 @@ namespace OpenSim.Region.Framework.Scenes
if (!IsNPC) if (!IsNPC)
{ {
if(gotCrossUpdate)
{
// Create child agents in neighbouring regions
IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>();
if (m_agentTransfer != null)
{
m_agentTransfer.EnableChildAgents(this);
}
m_lastChildUpdatesTime = Util.EnvironmentTickCount() + 10000;
m_lastChildAgentUpdatePosition = AbsolutePosition;
m_lastChildAgentUpdateDrawDistance = DrawDistance;
m_lastChildAgentUpdateGodLevel = GodController.ViwerUIGodLevel;
m_childUpdatesBusy = false; // allow them
}
// send the rest of the world // send the rest of the world
if (m_teleportFlags > 0 || m_currentParcelHide) if (m_teleportFlags > 0 || m_currentParcelHide)
//SendInitialDataToMe(); //SendInitialDataToMe();
@ -4001,8 +4020,8 @@ namespace OpenSim.Region.Framework.Scenes
Scene.SimulationService.ReleaseAgent(originID, UUID, m_callbackURI); Scene.SimulationService.ReleaseAgent(originID, UUID, m_callbackURI);
m_callbackURI = null; m_callbackURI = null;
NeedInitialData = 4; //NeedInitialData = 4;
return; //return;
} }
// v0.7 close HG sender region // v0.7 close HG sender region
if (!string.IsNullOrEmpty(m_newCallbackURI)) if (!string.IsNullOrEmpty(m_newCallbackURI))
@ -4018,8 +4037,8 @@ namespace OpenSim.Region.Framework.Scenes
Scene.SimulationService.ReleaseAgent(originID, UUID, m_newCallbackURI); Scene.SimulationService.ReleaseAgent(originID, UUID, m_newCallbackURI);
m_newCallbackURI = null; m_newCallbackURI = null;
NeedInitialData = 4; //NeedInitialData = 4;
return; //return;
} }
// Create child agents in neighbouring regions // Create child agents in neighbouring regions