From 40fe84ddbdb74540c779f7e866478980722e3804 Mon Sep 17 00:00:00 2001 From: Benau Date: Wed, 11 Jan 2017 14:29:37 +0800 Subject: [PATCH] Fix addon stk mercuy crash Please avoid using 2nd uv layer on animated mesh --- lib/irrlicht/include/SSkinMeshBuffer.h | 2 +- src/graphics/stk_animated_mesh.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/irrlicht/include/SSkinMeshBuffer.h b/lib/irrlicht/include/SSkinMeshBuffer.h index 902b635ef..c12a2aa43 100644 --- a/lib/irrlicht/include/SSkinMeshBuffer.h +++ b/lib/irrlicht/include/SSkinMeshBuffer.h @@ -254,7 +254,7 @@ struct SSkinMeshBuffer : public IMeshBuffer Vertices_SkinnedMesh.push_back(Vertex); } } - if (VertexType==video::EVT_TANGENTS) + else if (VertexType==video::EVT_TANGENTS) { for(u32 n=0;nsupportsHardwareSkinning()) return; m_skinning_offset = -1; + m_skinned_mesh = NULL; + if (mesh == NULL) return; + for (u32 i = 0; i < mesh->getMeshBufferCount(); ++i) + { + scene::IMeshBuffer* mb = Mesh->getMeshBuffer(i); + if (!mb) + continue; + if (mb->getVertexType() == video::EVT_2TCOORDS) + return; + } setHardwareSkinning(true); if (m_skinned_mesh) m_skinned_mesh->convertForSkinning();