Dungeons: Generalise use, add capabilities, various modifications 4249/head
authorparamat <mat.gregory@virginmedia.com>
Sun, 12 Jun 2016 02:11:26 +0000 (03:11 +0100)
committerparamat <mat.gregory@virginmedia.com>
Fri, 17 Jun 2016 03:42:42 +0000 (04:42 +0100)
commit04fb10914c0d03ee77dafe610f336f23c58949ab
tree7eee0d7ddc799a2bcae919b3618d5700eca7dace
parent39a9e9874ee739aea91acf36c6f81fc38bce7363
Dungeons: Generalise use, add capabilities, various modifications

- Generalise node names to c_wall and c_alt_wall
- Remove 'mossratio' and instead disable alt_wall loop if
  c_alt_wall == CONTENT_IGNORE
- Use one generalised 3D noise for alternative wall nodes and in
  mgv6 create moss distribution similar to the previous

- Rename rarity noise to density noise and enable the option of multiple
  dungeons per chunk determined by the value. Recreate previous distribution
- Add parameters for min and max rooms per dungeon
- Add dungeon y limits

- Integrate river water properly

Generalisation is needed now that we have sandstone and desert stone
dungeons by default and can choose any node for alternative structure.
The current code is based around cobble dungeons with mossycobble
alternative nodes, the 2 noises controlling the alternative nodes
are based on wetness.

Enabling multiple dungeons per chunk with definable number of rooms
allows the option of very dense and complex underground structures
that could interconnect to create megastructures.
Y limits are added to be consistent with other mapgen elements, and
enable locaton of dungeon or megastructure realms as part of our
'stacked realms' philosophy.
src/dungeongen.cpp
src/dungeongen.h
src/mapgen.cpp
src/mapgen_v6.cpp