diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 48ffbce..e80dff7 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -362,6 +362,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
362 | private int m_update_backup = 200; | 362 | private int m_update_backup = 200; |
363 | private int m_update_terrain = 50; | 363 | private int m_update_terrain = 50; |
364 | private int m_update_land = 1; | 364 | private int m_update_land = 1; |
365 | private int m_update_coarse_locations = 50; | ||
365 | 366 | ||
366 | private int frameMS; | 367 | private int frameMS; |
367 | private int physicsMS2; | 368 | private int physicsMS2; |
@@ -1445,6 +1446,18 @@ namespace OpenSim.Region.Framework.Scenes | |||
1445 | if (m_frame % m_update_objects == 0) | 1446 | if (m_frame % m_update_objects == 0) |
1446 | m_sceneGraph.UpdateObjectGroups(); | 1447 | m_sceneGraph.UpdateObjectGroups(); |
1447 | 1448 | ||
1449 | if (m_frame % m_update_coarse_locations == 0) | ||
1450 | { | ||
1451 | List<Vector3> coarseLocations; | ||
1452 | List<UUID> avatarUUIDs; | ||
1453 | SceneGraph.GetCoarseLocations(out coarseLocations, out avatarUUIDs, 60); | ||
1454 | // Send coarse locations to clients | ||
1455 | ForEachScenePresence(delegate(ScenePresence presence) | ||
1456 | { | ||
1457 | presence.SendCoarseLocations(coarseLocations, avatarUUIDs); | ||
1458 | }); | ||
1459 | } | ||
1460 | |||
1448 | int tmpPhysicsMS2 = Util.EnvironmentTickCount(); | 1461 | int tmpPhysicsMS2 = Util.EnvironmentTickCount(); |
1449 | if ((m_frame % m_update_physics == 0) && m_physics_enabled) | 1462 | if ((m_frame % m_update_physics == 0) && m_physics_enabled) |
1450 | m_sceneGraph.UpdatePreparePhysics(); | 1463 | m_sceneGraph.UpdatePreparePhysics(); |
@@ -3329,9 +3342,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3329 | catch (NullReferenceException) { } | 3342 | catch (NullReferenceException) { } |
3330 | }); | 3343 | }); |
3331 | 3344 | ||
3332 | ForEachScenePresence( | ||
3333 | delegate(ScenePresence presence) { presence.CoarseLocationChange(); }); | ||
3334 | |||
3335 | IAgentAssetTransactions agentTransactions = this.RequestModuleInterface<IAgentAssetTransactions>(); | 3345 | IAgentAssetTransactions agentTransactions = this.RequestModuleInterface<IAgentAssetTransactions>(); |
3336 | if (agentTransactions != null) | 3346 | if (agentTransactions != null) |
3337 | { | 3347 | { |
@@ -3383,14 +3393,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3383 | } | 3393 | } |
3384 | } | 3394 | } |
3385 | 3395 | ||
3386 | /// <summary> | ||
3387 | /// Inform all other ScenePresences on this Scene that someone else has changed position on the minimap. | ||
3388 | /// </summary> | ||
3389 | public void NotifyMyCoarseLocationChange() | ||
3390 | { | ||
3391 | ForEachScenePresence(delegate(ScenePresence presence) { presence.CoarseLocationChange(); }); | ||
3392 | } | ||
3393 | |||
3394 | #endregion | 3396 | #endregion |
3395 | 3397 | ||
3396 | #region Entities | 3398 | #region Entities |