diff --git a/MareSynchronos/Managers/IpcManager.cs b/MareSynchronos/Managers/IpcManager.cs index bbc432d..c292667 100644 --- a/MareSynchronos/Managers/IpcManager.cs +++ b/MareSynchronos/Managers/IpcManager.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using Dalamud.Game.ClientState.Objects.Types; +using Lumina.Excel.GeneratedSheets; using MareSynchronos.Utils; namespace MareSynchronos.Managers @@ -17,7 +18,7 @@ namespace MareSynchronos.Managers private readonly ICallGateSubscriber _glamourerRevertCustomization; private readonly ICallGateSubscriber? _glamourerApplyOnlyEquipment; private readonly ICallGateSubscriber? _glamourerApplyOnlyCustomization; - private readonly ICallGateSubscriber _penumbraApiVersion; + private readonly ICallGateSubscriber<(int, int)> _penumbraApiVersion; private readonly ICallGateSubscriber _penumbraCreateTemporaryCollection; private readonly ICallGateSubscriber _penumbraGetMetaManipulations; private readonly ICallGateSubscriber _penumbraInit; @@ -40,7 +41,7 @@ namespace MareSynchronos.Managers _penumbraResolveModDir = pi.GetIpcSubscriber("Penumbra.GetModDirectory"); _penumbraRedraw = pi.GetIpcSubscriber("Penumbra.RedrawObjectByName"); _penumbraReverseResolvePath = pi.GetIpcSubscriber("Penumbra.ReverseResolvePath"); - _penumbraApiVersion = pi.GetIpcSubscriber("Penumbra.ApiVersion"); + _penumbraApiVersion = pi.GetIpcSubscriber<(int, int)>("Penumbra.ApiVersions"); _penumbraObjectIsRedrawn = pi.GetIpcSubscriber("Penumbra.GameObjectRedrawn"); _penumbraGetMetaManipulations = pi.GetIpcSubscriber("Penumbra.GetMetaManipulations"); @@ -93,7 +94,7 @@ namespace MareSynchronos.Managers { try { - return _penumbraApiVersion.InvokeFunc() >= 5; + return _penumbraApiVersion.InvokeFunc() is { Item1: 4, Item2: >=8 }; } catch { diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj index 07b10a6..d723ece 100644 --- a/MareSynchronos/MareSynchronos.csproj +++ b/MareSynchronos/MareSynchronos.csproj @@ -73,4 +73,8 @@ + + + +