From bb14b7e9564b982ddcecb972218bfdae00cb4de4 Mon Sep 17 00:00:00 2001 From: Paramat Date: Sun, 30 Jun 2019 22:55:20 +0100 Subject: 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. --- src/mapgen/dungeongen.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/mapgen/dungeongen.h') 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; }; -- cgit v1.2.3