Mgv7 generateRidgeTerrain: Enable rangelim of widthn to remove abysses, calculate...
authorparamat <mat.gregory@virginmedia.com>
Sun, 18 Jan 2015 11:52:59 +0000 (11:52 +0000)
committerkwolekr <kwolekr@minetest.net>
Thu, 22 Jan 2015 07:06:33 +0000 (02:06 -0500)
Reduce width to 0.2
Carve river channels in deeper waters

src/mapgen_v7.cpp

index d44d8adc47b5b8d68af60db4dee241b8e8ff45e1..2515408805ecf9bb1d6f2c43fab1aefc53a377ed 100644 (file)
@@ -510,17 +510,17 @@ 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 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 width = 0.2; // TODO: figure out acceptable perlin noise values
                        float uwatern = noise_ridge_uwater->result[j] * 2;
-                       if (uwatern < -width || uwatern > width)
+                       if (fabs(uwatern) > width)
                                continue;
 
+                       float widthn = (noise_terrain_persist->result[j] - 0.6) / 0.1;
+                       widthn = rangelim(widthn, -0.05, 0.5);
+
                        float height_mod = (float)(y + 17) / 2.5;
                        float width_mod  = (width - fabs(uwatern));
                        float nridge = noise_ridge->result[index] * (float)y / 7.0;