浏览代码

Cleanup in flat lighting (#7051)

Vitaliy 6 年之前
父节点
当前提交
f5fd4a0af1
共有 2 个文件被更改,包括 2 次插入42 次删除
  1. 0 30
      src/light.h
  2. 2 12
      src/mapblock_mesh.cpp

+ 0 - 30
src/light.h

@@ -35,36 +35,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 // This brightness is reserved for sunlight
 #define LIGHT_SUN 15
 
-inline u8 diminish_light(u8 light)
-{
-	if (light == 0)
-		return 0;
-	if (light >= LIGHT_MAX)
-		return LIGHT_MAX - 1;
-
-	return light - 1;
-}
-
-inline u8 diminish_light(u8 light, u8 distance)
-{
-	if (distance >= light)
-		return 0;
-	return light - distance;
-}
-
-inline u8 undiminish_light(u8 light)
-{
-	assert(light <= LIGHT_SUN);
-	// We don't know if light should undiminish from this particular 0.
-	// Thus, keep it at 0.
-	if (light == 0)
-		return 0;
-	if (light >= LIGHT_MAX)
-		return light;
-
-	return light + 1;
-}
-
 #ifndef SERVER
 
 /**

+ 2 - 12
src/mapblock_mesh.cpp

@@ -130,18 +130,8 @@ static u8 getInteriorLight(enum LightBank bank, MapNode n, s32 increment,
 	const NodeDefManager *ndef)
 {
 	u8 light = n.getLight(bank, ndef);
-
-	while(increment > 0)
-	{
-		light = undiminish_light(light);
-		--increment;
-	}
-	while(increment < 0)
-	{
-		light = diminish_light(light);
-		++increment;
-	}
-
+	if (light > 0)
+		light = rangelim(light + increment, 0, LIGHT_SUN);
 	return decode_light(light);
 }