Aether-Tools / CustomizePlus

Dalamud plugin designed to give you better control over your Final Fantasy XIV character appearance.
Apache License 2.0
21 stars 10 forks source link

Game objects can no longer be passed via IPC #15

Closed RisaDev closed 2 months ago

RisaDev commented 3 months ago

Due to the changes in dalamud api seems like it is no longer possible to pass game objects directly via it. IPC will need to be updated to work with object table ids or unique object ids. Until then IPC is disabled.

The log for the issue:

01:37:17.506 | ERR | [CustomizePlus] [ArmatureChanged] Exception thrown during invocation:
    Newtonsoft.Json.JsonSerializationException: Self referencing loop detected for property 'Value' with type 'Lumina.Excel.GeneratedSheets.ClassJob'. Path 'ClassJob.GameData.ClassJobParent'.
...........

Dalamud.Plugin.Ipc.Internal.CallGateChannel.ConvertObject(Object obj, Type type) in C:\goatsoft\companysecrets\dalamud\\Plugin\Ipc\Internal\CallGateChannel.cs:line 209
       at Dalamud.Plugin.Ipc.Internal.CallGateChannel.CheckAndConvertArgs(Object[] args, MethodInfo methodInfo) in C:\goatsoft\companysecrets\dalamud\\Plugin\Ipc\Internal\CallGateChannel.cs:line 190
       at Dalamud.Plugin.Ipc.Internal.CallGateChannel.SendMessage(Object[] args) in C:\goatsoft\companysecrets\dalamud\\Plugin\Ipc\Internal\CallGateChannel.cs:line 101
       at Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.SendMessage(Object[] args) in C:\goatsoft\companysecrets\dalamud\\Plugin\Ipc\Internal\CallGatePubSubBase.cs:line 87
       at Dalamud.Plugin.Ipc.Internal.CallGatePubSub`3.SendMessage(T1 arg1, T2 arg2) in C:\goatsoft\companysecrets\dalamud\\Plugin\Ipc\Internal\CallGatePubSub.cs:line 100
       at CustomizePlus.Api.CustomizePlusIpc.OnProfileUpdateInternal(ICharacter character, Profile profile) in F:\Sources\FFXIV\Aether-Tools\CustomizePlus\CustomizePlus\Api\CustomizePlusIpc.Profile.cs:line 330
StoiaCode commented 2 months ago

This should be closed now, correct?

RisaDev commented 2 months ago

Yes