From 408d9b72f00b1aed2de5a6738571acab1149f690 Mon Sep 17 00:00:00 2001 From: paramat Date: Sun, 18 Jan 2015 11:52:59 +0000 Subject: [PATCH] Mgv7 generateRidgeTerrain: Enable rangelim of widthn to remove abysses, calculate widthn later in function Reduce width to 0.2 Carve river channels in deeper waters --- src/mapgen_v7.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/mapgen_v7.cpp b/src/mapgen_v7.cpp index d44d8adc4..251540880 100644 --- a/src/mapgen_v7.cpp +++ b/src/mapgen_v7.cpp @@ -510,16 +510,16 @@ void MapgenV7::generateRidgeTerrain() for (s16 x = node_min.X; x <= node_max.X; x++, index++, vi++) { int j = (z - node_min.Z) * csize.X + (x - node_min.X); - if (heightmap[j] < water_level - 4) + if (heightmap[j] < water_level - 16) + continue; + + float width = 0.2; // TODO: figure out acceptable perlin noise values + float uwatern = noise_ridge_uwater->result[j] * 2; + if (fabs(uwatern) > width) continue; float widthn = (noise_terrain_persist->result[j] - 0.6) / 0.1; - //widthn = rangelim(widthn, -0.05, 0.5); - - float width = 0.3; // TODO: figure out acceptable perlin noise values - float uwatern = noise_ridge_uwater->result[j] * 2; - if (uwatern < -width || uwatern > width) - continue; + widthn = rangelim(widthn, -0.05, 0.5); float height_mod = (float)(y + 17) / 2.5; float width_mod = (width - fabs(uwatern));