From 350773d316f5e04f5a2ffdb9250173c058d3bca7 Mon Sep 17 00:00:00 2001 From: Benau Date: Sat, 21 May 2022 08:55:59 +0800 Subject: [PATCH] Add temporary code for GE spm --- src/guiengine/widgets/model_view_widget.cpp | 3 ++- src/karts/kart_model.cpp | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/guiengine/widgets/model_view_widget.cpp b/src/guiengine/widgets/model_view_widget.cpp index 9cde44ae9..813c43e36 100644 --- a/src/guiengine/widgets/model_view_widget.cpp +++ b/src/guiengine/widgets/model_view_widget.cpp @@ -256,7 +256,8 @@ void ModelViewWidget::setupRTTScene() scene::ISceneNode* parent = bone_attachment ? animated_node->getJointNode(m_bone_attached[n].c_str()) : m_rtt_main_node; - assert(parent); + if (!parent) + continue; if (m_model_frames[n].first == -1) { scene::ISceneNode* node = diff --git a/src/karts/kart_model.cpp b/src/karts/kart_model.cpp index 75c59fcd0..0a0282c00 100644 --- a/src/karts/kart_model.cpp +++ b/src/karts/kart_model.cpp @@ -1328,6 +1328,8 @@ void KartModel::initInverseBoneMatrices() node->setCurrentFrame(striaght_frame); node->OnAnimate(0); scene::IBoneSceneNode* bone = node->getJointNode(i); + if (!bone) + continue; bone->updateAbsolutePosition(); node->setCurrentFrame(striaght_frame); node->OnAnimate(0); @@ -1352,8 +1354,11 @@ void KartModel::initInverseBoneMatrices() const core::matrix4& KartModel::getInverseBoneMatrix (const std::string& bone_name) const { + // Remove after GESPM animation is done + static core::matrix4 unused; assert(m_version >= 3); auto ret = m_inverse_bone_matrices.find(bone_name); - assert(ret != m_inverse_bone_matrices.end()); + if (ret == m_inverse_bone_matrices.end()) + return unused; return ret->second; } // getInverseBoneMatrix