Fix check for vanilla opensim. Should not check for border crossing on non-CM actors.

dsg
Dan Lake 2011-05-17 10:31:35 -07:00
parent 6ec6fe6745
commit a0a8654c07
1 changed files with 22 additions and 19 deletions

View File

@ -1733,26 +1733,29 @@ namespace OpenSim.Region.Framework.Scenes
// Run through all ScenePresences looking for updates
// Presence updates and queued object updates for each presence are sent to clients
if (IsSyncedClient())
if (RegionSyncEnabled)
{
// If it's a client manager, just send prim updates
// This will get fixed later to only send to locally logged in presences rather than all presences
// but requires pulling apart the concept of a client from the concept of a presence/avatar
ForEachScenePresence(delegate(ScenePresence sp) { sp.SendPrimUpdates(); });
if(Frame % 20 == 0)
RegionSyncClientModule.SendCoarseLocations();
// make border crossing work in the CMs
m_sceneGraph.ForEachScenePresence(delegate(ScenePresence sp)
{
if (!sp.IsChildAgent)
{
// Check that we have a physics actor or we're sitting on something
if (sp.ParentID == 0 && sp.PhysicsActor != null || sp.ParentID != 0)
{
sp.CheckForBorderCrossing();
}
}
});
if (IsSyncedClient())
{
// If it's a client manager, just send prim updates
// This will get fixed later to only send to locally logged in presences rather than all presences
// but requires pulling apart the concept of a client from the concept of a presence/avatar
ForEachScenePresence(delegate(ScenePresence sp) { sp.SendPrimUpdates(); });
if (Frame % 20 == 0)
RegionSyncClientModule.SendCoarseLocations();
// make border crossing work in the CMs
m_sceneGraph.ForEachScenePresence(delegate(ScenePresence sp)
{
if (!sp.IsChildAgent)
{
// Check that we have a physics actor or we're sitting on something
if (sp.ParentID == 0 && sp.PhysicsActor != null || sp.ParentID != 0)
{
sp.CheckForBorderCrossing();
}
}
});
}
}
else
{