summaryrefslogtreecommitdiff
path: root/src/voxel.cpp
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-11-27 11:52:49 +0200
committerPerttu Ahola <celeron55@gmail.com>2011-11-29 19:13:55 +0200
commit4ce6e5f0c51d9fe96ee13c55dcb0e015e9122f1c (patch)
tree3d7aa7138024f89c04e920aea8e03af9ce87ea8c /src/voxel.cpp
parenta8a82e0b21230e876d428a8ed9b8404cfd5d30a5 (diff)
downloadminetest-4ce6e5f0c51d9fe96ee13c55dcb0e015e9122f1c.tar.gz
minetest-4ce6e5f0c51d9fe96ee13c55dcb0e015e9122f1c.tar.bz2
minetest-4ce6e5f0c51d9fe96ee13c55dcb0e015e9122f1c.zip
Optimize lighting by a tiny bit
Diffstat (limited to 'src/voxel.cpp')
-rw-r--r--src/voxel.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/voxel.cpp b/src/voxel.cpp
index 632431244..bd06be877 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)
{