From 032201ed9e2c18d4a351250c46ca0a368e7bb82b Mon Sep 17 00:00:00 2001 From: cake Date: Tue, 6 Jan 2026 00:31:08 +0100 Subject: [PATCH] Changed logging, last change of gameobject --- .../PlayerData/Factories/PlayerDataFactory.cs | 12 +++++++++--- .../PlayerData/Handlers/GameObjectHandler.cs | 9 ++------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs b/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs index a11ae91..5e1d99e 100644 --- a/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs +++ b/LightlessSync/PlayerData/Factories/PlayerDataFactory.cs @@ -1,4 +1,5 @@ -using FFXIVClientStructs.FFXIV.Client.Game.Character; +using Dalamud.Utility; +using FFXIVClientStructs.FFXIV.Client.Game.Character; using LightlessSync.API.Data.Enum; using LightlessSync.FileCache; using LightlessSync.Interop.Ipc; @@ -555,6 +556,11 @@ public class PlayerDataFactory var hash = g.Key; + var resolvedPath = g.Select(f => f.ResolvedPath).Distinct(StringComparer.OrdinalIgnoreCase); + var papPathSummary = string.Join(", ", resolvedPath); + if (papPathSummary.IsNullOrEmpty()) + papPathSummary = ""; + Dictionary>? papIndices = null; await _papParseLimiter.WaitAsync(ct).ConfigureAwait(false); @@ -606,8 +612,8 @@ public class PlayerDataFactory noValidationFailed++; _logger.LogWarning( - "Animation PAP hash {hash} is not compatible with local skeletons; dropping all mappings for this hash. Reason: {reason}", - hash, + "Animation PAP is not compatible with local skeletons; dropping mappings for {papPath}. Reason: {reason}", + papPathSummary, reason); var removedGamePaths = fragment.FileReplacements diff --git a/LightlessSync/PlayerData/Handlers/GameObjectHandler.cs b/LightlessSync/PlayerData/Handlers/GameObjectHandler.cs index ac5c515..28b67b6 100644 --- a/LightlessSync/PlayerData/Handlers/GameObjectHandler.cs +++ b/LightlessSync/PlayerData/Handlers/GameObjectHandler.cs @@ -169,14 +169,9 @@ public sealed class GameObjectHandler : DisposableMediatorSubscriberBase, IHighP return $"{owned}/{ObjectKind}:{Name} ({Address:X},{DrawObjectAddress:X})"; } - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); + private void CheckAndUpdateObject() => CheckAndUpdateObject(allowPublish: true); - Mediator.Publish(new GameObjectHandlerDestroyedMessage(this, _isOwnedObject)); - } - - private unsafe void CheckAndUpdateObject() + private unsafe void CheckAndUpdateObject(bool allowPublish) { var prevAddr = Address; var prevDrawObj = DrawObjectAddress;