From d8997b59d30b63218f594d840d924a10287ce509 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Tue, 24 Jul 2007 05:22:33 +0000 Subject: * Terrain should now send just updated patches. --- .../libTerrainBSD/Channel/Manipulators/AerobicErosion.cs | 4 ++-- .../libTerrainBSD/Channel/Manipulators/HydraulicErosion.cs | 2 ++ .../libTerrainBSD/Channel/Manipulators/ThermalWeathering.cs | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators') diff --git a/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/AerobicErosion.cs b/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/AerobicErosion.cs index 198c337..f4dfe1d 100644 --- a/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/AerobicErosion.cs +++ b/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/AerobicErosion.cs @@ -118,7 +118,7 @@ namespace libTerrain if (surfacearea > pickupTalusMinimum) { - this.map[x, y] -= amount; + Set(x, y, map[x, y] - amount); sediment.map[x, y] += amount; } } @@ -168,7 +168,7 @@ namespace libTerrain if (surfacearea > dropTalusMinimum) { - this.map[x + minside[0], y + minside[1]] += amount; + Set(x + minside[0], y + minside[1], map[x + minside[0], y + minside[1]] + amount); sediment.map[x, y] -= amount; } } diff --git a/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/HydraulicErosion.cs b/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/HydraulicErosion.cs index 5ace241..36da77c 100644 --- a/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/HydraulicErosion.cs +++ b/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/HydraulicErosion.cs @@ -36,6 +36,8 @@ namespace libTerrain { public void HydraulicErosion(Channel rain, double evaporation, double solubility, int frequency, int rounds) { + SetDiff(); + Channel water = new Channel(w, h); Channel sediment = new Channel(w, h); Channel terrain = this; diff --git a/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/ThermalWeathering.cs b/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/ThermalWeathering.cs index 449bf85..07c7d66 100644 --- a/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/ThermalWeathering.cs +++ b/OpenSim/Region/Terrain.BasicTerrain/libTerrainBSD/Channel/Manipulators/ThermalWeathering.cs @@ -42,6 +42,8 @@ namespace libTerrain /// The amount of rock to carry each round public Channel ThermalWeathering(double talus, int rounds, double c) { + SetDiff(); + double[,] lastFrame; double[,] thisFrame; -- cgit v1.1