Merge branch 'master' into careminster

Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
avinationmerge
Melanie 2012-03-23 14:24:55 +00:00
commit 9a67baae21
4 changed files with 27 additions and 6 deletions

View File

@ -104,6 +104,11 @@ namespace OpenSim.Region.Framework.Scenes
public bool m_allowScriptCrossings; public bool m_allowScriptCrossings;
public bool m_useFlySlow; public bool m_useFlySlow;
/// <summary>
/// Temporarily setting to trigger appearance resends at 60 second intervals.
/// </summary>
public bool SendPeriodicAppearanceUpdates { get; set; }
protected float m_defaultDrawDistance = 255.0f; protected float m_defaultDrawDistance = 255.0f;
public float DefaultDrawDistance public float DefaultDrawDistance
{ {
@ -790,6 +795,7 @@ namespace OpenSim.Region.Framework.Scenes
m_update_presences = startupConfig.GetInt( "UpdateAgentsEveryNFrames", m_update_presences); m_update_presences = startupConfig.GetInt( "UpdateAgentsEveryNFrames", m_update_presences);
m_update_terrain = startupConfig.GetInt( "UpdateTerrainEveryNFrames", m_update_terrain); m_update_terrain = startupConfig.GetInt( "UpdateTerrainEveryNFrames", m_update_terrain);
m_update_temp_cleaning = startupConfig.GetInt( "UpdateTempCleaningEveryNFrames", m_update_temp_cleaning); m_update_temp_cleaning = startupConfig.GetInt( "UpdateTempCleaningEveryNFrames", m_update_temp_cleaning);
SendPeriodicAppearanceUpdates = startupConfig.GetBoolean("SendPeriodicAppearanceUpdates", SendPeriodicAppearanceUpdates);
} }
} }
catch (Exception e) catch (Exception e)
@ -1345,6 +1351,16 @@ namespace OpenSim.Region.Framework.Scenes
}); });
} }
if (SendPeriodicAppearanceUpdates && MaintenanceRun % 60 == 0)
{
// m_log.DebugFormat("[SCENE]: Sending periodic appearance updates");
if (AvatarFactory != null)
{
ForEachRootScenePresence(sp => AvatarFactory.SendAppearance(sp.UUID));
}
}
Watchdog.UpdateThread(); Watchdog.UpdateThread();
previousMaintenanceTick = m_lastMaintenanceTick; previousMaintenanceTick = m_lastMaintenanceTick;

View File

@ -226,7 +226,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.YieldProlog
break; break;
} }
} }
int z = 0;
try try
{ {
if (gotMatch) if (gotMatch)
@ -235,8 +235,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.YieldProlog
finally finally
{ {
// Manually finalize all the iterators. // Manually finalize all the iterators.
for (int i = 0; i < nIterators; ++i) for (z = 0; z < nIterators; ++z)
iterators[i].Dispose(); iterators[z].Dispose();
} }
} }
} }

View File

@ -576,7 +576,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.YieldProlog
break; break;
} }
} }
int z = 0;
try try
{ {
if (gotMatch) if (gotMatch)
@ -585,8 +585,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.YieldProlog
finally finally
{ {
// Manually finalize all the iterators. // Manually finalize all the iterators.
for (int i = 0; i < nIterators; ++i) for (z = 0; z < nIterators; ++z)
iterators[i].Dispose(); iterators[z].Dispose();
} }
} }

View File

@ -177,6 +177,11 @@
; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
MaximumTimeBeforePersistenceConsidered = 600 MaximumTimeBeforePersistenceConsidered = 600
; Experimental setting to resend appearance updates every 60 seconds.
; These packets are small and this can help with grey avatar syndrome.
; Default is false
SendPeriodicAppearanceUpdates = false
; ## ; ##
; ## PHYSICS ; ## PHYSICS
; ## ; ##