diff --git a/MareSynchronos/Services/XivDataAnalyzer.cs b/MareSynchronos/Services/XivDataAnalyzer.cs index 481dcfd..474db14 100644 --- a/MareSynchronos/Services/XivDataAnalyzer.cs +++ b/MareSynchronos/Services/XivDataAnalyzer.cs @@ -37,22 +37,24 @@ public sealed class XivDataAnalyzer Dictionary> outputIndices = new(); while (*(resHandles + i) != null) { - var handle = *(resHandles + i); - var curBones = handle->BoneCount; - var skeletonName = handle->ResourceHandle.FileName.ToString(); - outputIndices[skeletonName] = new(); - for (ushort boneIdx = 0; boneIdx < curBones; boneIdx++) + try { - try + var handle = *(resHandles + i); + var curBones = handle->BoneCount; + var skeletonName = handle->ResourceHandle.FileName.ToString(); + outputIndices[skeletonName] = new(); + for (ushort boneIdx = 0; boneIdx < curBones; boneIdx++) { + var boneName = handle->HavokSkeleton->Bones[boneIdx].Name.String; if (boneName == null) continue; outputIndices[skeletonName].Add(boneIdx); + } - catch - { - _logger.LogTrace("Could not get bone for {skellyname}:{idx}", skeletonName, boneIdx); - } + } + catch + { + _logger.LogTrace("Could not get bone for {skellyname}:{idx}", skeletonName, boneIdx); } i++; }