summaryrefslogtreecommitdiff
path: root/src/client/wieldmesh.cpp
diff options
context:
space:
mode:
authorDanila Shutov <dcbrwn2@gmail.com>2020-04-19 19:47:13 +0300
committerGitHub <noreply@github.com>2020-04-19 18:47:13 +0200
commitcdbe3c5e5784b34e548c58b08579ff55b3096fb9 (patch)
treeb751e0f348e1fd1461ac05f6ec1e04d0bed1033c /src/client/wieldmesh.cpp
parentc87d52a5fa21f31c2d68795822b48c8bf993ca6b (diff)
downloadminetest-cdbe3c5e5784b34e548c58b08579ff55b3096fb9.tar.gz
minetest-cdbe3c5e5784b34e548c58b08579ff55b3096fb9.tar.bz2
minetest-cdbe3c5e5784b34e548c58b08579ff55b3096fb9.zip
Reuse object_shader for "wielditem" and "item" entity drawtypes (#9537)
Diffstat (limited to 'src/client/wieldmesh.cpp')
-rw-r--r--src/client/wieldmesh.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/client/wieldmesh.cpp b/src/client/wieldmesh.cpp
index 2c6807fab..997eb1b5b 100644
--- a/src/client/wieldmesh.cpp
+++ b/src/client/wieldmesh.cpp
@@ -347,7 +347,7 @@ void WieldMeshSceneNode::setItem(const ItemStack &item, Client *client, bool che
scene::SMesh *mesh = nullptr;
if (m_enable_shaders) {
- u32 shader_id = shdrsrc->getShader("wielded_shader", TILE_MATERIAL_BASIC, NDT_NORMAL);
+ u32 shader_id = shdrsrc->getShader("object_shader", TILE_MATERIAL_BASIC, NDT_NORMAL);
m_material_type = shdrsrc->getShaderInfo(shader_id).material;
}
@@ -471,6 +471,21 @@ void WieldMeshSceneNode::setColor(video::SColor c)
}
}
+void WieldMeshSceneNode::setNodeLightColor(video::SColor color)
+{
+ if (!m_meshnode)
+ return;
+
+ if (m_enable_shaders) {
+ for (u32 i = 0; i < m_meshnode->getMaterialCount(); ++i) {
+ video::SMaterial &material = m_meshnode->getMaterial(i);
+ material.EmissiveColor = color;
+ }
+ } else {
+ setColor(color);
+ }
+}
+
void WieldMeshSceneNode::render()
{
// note: if this method is changed to actually do something,