Cleanup in flat lighting (#7051)
parent
e7f1611991
commit
f5fd4a0af1
30
src/light.h
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
|
// This brightness is reserved for sunlight
|
||||||
#define LIGHT_SUN 15
|
#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
|
#ifndef SERVER
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -130,18 +130,8 @@ static u8 getInteriorLight(enum LightBank bank, MapNode n, s32 increment,
|
||||||
const NodeDefManager *ndef)
|
const NodeDefManager *ndef)
|
||||||
{
|
{
|
||||||
u8 light = n.getLight(bank, ndef);
|
u8 light = n.getLight(bank, ndef);
|
||||||
|
if (light > 0)
|
||||||
while(increment > 0)
|
light = rangelim(light + increment, 0, LIGHT_SUN);
|
||||||
{
|
|
||||||
light = undiminish_light(light);
|
|
||||||
--increment;
|
|
||||||
}
|
|
||||||
while(increment < 0)
|
|
||||||
{
|
|
||||||
light = diminish_light(light);
|
|
||||||
++increment;
|
|
||||||
}
|
|
||||||
|
|
||||||
return decode_light(light);
|
return decode_light(light);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue