missing file...
parent
caf298cda3
commit
209cb840a2
|
@ -4045,18 +4045,18 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* useless. Either use MakeChild or delete the presence
|
/* useless. Either use MakeChild or delete the presence
|
||||||
public void Reset()
|
public void Reset()
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat("[SCENE PRESENCE]: Resetting {0} in {1}", Name, Scene.RegionInfo.RegionName);
|
// m_log.DebugFormat("[SCENE PRESENCE]: Resetting {0} in {1}", Name, Scene.RegionInfo.RegionName);
|
||||||
|
|
||||||
// Put the child agent back at the center
|
// Put the child agent back at the center
|
||||||
AbsolutePosition
|
AbsolutePosition
|
||||||
= new Vector3(((float)m_scene.RegionInfo.RegionSizeX * 0.5f), ((float)m_scene.RegionInfo.RegionSizeY * 0.5f), 70);
|
= new Vector3(((float)m_scene.RegionInfo.RegionSizeX * 0.5f), ((float)m_scene.RegionInfo.RegionSizeY * 0.5f), 70);
|
||||||
|
|
||||||
Animator.ResetAnimations();
|
Animator.ResetAnimations();
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Computes which child agents to close when the scene presence moves to another region.
|
/// Computes which child agents to close when the scene presence moves to another region.
|
||||||
/// Removes those regions from m_knownRegions.
|
/// Removes those regions from m_knownRegions.
|
||||||
|
@ -4064,13 +4064,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// <param name="newRegionX">The new region's x on the map</param>
|
/// <param name="newRegionX">The new region's x on the map</param>
|
||||||
/// <param name="newRegionY">The new region's y on the map</param>
|
/// <param name="newRegionY">The new region's y on the map</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public void CloseChildAgents(ulong newRegionHandle, int newRegionSizeX, int newRegionSizeY)
|
public void CloseChildAgents(bool logout, ulong newRegionHandle, int newRegionSizeX, int newRegionSizeY)
|
||||||
{
|
{
|
||||||
uint newRegionX, newRegionY;
|
uint newRegionX, newRegionY;
|
||||||
List<ulong> byebyeRegions = new List<ulong>();
|
List<ulong> byebyeRegions = new List<ulong>();
|
||||||
List<ulong> knownRegions = KnownRegionHandles;
|
List<ulong> knownRegions = KnownRegionHandles;
|
||||||
m_log.DebugFormat(
|
m_log.DebugFormat(
|
||||||
"[SCENE PRESENCE]: Closing child agents. Checking {0} regions in {1}",
|
"[SCENE PRESENCE]: Closing child agents. Checking {0} regions in {1}",
|
||||||
knownRegions.Count, Scene.RegionInfo.RegionName);
|
knownRegions.Count, Scene.RegionInfo.RegionName);
|
||||||
//DumpKnownRegions();
|
//DumpKnownRegions();
|
||||||
|
|
||||||
|
@ -4084,29 +4084,34 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// Don't close the agent on this region yet
|
// Don't close the agent on this region yet
|
||||||
if (handle != Scene.RegionInfo.RegionHandle)
|
if (handle != Scene.RegionInfo.RegionHandle)
|
||||||
{
|
{
|
||||||
Util.RegionHandleToRegionLoc(handle, out x, out y);
|
if (logout)
|
||||||
if (m_knownChildRegionsSizeInfo.TryGetValue(handle, out regInfo))
|
byebyeRegions.Add(handle);
|
||||||
{
|
|
||||||
|
|
||||||
// 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,
|
|
||||||
regInfo.sizeX, regInfo.sizeY, newRegionSizeX, newRegionSizeY))
|
|
||||||
{
|
|
||||||
byebyeRegions.Add(handle);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (Util.IsOutsideView(DrawDistance, x, newRegionX, y, newRegionY,
|
Util.RegionHandleToRegionLoc(handle, out x, out y);
|
||||||
(int)Constants.RegionSize, (int)Constants.RegionSize, newRegionSizeX, newRegionSizeY))
|
if (m_knownChildRegionsSizeInfo.TryGetValue(handle, out regInfo))
|
||||||
{
|
{
|
||||||
byebyeRegions.Add(handle);
|
|
||||||
|
// 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,
|
||||||
|
regInfo.sizeX, regInfo.sizeY, newRegionSizeX, newRegionSizeY))
|
||||||
|
{
|
||||||
|
byebyeRegions.Add(handle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (Util.IsOutsideView(DrawDistance, x, newRegionX, y, newRegionY,
|
||||||
|
(int)Constants.RegionSize, (int)Constants.RegionSize, newRegionSizeX, newRegionSizeY))
|
||||||
|
{
|
||||||
|
byebyeRegions.Add(handle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (byebyeRegions.Count > 0)
|
if (byebyeRegions.Count > 0)
|
||||||
{
|
{
|
||||||
m_log.Debug("[SCENE PRESENCE]: Closing " + byebyeRegions.Count + " child agents");
|
m_log.Debug("[SCENE PRESENCE]: Closing " + byebyeRegions.Count + " child agents");
|
||||||
|
@ -4115,9 +4120,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
string auth = string.Empty;
|
string auth = string.Empty;
|
||||||
if (acd != null)
|
if (acd != null)
|
||||||
auth = acd.SessionID.ToString();
|
auth = acd.SessionID.ToString();
|
||||||
m_scene.SceneGridService.SendCloseChildAgentConnections(ControllingClient.AgentId, auth, byebyeRegions);
|
m_scene.SceneGridService.SendCloseChildAgentConnections(ControllingClient.AgentId, auth, byebyeRegions);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (ulong handle in byebyeRegions)
|
foreach (ulong handle in byebyeRegions)
|
||||||
{
|
{
|
||||||
RemoveNeighbourRegion(handle);
|
RemoveNeighbourRegion(handle);
|
||||||
|
|
Loading…
Reference in New Issue