Skip to content
Permalink
Browse files

Biome dust placement: Improve comments, re-order some lines

  • Loading branch information...
paramat committed Jun 3, 2018
1 parent 5316b8f commit 86b19f284990304f5c8322040f277138333a3697
Showing with 9 additions and 4 deletions.
  1. +9 −4 src/mapgen/mapgen.cpp
@@ -791,6 +791,10 @@ void MapgenBasic::dustTopNodes()
if (biome->c_dust == CONTENT_IGNORE)
continue;

// Check if mapchunk above has generated, if so, drop dust from 16 nodes
// above current mapchunk top, above decorations that will extend above
// the current mapchunk. If the mapchunk above has not generated, it
// will provide this required dust when it does.
u32 vi = vm->m_area.index(x, full_node_max.Y, z);
content_t c_full_max = vm->m_data[vi].getContent();
s16 y_start;
@@ -819,14 +823,15 @@ void MapgenBasic::dustTopNodes()

content_t c = vm->m_data[vi].getContent();
NodeDrawType dtype = ndef->get(c).drawtype;
// Only place on walkable cubic non-liquid nodes
// Dust check needed due to vertical overgeneration
// Only place on cubic, walkable, non-dust nodes.
// Dust check needed due to avoid double layer of dust caused by
// dropping dust from 16 nodes above mapchunk top.
if ((dtype == NDT_NORMAL ||
dtype == NDT_ALLFACES ||
dtype == NDT_ALLFACES_OPTIONAL ||
dtype == NDT_GLASSLIKE_FRAMED_OPTIONAL ||
dtype == NDT_GLASSLIKE ||
dtype == NDT_GLASSLIKE_FRAMED ||
dtype == NDT_ALLFACES) &&
dtype == NDT_GLASSLIKE_FRAMED_OPTIONAL) &&
ndef->get(c).walkable && c != biome->c_dust) {
VoxelArea::add_y(em, vi, 1);
vm->m_data[vi] = MapNode(biome->c_dust);

0 comments on commit 86b19f2

Please sign in to comment.
You can’t perform that action at this time.