1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-09-15 18:57:08 +00:00

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
This commit is contained in:
paramat 2016-04-16 23:20:20 +01:00
parent 855a305057
commit fed5dd3b5d
2 changed files with 70 additions and 81 deletions

View file

@ -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);
};