mirror of
https://github.com/minetest/minetest.git
synced 2024-11-23 16:13:46 +01:00
Cleanup in flat lighting (#7051)
This commit is contained in:
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
|
||||
#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
|
||||
|
||||
/**
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user