From 04e705b261f492f174e29797ea771e57a7ab8f4f Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Sat, 30 Mar 2024 00:57:23 +0100 Subject: [PATCH] fix more bullshit --- MareSynchronos/PlayerData/Factories/PlayerDataFactory.cs | 9 ++++++--- MareSynchronos/Services/XivDataAnalyzer.cs | 4 +--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/MareSynchronos/PlayerData/Factories/PlayerDataFactory.cs b/MareSynchronos/PlayerData/Factories/PlayerDataFactory.cs index 8206d0b..741d0d2 100644 --- a/MareSynchronos/PlayerData/Factories/PlayerDataFactory.cs +++ b/MareSynchronos/PlayerData/Factories/PlayerDataFactory.cs @@ -133,13 +133,16 @@ public class PlayerDataFactory // wait until chara is not drawing and present so nothing spontaneously explodes await _dalamudUtil.WaitWhileCharacterIsDrawing(_logger, playerRelatedObject, Guid.NewGuid(), 30000, ct: token).ConfigureAwait(false); int totalWaitTime = 10000; - while (!await _dalamudUtil.IsObjectPresentAsync(await _dalamudUtil.CreateGameObjectAsync(charaPointer).ConfigureAwait(false)).ConfigureAwait(false) && totalWaitTime > 0) + while (!await _dalamudUtil.IsObjectPresentAsync(await _dalamudUtil.CreateGameObjectAsync(playerRelatedObject.Address).ConfigureAwait(false)).ConfigureAwait(false) && totalWaitTime > 0) { _logger.LogTrace("Character is null but it shouldn't be, waiting"); await Task.Delay(50, token).ConfigureAwait(false); totalWaitTime -= 50; } - var boneIndices = await _dalamudUtil.RunOnFrameworkThread(() => _modelAnalyzer.GetSkeletonBoneIndices(charaPointer)).ConfigureAwait(false); + Dictionary>? boneIndices = + objectKind != ObjectKind.Player + ? null + : await _dalamudUtil.RunOnFrameworkThread(() => _modelAnalyzer.GetSkeletonBoneIndices(playerRelatedObject.Address)).ConfigureAwait(false); DateTime start = DateTime.UtcNow; @@ -243,7 +246,7 @@ public class PlayerDataFactory } catch (Exception e) { - _logger.LogWarning(e, "Failed to verify player animations, continuing"); + _logger.LogWarning(e, "Failed to verify player animations, continuing without further verification"); } } diff --git a/MareSynchronos/Services/XivDataAnalyzer.cs b/MareSynchronos/Services/XivDataAnalyzer.cs index 85abbcb..cba9674 100644 --- a/MareSynchronos/Services/XivDataAnalyzer.cs +++ b/MareSynchronos/Services/XivDataAnalyzer.cs @@ -46,11 +46,9 @@ public sealed class XivDataAnalyzer 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); - + outputIndices[skeletonName].Add((ushort)(boneIdx + 1)); } i++; }