Fix black tree leaves, reduce above-ground cave shadows
authorkwolekr <kwolekr@minetest.net>
Sun, 7 Apr 2013 06:26:46 +0000 (02:26 -0400)
committerkwolekr <kwolekr@minetest.net>
Sun, 7 Apr 2013 06:26:46 +0000 (02:26 -0400)
src/mapgen.cpp
src/mapgen_singlenode.cpp
src/mapgen_v6.cpp
src/mapgen_v7.cpp

index b7711b01cdfbcad6b4a7ab61b0e9ef7f8c4eb29e..22488bc4cc4073f2f91b0e82bffd53e76c7bda91 100644 (file)
@@ -241,8 +241,7 @@ void Mapgen::updateLiquid(UniqueQueue<v3s16> *trans_liquid, v3s16 nmin, v3s16 nm
 
 void Mapgen::setLighting(v3s16 nmin, v3s16 nmax, u8 light) {
        ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG);
-       VoxelArea a(nmin - v3s16(1,0,1) * MAP_BLOCKSIZE,
-                               nmax + v3s16(1,0,1) * MAP_BLOCKSIZE);
+       VoxelArea a(nmin, nmax);
 
        for (int z = a.MinEdge.Z; z <= a.MaxEdge.Z; z++) {
                for (int y = a.MinEdge.Y; y <= a.MaxEdge.Y; y++) {
@@ -278,8 +277,7 @@ void Mapgen::lightSpread(VoxelArea &a, v3s16 p, u8 light) {
 
 
 void Mapgen::calcLighting(v3s16 nmin, v3s16 nmax) {
-       VoxelArea a(nmin - v3s16(1,0,1) * MAP_BLOCKSIZE,
-                               nmax + v3s16(1,0,1) * MAP_BLOCKSIZE);
+       VoxelArea a(nmin, nmax);
        bool block_is_underground = (water_level >= nmax.Y);
 
        ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG);
@@ -342,9 +340,7 @@ void Mapgen::calcLighting(v3s16 nmin, v3s16 nmax) {
 
 void Mapgen::calcLightingOld(v3s16 nmin, v3s16 nmax) {
        enum LightBank banks[2] = {LIGHTBANK_DAY, LIGHTBANK_NIGHT};
-
-       VoxelArea a(nmin - v3s16(1,0,1) * MAP_BLOCKSIZE,
-                               nmax + v3s16(1,0,1) * MAP_BLOCKSIZE);
+       VoxelArea a(nmin, nmax);
        bool block_is_underground = (water_level > nmax.Y);
        bool sunlight = !block_is_underground;
 
index 22b756abba513de587b7ff01846dcc71f6f84b64..f05ddd2f4e32a137e3b3188354f1a6fc014c79b7 100644 (file)
@@ -91,7 +91,8 @@ void MapgenSinglenode::makeChunk(BlockMakeData *data) {
        updateLiquid(&data->transforming_liquid, node_min, node_max);
 
        // Calculate lighting
-       calcLighting(node_min, node_max);
+       calcLighting(node_min - v3s16(1, 0, 1) * MAP_BLOCKSIZE,
+                                node_max + v3s16(1, 0, 1) * MAP_BLOCKSIZE);
        
        this->generating = false;
 }
index 275d4b78fdd13993e2ab20917f46d83c181bb2b7..4a037bb8595454ecc9eb87eedb3260dcb4894cde 100644 (file)
@@ -471,7 +471,8 @@ void MapgenV6::makeChunk(BlockMakeData *data) {
        }
 
        // Calculate lighting
-       calcLighting(node_min, node_max);
+       calcLighting(node_min - v3s16(1, 1, 1) * MAP_BLOCKSIZE,
+                                node_max + v3s16(1, 0, 1) * MAP_BLOCKSIZE);
        
        this->generating = false;
 }
index af453c2ec6d0a3a4c21441bfed6626ab6aa61d72..6aecfe3109217a96a40f945c088a31fb34849611 100644 (file)
@@ -186,7 +186,9 @@ void MapgenV7::makeChunk(BlockMakeData *data) {
        //printf("makeChunk: %dms\n", t.stop());
        
        updateLiquid(&data->transforming_liquid, full_node_min, full_node_max);
-       calcLighting(node_min, node_max);
+       
+       calcLighting(node_min - v3s16(1, 0, 1) * MAP_BLOCKSIZE,
+                                node_max + v3s16(1, 0, 1) * MAP_BLOCKSIZE);
        //setLighting(node_min, node_max, 0xFF);
 
        this->generating = false;