ContentCAO: Update light of all attached entities (#9975)
[oweals/minetest.git] / src / client / clientenvironment.cpp
index 6840f2db32e929441f7689b206aec6e92c762267..44ea1e4a157a53282300c203988bc1e2c9177790 100644 (file)
@@ -320,21 +320,8 @@ void ClientEnvironment::step(float dtime)
                // Step object
                cao->step(dtime, this);
 
-               if (update_lighting) {
-                       // Update lighting
-                       u8 light = 0;
-                       bool pos_ok;
-
-                       // Get node at head
-                       v3s16 p = cao->getLightPosition();
-                       MapNode n = this->m_map->getNode(p, &pos_ok);
-                       if (pos_ok)
-                               light = n.getLightBlend(day_night_ratio, m_client->ndef());
-                       else
-                               light = blend_light(day_night_ratio, LIGHT_SUN, 0);
-
-                       cao->updateLight(light);
-               }
+               if (update_lighting)
+                       cao->updateLight(day_night_ratio);
        };
 
        m_ao_manager.step(dtime, cb_state);
@@ -402,18 +389,7 @@ u16 ClientEnvironment::addActiveObject(ClientActiveObject *object)
        object->addToScene(m_texturesource);
 
        // Update lighting immediately
-       u8 light = 0;
-       bool pos_ok;
-
-       // Get node at head
-       v3s16 p = object->getLightPosition();
-       MapNode n = m_map->getNode(p, &pos_ok);
-       if (pos_ok)
-               light = n.getLightBlend(getDayNightRatio(), m_client->ndef());
-       else
-               light = blend_light(getDayNightRatio(), LIGHT_SUN, 0);
-
-       object->updateLight(light);
+       object->updateLight(getDayNightRatio());
        return object->getId();
 }