Voxelmanip: Do not emerge or blit to blocks over map gen limit
authorparamat <mat.gregory@virginmedia.com>
Fri, 17 Feb 2017 15:50:51 +0000 (15:50 +0000)
committerparamat <mat.gregory@virginmedia.com>
Sat, 18 Feb 2017 22:47:24 +0000 (22:47 +0000)
commit111e7e1cc8316e4812e85fddc579feaeedecbb58
tree10aadaded479e5d705f64cfa199272c06ee87384
parentd0a6cacd51a25f75b0b2e9133514c7cf40a36805
Voxelmanip: Do not emerge or blit to blocks over map gen limit

Placing a structure that extends into mapblocks that extend past
map_gen_limit causes a crash. For example a sapling growing at the
world edge which adds leaves beyond the edge, or placing a structure
using the lua voxelmanip, or placing a schematic or l-system tree.

Do not run the 'load_if_inexistent' block of code if the mapblock
is over limit, this also marks the mapblock with the flag
VMANIP_BLOCK_DATA_INEXIST which later prevents blitting back those
mapblocks.

This fix therefore uses existing functionality by having the same
effect as the 'load_if_inexistent' bool being false.
src/map.cpp