mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Randomwalk caves: Add parameters for number, proportion flooded. Allow small caves (#8928)
Add mapgen parameters to set the range of the random number of randomwalk caves per mapchunk, and to set the proportion that are flooded with liquids. Default values are, for now, unchanged from the previous hardcoded values. Add parameters to allow small randomwalk caves Disabled by default for now as they have never been present in the non-mgv6 mapgens.
This commit is contained in:
parent
5506e97ed8
commit
2a74727857
17 changed files with 416 additions and 188 deletions
|
@ -51,17 +51,22 @@ FlagDesc flagdesc_mapgen_flat[] = {
|
|||
MapgenFlat::MapgenFlat(MapgenFlatParams *params, EmergeManager *emerge)
|
||||
: MapgenBasic(MAPGEN_FLAT, params, emerge)
|
||||
{
|
||||
spflags = params->spflags;
|
||||
ground_level = params->ground_level;
|
||||
large_cave_depth = params->large_cave_depth;
|
||||
lava_depth = params->lava_depth;
|
||||
cave_width = params->cave_width;
|
||||
lake_threshold = params->lake_threshold;
|
||||
lake_steepness = params->lake_steepness;
|
||||
hill_threshold = params->hill_threshold;
|
||||
hill_steepness = params->hill_steepness;
|
||||
dungeon_ymin = params->dungeon_ymin;
|
||||
dungeon_ymax = params->dungeon_ymax;
|
||||
spflags = params->spflags;
|
||||
ground_level = params->ground_level;
|
||||
large_cave_depth = params->large_cave_depth;
|
||||
lava_depth = params->lava_depth;
|
||||
small_cave_num_min = params->small_cave_num_min;
|
||||
small_cave_num_max = params->small_cave_num_max;
|
||||
large_cave_num_min = params->large_cave_num_min;
|
||||
large_cave_num_max = params->large_cave_num_max;
|
||||
large_cave_flooded = params->large_cave_flooded;
|
||||
cave_width = params->cave_width;
|
||||
lake_threshold = params->lake_threshold;
|
||||
lake_steepness = params->lake_steepness;
|
||||
hill_threshold = params->hill_threshold;
|
||||
hill_steepness = params->hill_steepness;
|
||||
dungeon_ymin = params->dungeon_ymin;
|
||||
dungeon_ymax = params->dungeon_ymax;
|
||||
|
||||
// 2D noise
|
||||
noise_filler_depth = new Noise(¶ms->np_filler_depth, seed, csize.X, csize.Z);
|
||||
|
@ -96,17 +101,22 @@ MapgenFlatParams::MapgenFlatParams():
|
|||
|
||||
void MapgenFlatParams::readParams(const Settings *settings)
|
||||
{
|
||||
settings->getFlagStrNoEx("mgflat_spflags", spflags, flagdesc_mapgen_flat);
|
||||
settings->getS16NoEx("mgflat_ground_level", ground_level);
|
||||
settings->getS16NoEx("mgflat_large_cave_depth", large_cave_depth);
|
||||
settings->getS16NoEx("mgflat_lava_depth", lava_depth);
|
||||
settings->getFloatNoEx("mgflat_cave_width", cave_width);
|
||||
settings->getFloatNoEx("mgflat_lake_threshold", lake_threshold);
|
||||
settings->getFloatNoEx("mgflat_lake_steepness", lake_steepness);
|
||||
settings->getFloatNoEx("mgflat_hill_threshold", hill_threshold);
|
||||
settings->getFloatNoEx("mgflat_hill_steepness", hill_steepness);
|
||||
settings->getS16NoEx("mgflat_dungeon_ymin", dungeon_ymin);
|
||||
settings->getS16NoEx("mgflat_dungeon_ymax", dungeon_ymax);
|
||||
settings->getFlagStrNoEx("mgflat_spflags", spflags, flagdesc_mapgen_flat);
|
||||
settings->getS16NoEx("mgflat_ground_level", ground_level);
|
||||
settings->getS16NoEx("mgflat_large_cave_depth", large_cave_depth);
|
||||
settings->getS16NoEx("mgflat_lava_depth", lava_depth);
|
||||
settings->getU16NoEx("mgflat_small_cave_num_min", small_cave_num_min);
|
||||
settings->getU16NoEx("mgflat_small_cave_num_max", small_cave_num_max);
|
||||
settings->getU16NoEx("mgflat_large_cave_num_min", large_cave_num_min);
|
||||
settings->getU16NoEx("mgflat_large_cave_num_max", large_cave_num_max);
|
||||
settings->getFloatNoEx("mgflat_large_cave_flooded", large_cave_flooded);
|
||||
settings->getFloatNoEx("mgflat_cave_width", cave_width);
|
||||
settings->getFloatNoEx("mgflat_lake_threshold", lake_threshold);
|
||||
settings->getFloatNoEx("mgflat_lake_steepness", lake_steepness);
|
||||
settings->getFloatNoEx("mgflat_hill_threshold", hill_threshold);
|
||||
settings->getFloatNoEx("mgflat_hill_steepness", hill_steepness);
|
||||
settings->getS16NoEx("mgflat_dungeon_ymin", dungeon_ymin);
|
||||
settings->getS16NoEx("mgflat_dungeon_ymax", dungeon_ymax);
|
||||
|
||||
settings->getNoiseParams("mgflat_np_terrain", np_terrain);
|
||||
settings->getNoiseParams("mgflat_np_filler_depth", np_filler_depth);
|
||||
|
@ -118,17 +128,22 @@ void MapgenFlatParams::readParams(const Settings *settings)
|
|||
|
||||
void MapgenFlatParams::writeParams(Settings *settings) const
|
||||
{
|
||||
settings->setFlagStr("mgflat_spflags", spflags, flagdesc_mapgen_flat, U32_MAX);
|
||||
settings->setS16("mgflat_ground_level", ground_level);
|
||||
settings->setS16("mgflat_large_cave_depth", large_cave_depth);
|
||||
settings->setS16("mgflat_lava_depth", lava_depth);
|
||||
settings->setFloat("mgflat_cave_width", cave_width);
|
||||
settings->setFloat("mgflat_lake_threshold", lake_threshold);
|
||||
settings->setFloat("mgflat_lake_steepness", lake_steepness);
|
||||
settings->setFloat("mgflat_hill_threshold", hill_threshold);
|
||||
settings->setFloat("mgflat_hill_steepness", hill_steepness);
|
||||
settings->setS16("mgflat_dungeon_ymin", dungeon_ymin);
|
||||
settings->setS16("mgflat_dungeon_ymax", dungeon_ymax);
|
||||
settings->setFlagStr("mgflat_spflags", spflags, flagdesc_mapgen_flat, U32_MAX);
|
||||
settings->setS16("mgflat_ground_level", ground_level);
|
||||
settings->setS16("mgflat_large_cave_depth", large_cave_depth);
|
||||
settings->setS16("mgflat_lava_depth", lava_depth);
|
||||
settings->setU16("mgflat_small_cave_num_min", small_cave_num_min);
|
||||
settings->setU16("mgflat_small_cave_num_max", small_cave_num_max);
|
||||
settings->setU16("mgflat_large_cave_num_min", large_cave_num_min);
|
||||
settings->setU16("mgflat_large_cave_num_max", large_cave_num_max);
|
||||
settings->setFloat("mgflat_large_cave_flooded", large_cave_flooded);
|
||||
settings->setFloat("mgflat_cave_width", cave_width);
|
||||
settings->setFloat("mgflat_lake_threshold", lake_threshold);
|
||||
settings->setFloat("mgflat_lake_steepness", lake_steepness);
|
||||
settings->setFloat("mgflat_hill_threshold", hill_threshold);
|
||||
settings->setFloat("mgflat_hill_steepness", hill_steepness);
|
||||
settings->setS16("mgflat_dungeon_ymin", dungeon_ymin);
|
||||
settings->setS16("mgflat_dungeon_ymax", dungeon_ymax);
|
||||
|
||||
settings->setNoiseParams("mgflat_np_terrain", np_terrain);
|
||||
settings->setNoiseParams("mgflat_np_filler_depth", np_filler_depth);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue