diff options
author | Paramat <paramat@users.noreply.github.com> | 2019-06-30 22:55:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-30 22:55:20 +0100 |
commit | bb14b7e9564b982ddcecb972218bfdae00cb4de4 (patch) | |
tree | 8d7e6a4c053d0fc837c031f135adc309732c1888 /src/mapgen/dungeongen.h | |
parent | 93f7e10e0dcf6d1f729daf01596ba1b66146329a (diff) | |
download | minetest-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.h | 13 |
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; }; |