Small refactoring on Terrain Update sending, so that other code can force terrain updates to be sent to clients.
parent
33c4631c6d
commit
542cd417c8
|
@ -718,27 +718,32 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
|
|
||||||
m_storageManager.DataStore.StoreTerrain(Terrain.GetHeights2DD(), RegionInfo.RegionID);
|
m_storageManager.DataStore.StoreTerrain(Terrain.GetHeights2DD(), RegionInfo.RegionID);
|
||||||
|
|
||||||
float[] terData = Terrain.GetHeights1D();
|
SendTerrainUpdate(true);
|
||||||
|
|
||||||
Broadcast(delegate(IClientAPI client)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < 16; x++)
|
|
||||||
{
|
|
||||||
for (int y = 0; y < 16; y++)
|
|
||||||
{
|
|
||||||
if (Terrain.IsTainted(x*16, y*16))
|
|
||||||
{
|
|
||||||
client.SendLayerData(x, y, terData);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Terrain.ResetTaint();
|
Terrain.ResetTaint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SendTerrainUpdate(bool checkForTainted)
|
||||||
|
{
|
||||||
|
float[] terData = Terrain.GetHeights1D();
|
||||||
|
|
||||||
|
Broadcast(delegate(IClientAPI client)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < 16; x++)
|
||||||
|
{
|
||||||
|
for (int y = 0; y < 16; y++)
|
||||||
|
{
|
||||||
|
if ((!checkForTainted) || (Terrain.IsTainted(x * 16, y * 16)))
|
||||||
|
{
|
||||||
|
client.SendLayerData(x, y, terData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void UpdateStorageBackup()
|
private void UpdateStorageBackup()
|
||||||
{
|
{
|
||||||
Backup();
|
Backup();
|
||||||
|
|
Loading…
Reference in New Issue