mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-13 00:25:19 +02:00
15
src/light.h
15
src/light.h
@@ -18,7 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <cassert>
|
||||
#include "irrlichttypes.h"
|
||||
|
||||
/*
|
||||
@@ -54,11 +54,12 @@ inline u8 diminish_light(u8 light, u8 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)
|
||||
if (light >= LIGHT_MAX)
|
||||
return light;
|
||||
|
||||
return light + 1;
|
||||
@@ -84,9 +85,9 @@ extern const u8 *light_decode_table;
|
||||
// 0 <= return value <= 255
|
||||
inline u8 decode_light(u8 light)
|
||||
{
|
||||
if (light > LIGHT_MAX)
|
||||
light = LIGHT_MAX;
|
||||
|
||||
// assert(light <= LIGHT_SUN);
|
||||
if (light > LIGHT_SUN)
|
||||
light = LIGHT_SUN;
|
||||
return light_decode_table[light];
|
||||
}
|
||||
|
||||
@@ -98,8 +99,8 @@ inline float decode_light_f(float light_f)
|
||||
|
||||
if (i <= 0)
|
||||
return (float)light_decode_table[0] / 255.0;
|
||||
if (i >= LIGHT_MAX)
|
||||
return (float)light_decode_table[LIGHT_MAX] / 255.0;
|
||||
if (i >= LIGHT_SUN)
|
||||
return (float)light_decode_table[LIGHT_SUN] / 255.0;
|
||||
|
||||
float v1 = (float)light_decode_table[i - 1] / 255.0;
|
||||
float v2 = (float)light_decode_table[i] / 255.0;
|
||||
|
Reference in New Issue
Block a user