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_useFlySlow;
/// <summary>
/// Temporarily setting to trigger appearance resends at 60 second intervals.
/// </summary>
public bool SendPeriodicAppearanceUpdates { get; set; }
protected float m_defaultDrawDistance = 255.0f;
public float DefaultDrawDistance
{
@ -790,6 +795,7 @@ namespace OpenSim.Region.Framework.Scenes
m_update_presences = startupConfig.GetInt( "UpdateAgentsEveryNFrames", m_update_presences);
m_update_terrain = startupConfig.GetInt( "UpdateTerrainEveryNFrames", m_update_terrain);
m_update_temp_cleaning = startupConfig.GetInt( "UpdateTempCleaningEveryNFrames", m_update_temp_cleaning);
SendPeriodicAppearanceUpdates = startupConfig.GetBoolean("SendPeriodicAppearanceUpdates", SendPeriodicAppearanceUpdates);
}
}
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();
previousMaintenanceTick = m_lastMaintenanceTick;

View File

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

View File

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