mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 01:05:48 +01:00 
			
		
		
		
	Optimize lighting by a tiny bit
This commit is contained in:
		@@ -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)
 | 
			
		||||
					{
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user