From 29e46d6b29a50151785cd96f70eed957e2b075f3 Mon Sep 17 00:00:00 2001
From: paramat <mat.gregory@virginmedia.com>
Date: Wed, 11 Mar 2015 05:28:07 +0000
Subject: [PATCH] Mgv6: Fix uninitialised heightmap used by cavegen

---
 src/mapgen_v6.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mapgen_v6.cpp b/src/mapgen_v6.cpp
index d4b9201d9..fcf59562f 100644
--- a/src/mapgen_v6.cpp
+++ b/src/mapgen_v6.cpp
@@ -56,7 +56,6 @@ MapgenV6::MapgenV6(int mapgenid, MapgenParams *params, EmergeManager *emerge)
 	this->ystride = csize.X; //////fix this
 
 	this->heightmap = new s16[csize.X * csize.Z];
-	memset(this->heightmap, 0, csize.X * csize.Z * sizeof(*this->heightmap));
 
 	MapgenV6Params *sp = (MapgenV6Params *)params->sparams;
 	this->spflags     = sp->spflags;
@@ -480,6 +479,9 @@ void MapgenV6::makeChunk(BlockMakeData *data)
 
 	generateExperimental();
 
+	// Create initial heightmap to limit caves
+	updateHeightmap(node_min, node_max);
+
 	const s16 max_spread_amount = MAP_BLOCKSIZE;
 	// Limit dirt flow area by 1 because mud is flown into neighbors.
 	s16 mudflow_minpos = -max_spread_amount + 1;
@@ -504,7 +506,7 @@ void MapgenV6::makeChunk(BlockMakeData *data)
 
 	}
 
-	// Create heightmap after mudflow
+	// Update heightmap after mudflow
 	updateHeightmap(node_min, node_max);
 
 	// Add dungeons
-- 
GitLab