diff --git a/OpenSim.RegionServer/OpenSimMain.cs b/OpenSim.RegionServer/OpenSimMain.cs index 4321d8a888..edf4c62bba 100644 --- a/OpenSim.RegionServer/OpenSimMain.cs +++ b/OpenSim.RegionServer/OpenSimMain.cs @@ -541,6 +541,7 @@ namespace OpenSim m_console.WriteLine("terrain load - loads a terrain from disk, type can be 'F32', 'F64' or 'IMG'"); m_console.WriteLine("terrain save - saves a terrain to disk, type can be 'F32' or 'F64'"); m_console.WriteLine("terrain rescale - rescales a terrain to be between and meters high"); + m_console.WriteLine("terrain multiply - multiplies a terrain by "); break; case "seed": @@ -555,6 +556,10 @@ namespace OpenSim LocalWorld.Terrain.setRange(Convert.ToSingle(args[1]), Convert.ToSingle(args[2])); break; + case "multiply": + LocalWorld.Terrain *= Convert.ToDouble(args[1]); + break; + case "load": switch (args[1].ToLower()) { diff --git a/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs b/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs index f97045a422..0b066aafb8 100644 --- a/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs +++ b/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs @@ -219,6 +219,11 @@ namespace OpenSim.Terrain } } + public static TerrainEngine operator *(TerrainEngine meep, Double val) { + meep.heightmap *= val; + return meep; + } + public float this[int x, int y] { get