Fix incorrect light updates for wielditem and item visuals (#9540)

An alternative to #9537
master
Danila Shutov 2020-03-23 23:57:44 +03:00 committed by GitHub
parent 625b100593
commit f3032a637c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 3 deletions

View File

@ -826,7 +826,11 @@ void GenericCAO::setNodeLight(u8 light)
{
video::SColor color(255, light, light, light);
if (m_enable_shaders) {
if (m_prop.visual == "wielditem" || m_prop.visual == "item") {
// Since these types of visuals are using their own shader
// they should be handled separately
m_wield_meshnode->setColor(color);
} else if (m_enable_shaders) {
scene::ISceneNode *node = getSceneNode();
if (node == nullptr)
@ -850,8 +854,6 @@ void GenericCAO::setNodeLight(u8 light)
setMeshColor(m_meshnode->getMesh(), color);
} else if (m_animated_meshnode) {
setAnimatedMeshColor(m_animated_meshnode, color);
} else if (m_wield_meshnode) {
m_wield_meshnode->setColor(color);
} else if (m_spritenode) {
m_spritenode->setColor(color);
}