From 735fc2a1f25eed78460c02867a4960fbf1e66a72 Mon Sep 17 00:00:00 2001 From: Dániel Juhász Date: Sun, 4 Feb 2018 04:16:45 +0100 Subject: Remove unused light updating code Also remove the unit test that tests the removed algorithms. --- src/voxel.cpp | 188 ---------------------------------------------------------- 1 file changed, 188 deletions(-) (limited to 'src/voxel.cpp') diff --git a/src/voxel.cpp b/src/voxel.cpp index cd638183c..b901c1c4f 100644 --- a/src/voxel.cpp +++ b/src/voxel.cpp @@ -315,194 +315,6 @@ void VoxelManipulator::clearFlag(u8 flags) < & light_sources, INodeDefManager *nodemgr) -{ - VoxelArea voxel_area(p - v3s16(1,1,1), p + v3s16(1,1,1)); - addArea(voxel_area); - - // Loop through 6 neighbors - for (const v3s16 &dir : g_6dirs) { - // Get the position of the neighbor node - v3s16 n2pos = p + dir; - - u32 n2i = m_area.index(n2pos); - - if(m_flags[n2i] & VOXELFLAG_NO_DATA) - continue; - - MapNode &n2 = m_data[n2i]; - - /* - If the neighbor is dimmer than what was specified - as oldlight (the light of the previous node) - */ - 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 && light2 != 0) - { - /* - Set light to 0 and add to queue - */ - - n2.setLight(bank, 0, nodemgr); - - unspreadLight(bank, n2pos, light2, light_sources, nodemgr); - - /* - Remove from light_sources if it is there - NOTE: This doesn't happen nearly at all - */ - /*if(light_sources.find(n2pos)) - { - std::cout<<"Removed from light_sources"< undiminish_light(oldlight)) - { - spreadLight(bank, n2pos, nodemgr); - } - /* - If the neighbor is dimmer than how much light this node - would spread on it, add to list - */ - if(light2 < newlight) - { - if(nodemgr->get(n2).light_propagates) - { - n2.setLight(bank, newlight, nodemgr); - spreadLight(bank, n2pos, nodemgr); - } - } - } -} - - const MapNode VoxelManipulator::ContentIgnoreNode = MapNode(CONTENT_IGNORE); -/* - Lights neighbors of from_nodes, collects all them and then - goes on recursively. -*/ -void VoxelManipulator::spreadLight(enum LightBank bank, - std::set & from_nodes, INodeDefManager *nodemgr) -{ - if(from_nodes.empty()) - return; - - std::set lighted_nodes; - - for (const v3s16 &pos : from_nodes) { - VoxelArea voxel_area(pos - v3s16(1,1,1), pos + v3s16(1,1,1)); - addArea(voxel_area); - - u32 i = m_area.index(pos); - - if(m_flags[i] & VOXELFLAG_NO_DATA) - continue; - - MapNode &n = m_data[i]; - - u8 oldlight = n.getLight(bank, nodemgr); - u8 newlight = diminish_light(oldlight); - - // Loop through 6 neighbors - for (const v3s16 &dir : g_6dirs) { - // Get the position of the neighbor node - v3s16 n2pos = pos + dir; - - try - { - u32 n2i = m_area.index(n2pos); - - if(m_flags[n2i] & VOXELFLAG_NO_DATA) - 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(light2 > undiminish_light(oldlight)) - { - lighted_nodes.insert(n2pos); - } - /* - If the neighbor is dimmer than how much light this node - would spread on it, add to list - */ - if(light2 < newlight) - { - if(nodemgr->get(n2).light_propagates) - { - n2.setLight(bank, newlight, nodemgr); - lighted_nodes.insert(n2pos); - } - } - } - catch(InvalidPositionException &e) - { - continue; - } - } - } - - /*dstream<<"spreadLight(): Changed block " - <