1
0
mirror of https://github.com/luanti-org/luanti.git synced 2025-10-12 16:15:20 +02:00

Cavegen/Mgv5/Mgv7: Add optional giant caverns

Add to MapgenBasic for use by multiple mapgens.
Add to mgv5 and mgv7, enabled by default.

Similar to mgvalleys caverns but half the scale.
Parameters for upper y limit, distance caverns taper to full size, and
noise threshold (full cavern size).
As with mgvalleys caverns are generated first and classic caves are
disabled in any mapchunk containing a cavern, to avoid excessive
spreading volumes of liquids.
This also avoids floating blobs of liquid where a large classic cave
has overgenerated out into a neighbouring previously-generated mapchunk.
This commit is contained in:
paramat
2017-03-12 13:26:09 +00:00
parent 86b1542181
commit 859141a0ce
10 changed files with 303 additions and 54 deletions

View File

@@ -23,10 +23,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "mapgen.h"
////////////// Mapgen V7 flags
#define MGV7_MOUNTAINS 0x01
#define MGV7_RIDGES 0x02
#define MGV7_FLOATLANDS 0x04
//////////// Mapgen V7 flags
#define MGV7_MOUNTAINS 0x01
#define MGV7_RIDGES 0x02
#define MGV7_FLOATLANDS 0x04
#define MGV7_CAVERNS 0x08
class BiomeManager;
@@ -40,6 +41,9 @@ struct MapgenV7Params : public MapgenParams {
float float_mount_height;
s16 floatland_level;
s16 shadow_limit;
s16 cavern_limit;
s16 cavern_taper;
float cavern_threshold;
NoiseParams np_terrain_base;
NoiseParams np_terrain_alt;
@@ -52,6 +56,7 @@ struct MapgenV7Params : public MapgenParams {
NoiseParams np_float_base_height;
NoiseParams np_mountain;
NoiseParams np_ridge;
NoiseParams np_cavern;
NoiseParams np_cave1;
NoiseParams np_cave2;