From 4ce6e5f0c51d9fe96ee13c55dcb0e015e9122f1c Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 27 Nov 2011 11:52:49 +0200 Subject: [PATCH] Optimize lighting by a tiny bit --- src/voxel.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/voxel.cpp b/src/voxel.cpp index 6324312..bd06be8 100644 --- a/src/voxel.cpp +++ b/src/voxel.cpp @@ -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) {