diff --git a/bin/TerrainFilters/demofilter.cs b/bin/TerrainFilters/demofilter.cs index 79b8d056cb..1fdfc95e0a 100644 --- a/bin/TerrainFilters/demofilter.cs +++ b/bin/TerrainFilters/demofilter.cs @@ -22,3 +22,29 @@ public class DemoFilter : ITerrainFilter return "demofilter - Does nothing\n"; } } + +public class SineFilter : ITerrainFilter +{ + public void Filter(Channel heightmap, string[] args) + { + double max = heightmap.findMax(); + + for (int x = 0; x < heightmap.w; x++) + { + for (int y = 0; y < heightmap.h; y++) + { + heightmap.set(x,y,((Math.Sin(heightmap.get(x,y) * Convert.ToDouble(args[1])) + 1) / 2) * max); + } + } + } + + public string Register() + { + return "sinefilter"; + } + + public string Help() + { + return "sinefilter - Converts the heightmap to the functional output of a sine wave"; + } +} \ No newline at end of file