From 793284a766e33a0cad7d1af3e6ad95df07ac826b Mon Sep 17 00:00:00 2001 From: Krishty Date: Mon, 16 Jan 2023 08:42:50 +0100 Subject: [PATCH] Fix Build Without ArmaturePopulate Post Process Step This post process step introduced new attributes into `aiSkeletonBone`. Said attributes are only defined with the process enabled, i.e. when the `ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS` macro has not been defined. Some code, however, accessed the variables unconditionally, leading to build failures if `ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS` was defined. This commit adds the missing checks. --- code/AssetLib/FBX/FBXConverter.cpp | 2 ++ include/assimp/mesh.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/code/AssetLib/FBX/FBXConverter.cpp b/code/AssetLib/FBX/FBXConverter.cpp index 75d28fbdf..b989e8730 100644 --- a/code/AssetLib/FBX/FBXConverter.cpp +++ b/code/AssetLib/FBX/FBXConverter.cpp @@ -1455,7 +1455,9 @@ static void copyBoneToSkeletonBone(aiMesh *mesh, aiBone *bone, aiSkeletonBone *s skeletonBone->mWeights = bone->mWeights; skeletonBone->mOffsetMatrix = bone->mOffsetMatrix; skeletonBone->mMeshId = mesh; +#ifndef ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS skeletonBone->mNode = bone->mNode; +#endif skeletonBone->mParent = -1; } diff --git a/include/assimp/mesh.h b/include/assimp/mesh.h index 363627464..b0179e179 100644 --- a/include/assimp/mesh.h +++ b/include/assimp/mesh.h @@ -988,8 +988,10 @@ struct aiSkeletonBone { #ifdef __cplusplus aiSkeletonBone() : mParent(-1), +#ifndef ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS mArmature(nullptr), mNode(nullptr), +#endif mNumnWeights(0), mMeshId(nullptr), mWeights(nullptr),