aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs16
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/IndexedAnswers.cs6
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/YP.cs6
-rw-r--r--bin/OpenSimDefaults.ini5
4 files changed, 27 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 6e70c36..6ac7846 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -104,6 +104,11 @@ namespace OpenSim.Region.Framework.Scenes
104 public bool m_allowScriptCrossings; 104 public bool m_allowScriptCrossings;
105 public bool m_useFlySlow; 105 public bool m_useFlySlow;
106 106
107 /// <summary>
108 /// Temporarily setting to trigger appearance resends at 60 second intervals.
109 /// </summary>
110 public bool SendPeriodicAppearanceUpdates { get; set; }
111
107 protected float m_defaultDrawDistance = 255.0f; 112 protected float m_defaultDrawDistance = 255.0f;
108 public float DefaultDrawDistance 113 public float DefaultDrawDistance
109 { 114 {
@@ -790,6 +795,7 @@ namespace OpenSim.Region.Framework.Scenes
790 m_update_presences = startupConfig.GetInt( "UpdateAgentsEveryNFrames", m_update_presences); 795 m_update_presences = startupConfig.GetInt( "UpdateAgentsEveryNFrames", m_update_presences);
791 m_update_terrain = startupConfig.GetInt( "UpdateTerrainEveryNFrames", m_update_terrain); 796 m_update_terrain = startupConfig.GetInt( "UpdateTerrainEveryNFrames", m_update_terrain);
792 m_update_temp_cleaning = startupConfig.GetInt( "UpdateTempCleaningEveryNFrames", m_update_temp_cleaning); 797 m_update_temp_cleaning = startupConfig.GetInt( "UpdateTempCleaningEveryNFrames", m_update_temp_cleaning);
798 SendPeriodicAppearanceUpdates = startupConfig.GetBoolean("SendPeriodicAppearanceUpdates", SendPeriodicAppearanceUpdates);
793 } 799 }
794 } 800 }
795 catch (Exception e) 801 catch (Exception e)
@@ -1345,6 +1351,16 @@ namespace OpenSim.Region.Framework.Scenes
1345 }); 1351 });
1346 } 1352 }
1347 1353
1354 if (SendPeriodicAppearanceUpdates && MaintenanceRun % 60 == 0)
1355 {
1356// m_log.DebugFormat("[SCENE]: Sending periodic appearance updates");
1357
1358 if (AvatarFactory != null)
1359 {
1360 ForEachRootScenePresence(sp => AvatarFactory.SendAppearance(sp.UUID));
1361 }
1362 }
1363
1348 Watchdog.UpdateThread(); 1364 Watchdog.UpdateThread();
1349 1365
1350 previousMaintenanceTick = m_lastMaintenanceTick; 1366 previousMaintenanceTick = m_lastMaintenanceTick;
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/IndexedAnswers.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/IndexedAnswers.cs
index 04357a9..09a9a08 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/IndexedAnswers.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/IndexedAnswers.cs
@@ -226,7 +226,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.YieldProlog
226 break; 226 break;
227 } 227 }
228 } 228 }
229 229 int z = 0;
230 try 230 try
231 { 231 {
232 if (gotMatch) 232 if (gotMatch)
@@ -235,8 +235,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.YieldProlog
235 finally 235 finally
236 { 236 {
237 // Manually finalize all the iterators. 237 // Manually finalize all the iterators.
238 for (int i = 0; i < nIterators; ++i) 238 for (z = 0; z < nIterators; ++z)
239 iterators[i].Dispose(); 239 iterators[z].Dispose();
240 } 240 }
241 } 241 }
242 } 242 }
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/YP.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/YP.cs
index d8f44c1..f2171dd 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/YP.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/YP.cs
@@ -576,7 +576,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.YieldProlog
576 break; 576 break;
577 } 577 }
578 } 578 }
579 579 int z = 0;
580 try 580 try
581 { 581 {
582 if (gotMatch) 582 if (gotMatch)
@@ -585,8 +585,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.YieldProlog
585 finally 585 finally
586 { 586 {
587 // Manually finalize all the iterators. 587 // Manually finalize all the iterators.
588 for (int i = 0; i < nIterators; ++i) 588 for (z = 0; z < nIterators; ++z)
589 iterators[i].Dispose(); 589 iterators[z].Dispose();
590 } 590 }
591 } 591 }
592 592
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini
index 8be2427..afeb01a 100644
--- a/bin/OpenSimDefaults.ini
+++ b/bin/OpenSimDefaults.ini
@@ -177,6 +177,11 @@
177 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago 177 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
178 MaximumTimeBeforePersistenceConsidered = 600 178 MaximumTimeBeforePersistenceConsidered = 600
179 179
180 ; Experimental setting to resend appearance updates every 60 seconds.
181 ; These packets are small and this can help with grey avatar syndrome.
182 ; Default is false
183 SendPeriodicAppearanceUpdates = false
184
180 ; ## 185 ; ##
181 ; ## PHYSICS 186 ; ## PHYSICS
182 ; ## 187 ; ##