From 4e39cdef946e137519551bc77234bae2ee35a7f3 Mon Sep 17 00:00:00 2001 From: Dmitry Kostenko Date: Wed, 3 Nov 2021 23:38:27 +0100 Subject: [PATCH] Apply shadow texture to wield-based entities For example, dropped nodes and items. --- src/client/wieldmesh.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/client/wieldmesh.cpp b/src/client/wieldmesh.cpp index 0a4cb3b86..8b3347df6 100644 --- a/src/client/wieldmesh.cpp +++ b/src/client/wieldmesh.cpp @@ -541,9 +541,14 @@ void WieldMeshSceneNode::changeToMesh(scene::IMesh *mesh) m_meshnode->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, m_lighting); m_meshnode->setVisible(true); - // Add mesh to shadow caster - if (m_shadow) + if (m_shadow) { + // Add mesh to shadow caster m_shadow->addNodeToShadowList(m_meshnode); + + // Set shadow texture + for (u32 i = 0; i < m_meshnode->getMaterialCount(); i++) + m_meshnode->setMaterialTexture(3, m_shadow->get_texture()); + } } void getItemMesh(Client *client, const ItemStack &item, ItemMesh *result)