summaryrefslogtreecommitdiff
path: root/src/mapgen/dungeongen.h
diff options
context:
space:
mode:
authorParamat <paramat@users.noreply.github.com>2019-06-30 22:55:20 +0100
committerGitHub <noreply@github.com>2019-06-30 22:55:20 +0100
commitbb14b7e9564b982ddcecb972218bfdae00cb4de4 (patch)
tree8d7e6a4c053d0fc837c031f135adc309732c1888 /src/mapgen/dungeongen.h
parent93f7e10e0dcf6d1f729daf01596ba1b66146329a (diff)
downloadminetest-bb14b7e9564b982ddcecb972218bfdae00cb4de4.tar.gz
minetest-bb14b7e9564b982ddcecb972218bfdae00cb4de4.tar.bz2
minetest-bb14b7e9564b982ddcecb972218bfdae00cb4de4.zip
Dungeongen: Remove most hardcoded dungeon nodes (#8594)
Biome-defined dungeon nodes was added as a feature to MT 5.0.0. So now remove most of the hardcoded dungeon node code that assumes a game has stone, sandstone, desert stone, and no other stone types. If biome-defined dungeon nodes are not found, dungeon nodes fall back to the 'cobble' mapgen alias if present, if not present they fall back to biome-defined 'stone'. Remove now-unnecessary mapgen aliases from MapgenBasic. Non-mgv6 games now only need to define 3 to 5 mapgen aliases. Document dungeon parameters. Make c_lava_source fallback to c_water_source as both are used as cave liquids.
Diffstat (limited to 'src/mapgen/dungeongen.h')
-rw-r--r--src/mapgen/dungeongen.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mapgen/dungeongen.h b/src/mapgen/dungeongen.h
index 2c20446fd..7b476527b 100644
--- a/src/mapgen/dungeongen.h
+++ b/src/mapgen/dungeongen.h
@@ -42,22 +42,35 @@ struct DungeonParams {
s32 seed;
content_t c_wall;
+ // Randomly scattered alternative wall nodes
content_t c_alt_wall;
content_t c_stair;
+ // Diagonal corridors are possible
bool diagonal_dirs;
+ // Dungeon only generates in ground
bool only_in_ground;
+ // Dimensions of 3D 'brush' that creates corridors.
+ // Dimensions are of the empty space, not including walls / floor / ceilng.
v3s16 holesize;
+ // Corridor length
u16 corridor_len_min;
u16 corridor_len_max;
+ // Room size includes walls / floor / ceilng
v3s16 room_size_min;
v3s16 room_size_max;
+ // The 1st room generated has a 1 in 4 chance of being 'large', all other
+ // rooms are not 'large'.
v3s16 room_size_large_min;
v3s16 room_size_large_max;
+ // Number of rooms
u16 rooms_min;
u16 rooms_max;
+ // Usually 'GENNOTIFY_DUNGEON', but mapgen v6 uses 'GENNOTIFY_TEMPLE' for
+ // desert dungeons.
GenNotifyType notifytype;
+ // 3D noise that determines which c_wall nodes are converted to c_alt_wall
NoiseParams np_alt_wall;
};