From 1702c34b6406025802a4fbecd893c27827b3ce96 Mon Sep 17 00:00:00 2001
From: paramat <mat.gregory@virginmedia.com>
Date: Mon, 19 Jan 2015 11:03:54 +0000
Subject: [PATCH] Mgv7 generateRidgeTerrain: Make river generation relative to
 water level Remove widthn and make nridge zero underwater

---
 src/mapgen_v7.cpp | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/src/mapgen_v7.cpp b/src/mapgen_v7.cpp
index f13eee829..e8ca7809d 100644
--- a/src/mapgen_v7.cpp
+++ b/src/mapgen_v7.cpp
@@ -521,15 +521,10 @@ void MapgenV7::generateRidgeTerrain()
 			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;
-
-			if (y < water_level)
-				nridge = -fabs(nridge) * 3.0 * widthn * 0.3;
+			float altitude = y - water_level;
+			float height_mod = (altitude + 17) / 2.5;
+			float width_mod  = width - fabs(uwatern);
+			float nridge = noise_ridge->result[index] * MYMAX(altitude, 0) / 7.0;
 
 			if (nridge + width_mod * height_mod < 0.6)
 				continue;
-- 
GitLab