]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/client/content_cao.cpp
Remove unused ITextSceneNode header (#11476)
[dragonfireclient.git] / src / client / content_cao.cpp
index 2e58e19cfb83e0c5bd646f8a805a7fb979ec1d62..c3ac613a5777c92227f3ee755222ac8cb4860a76 100644 (file)
@@ -20,10 +20,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "content_cao.h"
 #include <IBillboardSceneNode.h>
 #include <ICameraSceneNode.h>
-#include <ITextSceneNode.h>
 #include <IMeshManipulator.h>
 #include <IAnimatedMeshSceneNode.h>
 #include "client/client.h"
+#include "client/renderingengine.h"
 #include "client/sound.h"
 #include "client/tile.h"
 #include "util/basic_macros.h"
@@ -555,6 +555,9 @@ void GenericCAO::removeFromScene(bool permanent)
                clearParentAttachment();
        }
 
+       if (auto shadow = RenderingEngine::get_shadow_renderer())
+               shadow->removeNodeFromShadowList(getSceneNode());
+
        if (m_meshnode) {
                m_meshnode->remove();
                m_meshnode->drop();
@@ -803,10 +806,13 @@ void GenericCAO::addToScene(ITextureSource *tsrc, scene::ISceneManager *smgr)
        if (m_reset_textures_timer < 0)
                updateTextures(m_current_texture_modifier);
 
-       scene::ISceneNode *node = getSceneNode();
+       if (scene::ISceneNode *node = getSceneNode()) {
+               if (m_matrixnode)
+                       node->setParent(m_matrixnode);
 
-       if (node && m_matrixnode)
-               node->setParent(m_matrixnode);
+               if (auto shadow = RenderingEngine::get_shadow_renderer())
+                       shadow->addNodeToShadowList(node);
+       }
 
        updateNametag();
        updateMarker();