forked from Mirrorlandia_minetest/minetest
Optimize lighting by a tiny bit
This commit is contained in:
parent
a8a82e0b21
commit
4ce6e5f0c5
@ -310,21 +310,21 @@ void VoxelManipulator::unspreadLight(enum LightBank bank, v3s16 p, u8 oldlight,
|
||||
If the neighbor is dimmer than what was specified
|
||||
as oldlight (the light of the previous node)
|
||||
*/
|
||||
if(n2.getLight(bank, nodemgr) < oldlight)
|
||||
u8 light2 = n2.getLight(bank, nodemgr);
|
||||
if(light2 < oldlight)
|
||||
{
|
||||
/*
|
||||
And the neighbor is transparent and it has some light
|
||||
*/
|
||||
if(nodemgr->get(n2).light_propagates && n2.getLight(bank, nodemgr) != 0)
|
||||
if(nodemgr->get(n2).light_propagates && light2 != 0)
|
||||
{
|
||||
/*
|
||||
Set light to 0 and add to queue
|
||||
*/
|
||||
|
||||
u8 current_light = n2.getLight(bank, nodemgr);
|
||||
n2.setLight(bank, 0, nodemgr);
|
||||
|
||||
unspreadLight(bank, n2pos, current_light, light_sources, nodemgr);
|
||||
unspreadLight(bank, n2pos, light2, light_sources, nodemgr);
|
||||
|
||||
/*
|
||||
Remove from light_sources if it is there
|
||||
@ -528,12 +528,14 @@ void VoxelManipulator::spreadLight(enum LightBank bank, v3s16 p,
|
||||
continue;
|
||||
|
||||
MapNode &n2 = m_data[n2i];
|
||||
|
||||
u8 light2 = n2.getLight(bank, nodemgr);
|
||||
|
||||
/*
|
||||
If the neighbor is brighter than the current node,
|
||||
add to list (it will light up this node on its turn)
|
||||
*/
|
||||
if(n2.getLight(bank, nodemgr) > undiminish_light(oldlight))
|
||||
if(light2 > undiminish_light(oldlight))
|
||||
{
|
||||
spreadLight(bank, n2pos, nodemgr);
|
||||
}
|
||||
@ -541,7 +543,7 @@ void VoxelManipulator::spreadLight(enum LightBank bank, v3s16 p,
|
||||
If the neighbor is dimmer than how much light this node
|
||||
would spread on it, add to list
|
||||
*/
|
||||
if(n2.getLight(bank, nodemgr) < newlight)
|
||||
if(light2 < newlight)
|
||||
{
|
||||
if(nodemgr->get(n2).light_propagates)
|
||||
{
|
||||
@ -633,12 +635,14 @@ void VoxelManipulator::spreadLight(enum LightBank bank,
|
||||
continue;
|
||||
|
||||
MapNode &n2 = m_data[n2i];
|
||||
|
||||
u8 light2 = n2.getLight(bank, nodemgr);
|
||||
|
||||
/*
|
||||
If the neighbor is brighter than the current node,
|
||||
add to list (it will light up this node on its turn)
|
||||
*/
|
||||
if(n2.getLight(bank, nodemgr) > undiminish_light(oldlight))
|
||||
if(light2 > undiminish_light(oldlight))
|
||||
{
|
||||
lighted_nodes.insert(n2pos, true);
|
||||
}
|
||||
@ -646,7 +650,7 @@ void VoxelManipulator::spreadLight(enum LightBank bank,
|
||||
If the neighbor is dimmer than how much light this node
|
||||
would spread on it, add to list
|
||||
*/
|
||||
if(n2.getLight(bank, nodemgr) < newlight)
|
||||
if(light2 < newlight)
|
||||
{
|
||||
if(nodemgr->get(n2).light_propagates)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user