summaryrefslogtreecommitdiff
path: root/src/mapgen/mapgen_valleys.h
diff options
context:
space:
mode:
authorParamat <paramat@users.noreply.github.com>2018-07-18 03:34:05 +0100
committerGitHub <noreply@github.com>2018-07-18 03:34:05 +0100
commitbc9bb63aed82fb98eeab641eb8515c4cc1779230 (patch)
tree8f751891887ad0808be09d5c6b0e24539dbea4e1 /src/mapgen/mapgen_valleys.h
parentade7a1cbcf7156ebddb12bd2ec2ea60818d72b19 (diff)
downloadminetest-bc9bb63aed82fb98eeab641eb8515c4cc1779230.tar.gz
minetest-bc9bb63aed82fb98eeab641eb8515c4cc1779230.tar.bz2
minetest-bc9bb63aed82fb98eeab641eb8515c4cc1779230.zip
Mgvalleys: Make river depth variation and humidity drop optional (#7532)
Add 2 new mapgen flags to make river depth variation and humidity drop with altitude independently optional, instead of both being enabled by the 'humid rivers' flag. Simplify and clarify related code by removing a low priority optimisation regarding 't_heat'. Remove unnecessary optimisation bools and use spflags directly instead. Improve and fix documentation in settingtypes.txt. A few minor code cleanups.
Diffstat (limited to 'src/mapgen/mapgen_valleys.h')
-rw-r--r--src/mapgen/mapgen_valleys.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/mapgen/mapgen_valleys.h b/src/mapgen/mapgen_valleys.h
index f6a486d86..8bde7a622 100644
--- a/src/mapgen/mapgen_valleys.h
+++ b/src/mapgen/mapgen_valleys.h
@@ -28,9 +28,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "mapgen.h"
-////////////// Mapgen Valleys flags
-#define MGVALLEYS_ALT_CHILL 0x01
-#define MGVALLEYS_HUMID_RIVERS 0x02
+/////////////////// Mapgen Valleys flags
+#define MGVALLEYS_ALT_CHILL 0x01
+#define MGVALLEYS_HUMID_RIVERS 0x02
+#define MGVALLEYS_VARY_RIVER_DEPTH 0x04
+#define MGVALLEYS_ALT_DRY 0x08
// Feed only one variable into these
#define MYSQUARE(x) (x) * (x)
@@ -39,12 +41,15 @@ with this program; if not, write to the Free Software Foundation, Inc.,
class BiomeManager;
class BiomeGenOriginal;
+extern FlagDesc flagdesc_mapgen_valleys[];
+
struct MapgenValleysParams : public MapgenParams {
- u32 spflags = MGVALLEYS_HUMID_RIVERS | MGVALLEYS_ALT_CHILL;
- u16 altitude_chill = 90; // The altitude at which temperature drops by 20C
- u16 river_depth = 4; // How deep to carve river channels
- u16 river_size = 5; // How wide to make rivers
+ u32 spflags = MGVALLEYS_ALT_CHILL | MGVALLEYS_HUMID_RIVERS |
+ MGVALLEYS_VARY_RIVER_DEPTH | MGVALLEYS_ALT_DRY;
+ u16 altitude_chill = 90;
+ u16 river_depth = 4;
+ u16 river_size = 5;
float cave_width = 0.09f;
s16 large_cave_depth = -33;
@@ -53,7 +58,7 @@ struct MapgenValleysParams : public MapgenParams {
s16 cavern_taper = 192;
float cavern_threshold = 0.6f;
s16 dungeon_ymin = -31000;
- s16 dungeon_ymax = 63; // No higher than surface mapchunks
+ s16 dungeon_ymax = 63;
NoiseParams np_filler_depth;
NoiseParams np_inter_valley_fill;
@@ -88,7 +93,8 @@ struct TerrainNoise {
class MapgenValleys : public MapgenBasic {
public:
- MapgenValleys(int mapgenid, MapgenValleysParams *params, EmergeManager *emerge);
+ MapgenValleys(int mapgenid, MapgenValleysParams *params,
+ EmergeManager *emerge);
~MapgenValleys();
virtual MapgenType getType() const { return MAPGEN_VALLEYS; }
@@ -100,8 +106,6 @@ private:
BiomeGenOriginal *m_bgen;
float altitude_chill;
- bool humid_rivers;
- bool use_altitude_chill;
float humidity_adjust;
float river_depth_bed;
float river_size_factor;