diff --git a/MareSynchronos/Interop/Ipc/IpcCallerCustomize.cs b/MareSynchronos/Interop/Ipc/IpcCallerCustomize.cs index cd4073c..34df552 100644 --- a/MareSynchronos/Interop/Ipc/IpcCallerCustomize.cs +++ b/MareSynchronos/Interop/Ipc/IpcCallerCustomize.cs @@ -115,6 +115,9 @@ public sealed class IpcCallerCustomize : IIpcCaller public void CheckAPI() { + // todo: restore this when it's available again + return; + try { var version = _customizePlusApiVersion.InvokeFunc(); diff --git a/MareSynchronos/Interop/Ipc/IpcCallerHeels.cs b/MareSynchronos/Interop/Ipc/IpcCallerHeels.cs index 0d9380a..8686666 100644 --- a/MareSynchronos/Interop/Ipc/IpcCallerHeels.cs +++ b/MareSynchronos/Interop/Ipc/IpcCallerHeels.cs @@ -1,5 +1,4 @@ -using Dalamud.Game.ClientState.Objects.Types; -using Dalamud.Plugin; +using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using MareSynchronos.Services; using MareSynchronos.Services.Mediator; @@ -15,8 +14,8 @@ public sealed class IpcCallerHeels : IIpcCaller private readonly ICallGateSubscriber<(int, int)> _heelsGetApiVersion; private readonly ICallGateSubscriber _heelsGetOffset; private readonly ICallGateSubscriber _heelsOffsetUpdate; - private readonly ICallGateSubscriber _heelsRegisterPlayer; - private readonly ICallGateSubscriber _heelsUnregisterPlayer; + private readonly ICallGateSubscriber _heelsRegisterPlayer; + private readonly ICallGateSubscriber _heelsUnregisterPlayer; public IpcCallerHeels(ILogger logger, IDalamudPluginInterface pi, DalamudUtilService dalamudUtil, MareMediator mareMediator) { @@ -25,8 +24,8 @@ public sealed class IpcCallerHeels : IIpcCaller _dalamudUtil = dalamudUtil; _heelsGetApiVersion = pi.GetIpcSubscriber<(int, int)>("SimpleHeels.ApiVersion"); _heelsGetOffset = pi.GetIpcSubscriber("SimpleHeels.GetLocalPlayer"); - _heelsRegisterPlayer = pi.GetIpcSubscriber("SimpleHeels.RegisterPlayer"); - _heelsUnregisterPlayer = pi.GetIpcSubscriber("SimpleHeels.UnregisterPlayer"); + _heelsRegisterPlayer = pi.GetIpcSubscriber("SimpleHeels.RegisterPlayer"); + _heelsUnregisterPlayer = pi.GetIpcSubscriber("SimpleHeels.UnregisterPlayer"); _heelsOffsetUpdate = pi.GetIpcSubscriber("SimpleHeels.LocalChanged"); _heelsOffsetUpdate.Subscribe(HeelsOffsetChange); @@ -56,7 +55,7 @@ public sealed class IpcCallerHeels : IIpcCaller if (gameObj != null) { _logger.LogTrace("Restoring Heels data to {chara}", character.ToString("X")); - _heelsUnregisterPlayer.InvokeAction(gameObj); + _heelsUnregisterPlayer.InvokeAction(gameObj.ObjectIndex); } }).ConfigureAwait(false); } @@ -70,7 +69,7 @@ public sealed class IpcCallerHeels : IIpcCaller if (gameObj != null) { _logger.LogTrace("Applying Heels data to {chara}", character.ToString("X")); - _heelsRegisterPlayer.InvokeAction(gameObj, data); + _heelsRegisterPlayer.InvokeAction(gameObj.ObjectIndex, data); } }).ConfigureAwait(false); } @@ -79,7 +78,7 @@ public sealed class IpcCallerHeels : IIpcCaller { try { - APIAvailable = _heelsGetApiVersion.InvokeFunc() is { Item1: 1, Item2: >= 1 }; + APIAvailable = _heelsGetApiVersion.InvokeFunc() is { Item1: 2, Item2: >= 1 }; } catch { diff --git a/MareSynchronos/Interop/Ipc/IpcCallerHonorific.cs b/MareSynchronos/Interop/Ipc/IpcCallerHonorific.cs index c241c5d..15afb0a 100644 --- a/MareSynchronos/Interop/Ipc/IpcCallerHonorific.cs +++ b/MareSynchronos/Interop/Ipc/IpcCallerHonorific.cs @@ -1,5 +1,4 @@ using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Plugin; using Dalamud.Plugin.Ipc; using MareSynchronos.Services; @@ -12,12 +11,12 @@ namespace MareSynchronos.Interop.Ipc; public sealed class IpcCallerHonorific : IIpcCaller { private readonly ICallGateSubscriber<(uint major, uint minor)> _honorificApiVersion; - private readonly ICallGateSubscriber _honorificClearCharacterTitle; + private readonly ICallGateSubscriber _honorificClearCharacterTitle; private readonly ICallGateSubscriber _honorificDisposing; private readonly ICallGateSubscriber _honorificGetLocalCharacterTitle; private readonly ICallGateSubscriber _honorificLocalCharacterTitleChanged; private readonly ICallGateSubscriber _honorificReady; - private readonly ICallGateSubscriber _honorificSetCharacterTitle; + private readonly ICallGateSubscriber _honorificSetCharacterTitle; private readonly ILogger _logger; private readonly MareMediator _mareMediator; private readonly DalamudUtilService _dalamudUtil; @@ -30,8 +29,8 @@ public sealed class IpcCallerHonorific : IIpcCaller _dalamudUtil = dalamudUtil; _honorificApiVersion = pi.GetIpcSubscriber<(uint, uint)>("Honorific.ApiVersion"); _honorificGetLocalCharacterTitle = pi.GetIpcSubscriber("Honorific.GetLocalCharacterTitle"); - _honorificClearCharacterTitle = pi.GetIpcSubscriber("Honorific.ClearCharacterTitle"); - _honorificSetCharacterTitle = pi.GetIpcSubscriber("Honorific.SetCharacterTitle"); + _honorificClearCharacterTitle = pi.GetIpcSubscriber("Honorific.ClearCharacterTitle"); + _honorificSetCharacterTitle = pi.GetIpcSubscriber("Honorific.SetCharacterTitle"); _honorificLocalCharacterTitleChanged = pi.GetIpcSubscriber("Honorific.LocalCharacterTitleChanged"); _honorificDisposing = pi.GetIpcSubscriber("Honorific.Disposing"); _honorificReady = pi.GetIpcSubscriber("Honorific.Ready"); @@ -49,7 +48,7 @@ public sealed class IpcCallerHonorific : IIpcCaller { try { - APIAvailable = _honorificApiVersion.InvokeFunc() is { Item1: 2, Item2: >= 0 }; + APIAvailable = _honorificApiVersion.InvokeFunc() is { Item1: 3, Item2: >= 1 }; } catch { @@ -73,7 +72,7 @@ public sealed class IpcCallerHonorific : IIpcCaller if (gameObj is IPlayerCharacter c) { _logger.LogTrace("Honorific removing for {addr}", c.Address.ToString("X")); - _honorificClearCharacterTitle!.InvokeAction(c); + _honorificClearCharacterTitle!.InvokeAction(c.ObjectIndex); } }).ConfigureAwait(false); } @@ -99,11 +98,11 @@ public sealed class IpcCallerHonorific : IIpcCaller string honorificData = string.IsNullOrEmpty(honorificDataB64) ? string.Empty : Encoding.UTF8.GetString(Convert.FromBase64String(honorificDataB64)); if (string.IsNullOrEmpty(honorificData)) { - _honorificClearCharacterTitle!.InvokeAction(pc); + _honorificClearCharacterTitle!.InvokeAction(pc.ObjectIndex); } else { - _honorificSetCharacterTitle!.InvokeAction(pc, honorificData); + _honorificSetCharacterTitle!.InvokeAction(pc.ObjectIndex, honorificData); } } }).ConfigureAwait(false); diff --git a/MareSynchronos/Interop/Ipc/IpcCallerMoodles.cs b/MareSynchronos/Interop/Ipc/IpcCallerMoodles.cs index 44b6ce5..935ebcd 100644 --- a/MareSynchronos/Interop/Ipc/IpcCallerMoodles.cs +++ b/MareSynchronos/Interop/Ipc/IpcCallerMoodles.cs @@ -45,6 +45,9 @@ public sealed class IpcCallerMoodles : IIpcCaller public void CheckAPI() { + // todo: restore this when it's available again + return; + try { APIAvailable = _moodlesApiVersion.InvokeFunc() == 1; diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj index 1e7cd45..a4b729f 100644 --- a/MareSynchronos/MareSynchronos.csproj +++ b/MareSynchronos/MareSynchronos.csproj @@ -29,7 +29,6 @@ - diff --git a/MareSynchronos/PlayerData/Handlers/GameObjectHandler.cs b/MareSynchronos/PlayerData/Handlers/GameObjectHandler.cs index 03d29b5..4bfeae9 100644 --- a/MareSynchronos/PlayerData/Handlers/GameObjectHandler.cs +++ b/MareSynchronos/PlayerData/Handlers/GameObjectHandler.cs @@ -1,12 +1,10 @@ -using Dalamud.Memory; -using FFXIVClientStructs.FFXIV.Client.Game.Character; +using FFXIVClientStructs.FFXIV.Client.Game.Character; using FFXIVClientStructs.FFXIV.Client.Graphics.Scene; using MareSynchronos.Services; using MareSynchronos.Services.Mediator; using MareSynchronos.Utils; using Microsoft.Extensions.Logging; using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using static FFXIVClientStructs.FFXIV.Client.Game.Character.DrawDataContainer; using ObjectKind = MareSynchronos.API.Data.Enum.ObjectKind; diff --git a/MareSynchronos/PlayerData/Handlers/PairHandler.cs b/MareSynchronos/PlayerData/Handlers/PairHandler.cs index b817b3f..f7aab7c 100644 --- a/MareSynchronos/PlayerData/Handlers/PairHandler.cs +++ b/MareSynchronos/PlayerData/Handlers/PairHandler.cs @@ -13,7 +13,6 @@ using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using System.Collections.Concurrent; using System.Diagnostics; -using System.Threading.Channels; using ObjectKind = MareSynchronos.API.Data.Enum.ObjectKind; namespace MareSynchronos.PlayerData.Handlers; diff --git a/MareSynchronos/PlayerData/Pairs/Pair.cs b/MareSynchronos/PlayerData/Pairs/Pair.cs index d9c6f13..27ae3bd 100644 --- a/MareSynchronos/PlayerData/Pairs/Pair.cs +++ b/MareSynchronos/PlayerData/Pairs/Pair.cs @@ -1,4 +1,4 @@ -using Dalamud.ContextMenu; +using Dalamud.Game.Gui.ContextMenu; using Dalamud.Game.Text.SeStringHandling; using MareSynchronos.API.Data; using MareSynchronos.API.Data.Enum; @@ -52,34 +52,53 @@ public class Pair public UserFullPairDto UserPair { get; set; } private PairHandler? CachedPlayer { get; set; } - public void AddContextMenu(GameObjectContextMenuOpenArgs args) + public void AddContextMenu(IMenuOpenedArgs args) { - if (CachedPlayer == null || args.ObjectId != CachedPlayer.PlayerCharacterId || IsPaused) return; + if (CachedPlayer == null || (args.Target is not MenuTargetDefault target) || target.TargetObjectId != CachedPlayer.PlayerCharacterId || IsPaused) return; SeStringBuilder seStringBuilder = new(); SeStringBuilder seStringBuilder2 = new(); SeStringBuilder seStringBuilder3 = new(); SeStringBuilder seStringBuilder4 = new(); - var openProfileSeString = seStringBuilder.AddUiForeground(526).AddText(" ").AddUiForegroundOff().AddText("Open Profile").Build(); - var reapplyDataSeString = seStringBuilder2.AddUiForeground(526).AddText(" ").AddUiForegroundOff().AddText("Reapply last data").Build(); - var cyclePauseState = seStringBuilder3.AddUiForeground(526).AddText(" ").AddUiForegroundOff().AddText("Cycle pause state").Build(); - var changePermissions = seStringBuilder4.AddUiForeground(526).AddText(" ").AddUiForegroundOff().AddText("Change Permissions").Build(); - args.AddCustomItem(new GameObjectContextMenuItem(openProfileSeString, (a) => + var openProfileSeString = seStringBuilder.AddText("Open Profile").Build(); + var reapplyDataSeString = seStringBuilder2.AddText("Reapply last data").Build(); + var cyclePauseState = seStringBuilder3.AddText("Cycle pause state").Build(); + var changePermissions = seStringBuilder4.AddText("Change Permissions").Build(); + args.AddMenuItem(new MenuItem() { - _mediator.Publish(new ProfileOpenStandaloneMessage(this)); - })); - args.AddCustomItem(new GameObjectContextMenuItem(reapplyDataSeString, (a) => + Name = openProfileSeString, + OnClicked = (a) => _mediator.Publish(new ProfileOpenStandaloneMessage(this)), + UseDefaultPrefix = false, + PrefixChar = 'M', + PrefixColor = 526 + }); + + args.AddMenuItem(new MenuItem() { - ApplyLastReceivedData(forced: true); - }, useDalamudIndicator: false)); - args.AddCustomItem(new GameObjectContextMenuItem(changePermissions, (a) => + Name = reapplyDataSeString, + OnClicked = (a) => ApplyLastReceivedData(forced: true), + UseDefaultPrefix = false, + PrefixChar = 'M', + PrefixColor = 526 + }); + + args.AddMenuItem(new MenuItem() { - _mediator.Publish(new OpenPermissionWindow(this)); - }, useDalamudIndicator: false)); - args.AddCustomItem(new GameObjectContextMenuItem(cyclePauseState, (a) => + Name = changePermissions, + OnClicked = (a) => _mediator.Publish(new OpenPermissionWindow(this)), + UseDefaultPrefix = false, + PrefixChar = 'M', + PrefixColor = 526 + }); + + args.AddMenuItem(new MenuItem() { - _mediator.Publish(new CyclePauseMessage(UserData)); - }, useDalamudIndicator: false)); + Name = cyclePauseState, + OnClicked = (a) => _mediator.Publish(new CyclePauseMessage(UserData)), + UseDefaultPrefix = false, + PrefixChar = 'M', + PrefixColor = 526 + }); } public void ApplyData(OnlineUserCharaDataDto data) diff --git a/MareSynchronos/PlayerData/Pairs/PairManager.cs b/MareSynchronos/PlayerData/Pairs/PairManager.cs index 3ad1c66..20f8a88 100644 --- a/MareSynchronos/PlayerData/Pairs/PairManager.cs +++ b/MareSynchronos/PlayerData/Pairs/PairManager.cs @@ -1,4 +1,4 @@ -using Dalamud.ContextMenu; +using Dalamud.Plugin.Services; using MareSynchronos.API.Data; using MareSynchronos.API.Data.Comparer; using MareSynchronos.API.Data.Extensions; @@ -19,27 +19,26 @@ public sealed class PairManager : DisposableMediatorSubscriberBase private readonly ConcurrentDictionary _allClientPairs = new(UserDataComparer.Instance); private readonly ConcurrentDictionary _allGroups = new(GroupDataComparer.Instance); private readonly MareConfigService _configurationService; - //private readonly DalamudContextMenu _dalamudContextMenu; + private readonly IContextMenu _dalamudContextMenu; private readonly PairFactory _pairFactory; private Lazy> _directPairsInternal; private Lazy>> _groupPairsInternal; private Lazy>> _pairsWithGroupsInternal; public PairManager(ILogger logger, PairFactory pairFactory, - MareConfigService configurationService, MareMediator mediator - //DalamudContextMenu dalamudContextMenu) : base(logger, mediator) - ) : base(logger, mediator) + MareConfigService configurationService, MareMediator mediator, + IContextMenu dalamudContextMenu) : base(logger, mediator) { _pairFactory = pairFactory; _configurationService = configurationService; - //_dalamudContextMenu = dalamudContextMenu; + _dalamudContextMenu = dalamudContextMenu; Mediator.Subscribe(this, (_) => ClearPairs()); Mediator.Subscribe(this, (_) => ReapplyPairData()); _directPairsInternal = DirectPairsLazy(); _groupPairsInternal = GroupPairsLazy(); _pairsWithGroupsInternal = PairsWithGroupsLazy(); - //_dalamudContextMenu.OnOpenGameObjectContextMenu += DalamudContextMenuOnOnOpenGameObjectContextMenu; + _dalamudContextMenu.OnMenuOpened += DalamudContextMenuOnOnOpenGameObjectContextMenu; } public List DirectPairs => _directPairsInternal.Value; @@ -320,14 +319,14 @@ public sealed class PairManager : DisposableMediatorSubscriberBase { base.Dispose(disposing); - //_dalamudContextMenu.OnOpenGameObjectContextMenu -= DalamudContextMenuOnOnOpenGameObjectContextMenu; + _dalamudContextMenu.OnMenuOpened -= DalamudContextMenuOnOnOpenGameObjectContextMenu; DisposePairs(); } - private void DalamudContextMenuOnOnOpenGameObjectContextMenu(GameObjectContextMenuOpenArgs args) + private void DalamudContextMenuOnOnOpenGameObjectContextMenu(Dalamud.Game.Gui.ContextMenu.IMenuOpenedArgs args) { - if (args.ObjectId == 0xE000000) return; + if (args.MenuType == Dalamud.Game.Gui.ContextMenu.ContextMenuType.Inventory) return; if (!_configurationService.Current.EnableRightClickMenus) return; foreach (var pair in _allClientPairs.Where((p => p.Value.IsVisible))) diff --git a/MareSynchronos/Plugin.cs b/MareSynchronos/Plugin.cs index eb3702a..a652bb1 100644 --- a/MareSynchronos/Plugin.cs +++ b/MareSynchronos/Plugin.cs @@ -1,5 +1,4 @@ -using Dalamud.ContextMenu; -using Dalamud.Game.ClientState.Objects; +using Dalamud.Game.ClientState.Objects; using Dalamud.Interface.ImGuiFileDialog; using Dalamud.Interface.Windowing; using Dalamud.Plugin; @@ -36,7 +35,7 @@ public sealed class Plugin : IDalamudPlugin public Plugin(IDalamudPluginInterface pluginInterface, ICommandManager commandManager, IDataManager gameData, IFramework framework, IObjectTable objectTable, IClientState clientState, ICondition condition, IChatGui chatGui, IGameGui gameGui, IDtrBar dtrBar, IPluginLog pluginLog, ITargetManager targetManager, INotificationManager notificationManager, - ITextureProvider textureProvider) + ITextureProvider textureProvider, IContextMenu contextMenu) { _host = new HostBuilder() .UseContentRoot(pluginInterface.ConfigDirectory.FullName) @@ -56,7 +55,6 @@ public sealed class Plugin : IDalamudPlugin collection.AddSingleton(); collection.AddSingleton(); collection.AddSingleton(); - collection.AddSingleton(); collection.AddSingleton(); collection.AddSingleton(); collection.AddSingleton(); @@ -84,13 +82,13 @@ public sealed class Plugin : IDalamudPlugin collection.AddSingleton(); collection.AddSingleton((s) => new EventAggregator(pluginInterface.ConfigDirectory.FullName, s.GetRequiredService>(), s.GetRequiredService())); - //collection.AddSingleton((s) => new DalamudContextMenu(pluginInterface)); collection.AddSingleton((s) => new DalamudUtilService(s.GetRequiredService>(), clientState, objectTable, framework, gameGui, condition, gameData, targetManager, s.GetRequiredService(), s.GetRequiredService())); collection.AddSingleton((s) => new DtrEntry(s.GetRequiredService>(), dtrBar, s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService())); - + collection.AddSingleton(s => new PairManager(s.GetRequiredService>(), s.GetRequiredService(), + s.GetRequiredService(), s.GetRequiredService(), contextMenu)); collection.AddSingleton(); collection.AddSingleton((s) => new IpcCallerPenumbra(s.GetRequiredService>(), pluginInterface, s.GetRequiredService(), s.GetRequiredService(), s.GetRequiredService())); diff --git a/MareSynchronos/Services/DalamudUtilService.cs b/MareSynchronos/Services/DalamudUtilService.cs index 085011a..dcb096e 100644 --- a/MareSynchronos/Services/DalamudUtilService.cs +++ b/MareSynchronos/Services/DalamudUtilService.cs @@ -1,7 +1,6 @@ using Dalamud.Game.ClientState.Conditions; using Dalamud.Game.ClientState.Objects; using Dalamud.Game.ClientState.Objects.SubKinds; -using Dalamud.Memory; using Dalamud.Plugin.Services; using Dalamud.Utility; using FFXIVClientStructs.FFXIV.Client.Game.Character; @@ -197,7 +196,13 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber public async Task GetPlayerNameHashedAsync() { - return await RunOnFrameworkThread(() => (GetPlayerName(), (ushort)GetHomeWorldId()).GetHash256()).ConfigureAwait(false); + return await RunOnFrameworkThread(() => GetHashedAccIdFromPlayerPointer(GetPlayerPointer())).ConfigureAwait(false); + } + + private unsafe string GetHashedAccIdFromPlayerPointer(nint ptr) + { + if (ptr == nint.Zero) return string.Empty; + return ((BattleChara*)ptr)->Character.AccountId.ToString().GetHash256(); } public IntPtr GetPlayerPointer() @@ -453,7 +458,7 @@ public class DalamudUtilService : IHostedService, IMediatorSubscriber continue; var charaName = ((GameObject*)chara.Address)->NameString; - var hash = (charaName, ((BattleChara*)chara.Address)->Character.HomeWorld).GetHash256(); + var hash = GetHashedAccIdFromPlayerPointer(chara.Address); if (!IsAnythingDrawing) CheckCharacterForDrawing(chara.Address, charaName); _notUpdatedCharas.Remove(hash); diff --git a/MareSynchronos/Services/XivDataAnalyzer.cs b/MareSynchronos/Services/XivDataAnalyzer.cs index 14ff8ae..151810a 100644 --- a/MareSynchronos/Services/XivDataAnalyzer.cs +++ b/MareSynchronos/Services/XivDataAnalyzer.cs @@ -186,17 +186,25 @@ public sealed class XivDataAnalyzer var filePath = path.ResolvedFilepath; - _logger.LogDebug("Detected Model File {path}, calculating Tris", filePath); - var file = _luminaGameData.GetFileFromDisk(filePath); - if (file.FileHeader.LodCount <= 0) - return Task.FromResult((long)0); - var meshIdx = file.Lods[0].MeshIndex; - var meshCnt = file.Lods[0].MeshCount; - var tris = file.Meshes.Skip(meshIdx).Take(meshCnt).Sum(p => p.IndexCount) / 3; + try + { + _logger.LogDebug("Detected Model File {path}, calculating Tris", filePath); + var file = _luminaGameData.GetFileFromDisk(filePath); + if (file.FileHeader.LodCount <= 0) + return Task.FromResult((long)0); + var meshIdx = file.Lods[0].MeshIndex; + var meshCnt = file.Lods[0].MeshCount; + var tris = file.Meshes.Skip(meshIdx).Take(meshCnt).Sum(p => p.IndexCount) / 3; - _logger.LogDebug("{filePath} => {tris} triangles", filePath, tris); - _configService.Current.TriangleDictionary[hash] = tris; - _configService.Save(); - return Task.FromResult(tris); + _logger.LogDebug("{filePath} => {tris} triangles", filePath, tris); + _configService.Current.TriangleDictionary[hash] = tris; + _configService.Save(); + return Task.FromResult(tris); + } + catch (Exception e) + { + _logger.LogWarning(e, "Could not parse file {file}", filePath); + return Task.FromResult((long)0); + } } } diff --git a/MareSynchronos/UI/EditProfileUi.cs b/MareSynchronos/UI/EditProfileUi.cs index d6f845e..fc290d1 100644 --- a/MareSynchronos/UI/EditProfileUi.cs +++ b/MareSynchronos/UI/EditProfileUi.cs @@ -1,7 +1,6 @@ using Dalamud.Interface; using Dalamud.Interface.Colors; using Dalamud.Interface.ImGuiFileDialog; -using Dalamud.Interface.Internal; using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Interface.Utility; using ImGuiNET; diff --git a/MareSynchronos/UI/PopoutProfileUi.cs b/MareSynchronos/UI/PopoutProfileUi.cs index fd7889a..71c2dea 100644 --- a/MareSynchronos/UI/PopoutProfileUi.cs +++ b/MareSynchronos/UI/PopoutProfileUi.cs @@ -1,5 +1,4 @@ using Dalamud.Interface.Colors; -using Dalamud.Interface.Internal; using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Interface.Utility; using ImGuiNET; diff --git a/MareSynchronos/UI/StandaloneProfileUi.cs b/MareSynchronos/UI/StandaloneProfileUi.cs index df31228..4545b1e 100644 --- a/MareSynchronos/UI/StandaloneProfileUi.cs +++ b/MareSynchronos/UI/StandaloneProfileUi.cs @@ -1,5 +1,4 @@ using Dalamud.Interface.Colors; -using Dalamud.Interface.Internal; using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Interface.Utility; using ImGuiNET; diff --git a/MareSynchronos/UI/UISharedService.cs b/MareSynchronos/UI/UISharedService.cs index 7006c5c..faacfb2 100644 --- a/MareSynchronos/UI/UISharedService.cs +++ b/MareSynchronos/UI/UISharedService.cs @@ -1,11 +1,8 @@ using Dalamud.Interface; using Dalamud.Interface.Colors; -using Dalamud.Interface.Components; using Dalamud.Interface.GameFonts; using Dalamud.Interface.ImGuiFileDialog; -using Dalamud.Interface.Internal; using Dalamud.Interface.ManagedFontAtlas; -using Dalamud.Interface.Textures; using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Interface.Utility; using Dalamud.Interface.Utility.Raii;