aboutsummaryrefslogtreecommitdiff
path: root/src/mapgen_v6.cpp
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2015-01-04 02:34:33 -0500
committerkwolekr <kwolekr@minetest.net>2015-01-04 02:42:31 -0500
commit7233a1228eb161cbcbb46c6e801cabd89ef3d2ab (patch)
treeaf3b728cb6052e3bd409ac39cd6b2db7c633076d /src/mapgen_v6.cpp
parent060ae29eafbca089824cfbcedc9bc36b7fda5d5e (diff)
downloadminetest-7233a1228eb161cbcbb46c6e801cabd89ef3d2ab.tar.gz
minetest-7233a1228eb161cbcbb46c6e801cabd89ef3d2ab.tar.bz2
minetest-7233a1228eb161cbcbb46c6e801cabd89ef3d2ab.zip
Lighting: Fix nearly all issues
The cause of a single light source seemingly being lit without spread was due to its creation in the +Y mapblock boundary layer during map generation, which was ignored as the overtop. This overtop explicitly needs to be omitted during sunlight propagation, however. To accomplish this, Mapgen::calcLighting() was split into separate functions taking separate parameters. Additionally, do not diminish light too early during spread. This fixes the output inconsistency between Map::updateLighting and Mapgen::calcLighting.
Diffstat (limited to 'src/mapgen_v6.cpp')
-rw-r--r--src/mapgen_v6.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/mapgen_v6.cpp b/src/mapgen_v6.cpp
index b97512535..3d9f4c517 100644
--- a/src/mapgen_v6.cpp
+++ b/src/mapgen_v6.cpp
@@ -534,7 +534,7 @@ void MapgenV6::makeChunk(BlockMakeData *data)
}
// Add top and bottom side of water to transforming_liquid queue
- updateLiquid(&data->transforming_liquid, full_node_min, full_node_max);
+ //updateLiquid(&data->transforming_liquid, full_node_min, full_node_max);
// Grow grass
growGrass();
@@ -551,8 +551,7 @@ void MapgenV6::makeChunk(BlockMakeData *data)
// Calculate lighting
if (flags & MG_LIGHT)
- calcLighting(node_min - v3s16(1, 1, 1) * MAP_BLOCKSIZE,
- node_max + v3s16(1, 0, 1) * MAP_BLOCKSIZE);
+ calcLighting(node_min, node_max);
this->generating = false;
}