summaryrefslogtreecommitdiff
path: root/src/mapgen_v5.cpp
diff options
context:
space:
mode:
authorparamat <paramat@users.noreply.github.com>2017-06-20 04:55:32 +0100
committerparamat <mat.gregory@virginmedia.com>2017-06-21 01:58:04 +0100
commitb8237099b269011f16a8055a61745876768f3f4d (patch)
tree88cbfcf96c769e6d5cbb5b7e943453571a4fc330 /src/mapgen_v5.cpp
parente6a9e6066afc369f01c046de8e3a90a4b042286c (diff)
downloadminetest-b8237099b269011f16a8055a61745876768f3f4d.tar.gz
minetest-b8237099b269011f16a8055a61745876768f3f4d.tar.bz2
minetest-b8237099b269011f16a8055a61745876768f3f4d.zip
Mgv5/v7/fractal: Add 'large_cave_depth' parameter to replace fixed value
The value cannot be fixed because we can shift terrain vertically. This also makes these mapgens consistent with mgflat and mgvalleys which have 'large_cave_depth' parameters.
Diffstat (limited to 'src/mapgen_v5.cpp')
-rw-r--r--src/mapgen_v5.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mapgen_v5.cpp b/src/mapgen_v5.cpp
index 4f2f58853..ebf9424e9 100644
--- a/src/mapgen_v5.cpp
+++ b/src/mapgen_v5.cpp
@@ -50,6 +50,7 @@ MapgenV5::MapgenV5(int mapgenid, MapgenV5Params *params, EmergeManager *emerge)
{
this->spflags = params->spflags;
this->cave_width = params->cave_width;
+ this->large_cave_depth = params->large_cave_depth;
this->cavern_limit = params->cavern_limit;
this->cavern_taper = params->cavern_taper;
this->cavern_threshold = params->cavern_threshold;
@@ -94,6 +95,7 @@ void MapgenV5Params::readParams(const Settings *settings)
{
settings->getFlagStrNoEx("mgv5_spflags", spflags, flagdesc_mapgen_v5);
settings->getFloatNoEx("mgv5_cave_width", cave_width);
+ settings->getS16NoEx("mgv5_large_cave_depth", large_cave_depth);
settings->getS16NoEx("mgv5_cavern_limit", cavern_limit);
settings->getS16NoEx("mgv5_cavern_taper", cavern_taper);
settings->getFloatNoEx("mgv5_cavern_threshold", cavern_threshold);
@@ -112,6 +114,7 @@ void MapgenV5Params::writeParams(Settings *settings) const
{
settings->setFlagStr("mgv5_spflags", spflags, flagdesc_mapgen_v5, U32_MAX);
settings->setFloat("mgv5_cave_width", cave_width);
+ settings->setS16("mgv5_large_cave_depth", large_cave_depth);
settings->setS16("mgv5_cavern_limit", cavern_limit);
settings->setS16("mgv5_cavern_taper", cavern_taper);
settings->setFloat("mgv5_cavern_threshold", cavern_threshold);
@@ -209,7 +212,7 @@ void MapgenV5::makeChunk(BlockMakeData *data)
// large caverns and floating blobs of overgenerated liquid.
generateCaves(stone_surface_max_y, -MAX_MAP_GENERATION_LIMIT);
else
- generateCaves(stone_surface_max_y, MGV5_LARGE_CAVE_DEPTH);
+ generateCaves(stone_surface_max_y, large_cave_depth);
}
// Generate dungeons and desert temples