check to make sure parent bone is not null before trying to compute its offset from the root ()

This commit is contained in:
Jeffery Myers 2021-02-16 01:29:00 -08:00 committed by GitHub
parent b530b584b5
commit 0f5aab3a1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -3733,7 +3733,7 @@ static Model LoadGLTF(const char *fileName)
for (unsigned int j = 0; j < data->nodes_count; j++)
{
strcpy(model.bones[j].name, data->nodes[j].name == 0 ? "ANIMJOINT" : data->nodes[j].name);
model.bones[j].parent = j != 0 ? data->nodes[j].parent - data->nodes : 0;
model.bones[j].parent = (j != 0 && data->nodes[j].parent != NULL) ? data->nodes[j].parent - data->nodes : 0;
}
for (unsigned int i = 0; i < data->nodes_count; i++)
@ -3771,7 +3771,10 @@ static Model LoadGLTF(const char *fileName)
{
Transform* currentTransform = model.bindPose + i;
BoneInfo* currentBone = model.bones + i;
Transform* parentTransform = model.bindPose + currentBone->parent;
int root = currentBone->parent;
if (root >= model.boneCount)
root = 0;
Transform* parentTransform = model.bindPose + root;
if (currentBone->parent >= 0)
{