From d8edd3d0c87aeb5fcff4859a151e478f6f93932e Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 8 Apr 2012 04:01:12 +0300 Subject: Make lava brighter by showing light sources at their full emitted light level --- src/mapblock_mesh.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/mapblock_mesh.cpp') diff --git a/src/mapblock_mesh.cpp b/src/mapblock_mesh.cpp index abe23855f..0e26161e2 100644 --- a/src/mapblock_mesh.cpp +++ b/src/mapblock_mesh.cpp @@ -183,6 +183,15 @@ static u8 getFaceLight(enum LightBank bank, MapNode n, MapNode n2, else light = l2; + // Boost light level for light sources + u8 light_source = MYMAX(ndef->get(n).light_source, + ndef->get(n2).light_source); + //if(light_source >= light) + //return decode_light(undiminish_light(light_source)); + if(light_source > light) + //return decode_light(light_source); + light = light_source; + // Make some nice difference to different sides // This makes light come from a corner @@ -233,10 +242,13 @@ static u8 getSmoothLight(enum LightBank bank, v3s16 p, MeshMakeData *data) u16 ambient_occlusion = 0; u16 light = 0; u16 light_count = 0; + u8 light_source_max = 0; for(u32 i=0; i<8; i++) { MapNode n = data->m_vmanip.getNodeNoEx(p - dirs8[i]); const ContentFeatures &f = ndef->get(n); + if(f.light_source > light_source_max) + light_source_max = f.light_source; // Check f.solidness because fast-style leaves look // better this way if(f.param_type == CPT_LIGHT && f.solidness != 2) @@ -255,6 +267,11 @@ static u8 getSmoothLight(enum LightBank bank, v3s16 p, MeshMakeData *data) light /= light_count; + // Boost brightness around light sources + if(decode_light(light_source_max) >= light) + //return decode_light(undiminish_light(light_source_max)); + return decode_light(light_source_max); + if(ambient_occlusion > 4) { ambient_occlusion -= 4; -- cgit v1.2.3