From a9d43a04713dd0342d675f3bbb5cbacd863b4118 Mon Sep 17 00:00:00 2001 From: Rob Blanckaert Date: Fri, 1 Sep 2017 23:12:15 -0700 Subject: Object properties: Add 'glow', disables light's effect if negative The 'glow' value is added to the ambient light value. Negative 'glow' disables light's effect on object colour, for faking self-lighting, UI-style entities, or programmatic colouring in mods. --- src/content_cao.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/content_cao.cpp') diff --git a/src/content_cao.cpp b/src/content_cao.cpp index 7659871b6..9a493daff 100644 --- a/src/content_cao.cpp +++ b/src/content_cao.cpp @@ -659,7 +659,10 @@ void GenericCAO::updateLight(u8 light_at_pos) void GenericCAO::updateLightNoCheck(u8 light_at_pos) { - u8 li = decode_light(light_at_pos); + if (m_glow < 0) + return; + + u8 li = decode_light(light_at_pos + m_glow); if (li != m_last_light) { m_last_light = li; video::SColor color(255,li,li,li); @@ -978,6 +981,7 @@ void GenericCAO::updateTextures(std::string mod) m_previous_texture_modifier = m_current_texture_modifier; m_current_texture_modifier = mod; + m_glow = m_prop.glow; if (m_spritenode) { if (m_prop.visual == "sprite") { -- cgit v1.2.3