From fed5dd3b5d153bc38939298f37650062d11a7082 Mon Sep 17 00:00:00 2001 From: paramat Date: Sat, 16 Apr 2016 23:20:20 +0100 Subject: Mgv7: Combine mountain terrain generation with base terrain generation Previous mountain terrain generation was by necessity placing stone in air, this was removing air from any overgenerated structures such as tunnels, dungeons and large caves Moving it into the base terrain generation loop ensures that only 'ignore' is replaced generateRidgeTerrain: only return if node_max.Y < water_level - 16 Previously, if water level was set a few nodes above a mapchunk border the river channel was only partially excavated --- src/mapgen_v7.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/mapgen_v7.h') diff --git a/src/mapgen_v7.h b/src/mapgen_v7.h index 9fdecf592..57cb55a8a 100644 --- a/src/mapgen_v7.h +++ b/src/mapgen_v7.h @@ -59,6 +59,7 @@ public: BiomeManager *bmgr; int ystride; + int zstride_1u1d; int zstride_1d; u32 spflags; @@ -113,16 +114,12 @@ public: void calculateNoise(); - virtual int generateTerrain(); - void generateBaseTerrain(s16 *stone_surface_min_y, s16 *stone_surface_max_y); - int generateMountainTerrain(s16 ymax); + int generateTerrain(); void generateRidgeTerrain(); MgStoneType generateBiomes(float *heat_map, float *humidity_map); void dustTopNodes(); - //void addTopNodes(); - void generateCaves(s16 max_stone_y); }; -- cgit v1.2.3