It turns out that child agent management has had a bug for a while: there was an inconsistency in the scope between opening and closing child agents in neighboring regions. For opening (in EnableChildAgents), the region's DrawDistance was being used; for closing (in IsOUtsideView) , the viewer's (SP) DrawDistance was being used. This fixes this inconsistency, therefore eliminating bugs observed in TPs between, at least, neighboring varregions.

This commit is contained in:
Diva Canto
2014-07-04 10:13:53 -07:00
parent d0782c2bc0
commit d99c8e68a7
2 changed files with 12 additions and 4 deletions

View File

@@ -3734,7 +3734,9 @@ namespace OpenSim.Region.Framework.Scenes
// m_log.Debug("---> x: " + x + "; newx:" + newRegionX + "; Abs:" + (int)Math.Abs((int)(x - newRegionX)));
// m_log.Debug("---> y: " + y + "; newy:" + newRegionY + "; Abs:" + (int)Math.Abs((int)(y - newRegionY)));
if (Util.IsOutsideView(DrawDistance, x, newRegionX, y, newRegionY))
float dist = (float)Math.Max(Scene.DefaultDrawDistance,
(float)Math.Max(Scene.RegionInfo.RegionSizeX, Scene.RegionInfo.RegionSizeY));
if (Util.IsOutsideView(dist, x, newRegionX, y, newRegionY))
{
byebyeRegions.Add(handle);
}