From: Paramat Date: Sun, 10 Nov 2019 01:41:20 +0000 (+0000) Subject: Randomwalk caves: Extend beyond mapchunk vertically also (#9094) X-Git-Tag: 5.2.0~292 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3b0df9760b9630ddba1983ecb4c6e4f0f8857149;p=oweals%2Fminetest.git Randomwalk caves: Extend beyond mapchunk vertically also (#9094) Previously, randomwalk caves only extended beyond the mapchunk borders horizontally, preventing vertical overlap and interconnection. --- diff --git a/src/mapgen/cavegen.cpp b/src/mapgen/cavegen.cpp index 2e2a1bbe3..d3d51935b 100644 --- a/src/mapgen/cavegen.cpp +++ b/src/mapgen/cavegen.cpp @@ -366,11 +366,13 @@ void CavesRandomWalk::makeCave(MMVManip *vm, v3s16 nmin, v3s16 nmax, // Area starting point in nodes of = node_min; - // Allow a bit more (this should be more than the maximum radius of the tunnel) + // Allow caves to extend up to 16 nodes beyond the mapchunk edge, to allow + // connecting with caves of neighbor mapchunks. + // 'insure' is needed to avoid many 'out of voxelmanip' cave nodes. const s16 insure = 2; s16 more = MYMAX(MAP_BLOCKSIZE - max_tunnel_diameter / 2 - insure, 1); - ar += v3s16(1, 0, 1) * more * 2; - of -= v3s16(1, 0, 1) * more; + ar += v3s16(1, 1, 1) * more * 2; + of -= v3s16(1, 1, 1) * more; route_y_min = 0; // Allow half a diameter + 7 over stone surface