From ed2f8b9c8642213bd4c5b49581215e920e61fd3b Mon Sep 17 00:00:00 2001 From: Liza Carvelli Date: Tue, 2 Jul 2024 19:11:28 +0200 Subject: [PATCH] API 10 --- ARDiscard/ARDiscard.csproj | 59 ++------------------ ARDiscard/ARDiscard.json | 10 +++- ARDiscard/AutoDiscardPlogon.cs | 31 ++++++----- ARDiscard/ContextMenuIntegration.cs | 6 +-- ARDiscard/External/AutoDiscardIpc.cs | 2 +- ARDiscard/GameData/InventoryUtils.cs | 56 +++++++++---------- ARDiscard/Windows/ConfigWindow.cs | 9 ++-- ARDiscard/Windows/DiscardWindow.cs | 20 ++++--- ARDiscard/packages.lock.json | 81 ++++++++++++++++++++++++++-- AutoRetainerAPI | 2 +- ECommons | 2 +- LLib | 2 +- 12 files changed, 161 insertions(+), 119 deletions(-) diff --git a/ARDiscard/ARDiscard.csproj b/ARDiscard/ARDiscard.csproj index 39a287f..b981aba 100644 --- a/ARDiscard/ARDiscard.csproj +++ b/ARDiscard/ARDiscard.csproj @@ -1,66 +1,15 @@ - + - net8.0-windows - 5.3 - 12 - enable - true - false - false + 6.0 dist - true - portable - $(SolutionDir)=X:\ - true - portable - - $(appdata)\XIVLauncher\addon\Hooks\dev\ - - - - $(DALAMUD_HOME)/ - + + - - - - - - - - $(DalamudLibPath)Dalamud.dll - false - - - $(DalamudLibPath)ImGui.NET.dll - false - - - $(DalamudLibPath)Lumina.dll - false - - - $(DalamudLibPath)Lumina.Excel.dll - false - - - $(DalamudLibPath)Newtonsoft.Json.dll - false - - - $(DalamudLibPath)FFXIVClientStructs.dll - false - - - - - - diff --git a/ARDiscard/ARDiscard.json b/ARDiscard/ARDiscard.json index 8154030..450f9d9 100644 --- a/ARDiscard/ARDiscard.json +++ b/ARDiscard/ARDiscard.json @@ -2,7 +2,13 @@ "Name": "Discard Helper", "Author": "Liza Carvelli", "Punchline": "Discard items automatically via a command or as a post-venture task for AutoRetainer", - "Description": "", + "Description": "Small plugin to help keep your inventory organized (especially when automating retainers or submersibles) by discarding items you don't want (e.g. Stuffed Alphas)", "RepoUrl": "https://git.carvel.li/liza/ARDiscard", - "IconUrl": "https://plugins.carvel.li/icons/ARDiscard.png" + "IconUrl": "https://plugins.carvel.li/icons/ARDiscard.png", + "Tags": [ + "autoretainer", + "automation", + "discard", + "yeet" + ] } diff --git a/ARDiscard/AutoDiscardPlogon.cs b/ARDiscard/AutoDiscardPlogon.cs index 2a65afd..53517ac 100644 --- a/ARDiscard/AutoDiscardPlogon.cs +++ b/ARDiscard/AutoDiscardPlogon.cs @@ -11,7 +11,7 @@ using Dalamud.Memory; using Dalamud.Plugin; using Dalamud.Plugin.Services; using ECommons; -using ECommons.Automation; +using ECommons.Automation.NeoTaskManager; using FFXIVClientStructs.FFXIV.Client.Game; using FFXIVClientStructs.FFXIV.Client.UI; using FFXIVClientStructs.FFXIV.Component.GUI; @@ -27,7 +27,7 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin private readonly ConfigWindow _configWindow; private readonly DiscardWindow _discardWindow; - private readonly DalamudPluginInterface _pluginInterface; + private readonly IDalamudPluginInterface _pluginInterface; private readonly IChatGui _chatGui; private readonly IClientState _clientState; private readonly IPluginLog _pluginLog; @@ -45,7 +45,8 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin private DateTime _cancelDiscardAfter = DateTime.MaxValue; - public AutoDiscardPlogon(DalamudPluginInterface pluginInterface, ICommandManager commandManager, IChatGui chatGui, + [SuppressMessage("Maintainability", "CA1506")] + public AutoDiscardPlogon(IDalamudPluginInterface pluginInterface, ICommandManager commandManager, IChatGui chatGui, IDataManager dataManager, IClientState clientState, ICondition condition, IPluginLog pluginLog, IGameGui gameGui, ITextureProvider textureProvider, IContextMenu contextMenu) { @@ -80,6 +81,7 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin _iconCache = new IconCache(textureProvider); _pluginInterface.UiBuilder.Draw += _windowSystem.Draw; + _pluginInterface.UiBuilder.OpenMainUi += OpenDiscardUi; _pluginInterface.UiBuilder.OpenConfigUi += OpenConfigUi; _discardWindow = new(_inventoryUtils, itemCache, _iconCache, clientState, condition, _configuration); @@ -93,8 +95,8 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin _discardWindow.OpenConfigurationClicked += (_, _) => OpenConfigUi(); _discardWindow.DiscardAllClicked += (_, filter) => { - _taskManager!.Abort(); - _taskManager.Enqueue(() => DiscardNextItem(PostProcessType.ManuallyStarted, filter)); + _taskManager?.Abort(); + _taskManager?.Enqueue(() => DiscardNextItem(PostProcessType.ManuallyStarted, filter)); }; ECommonsMain.Init(_pluginInterface, this); @@ -177,7 +179,9 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin _taskManager.Enqueue(() => DiscardNextItem(PostProcessType.ManuallyStarted, ItemFilter.None)); } - private void OpenDiscardWindow(string command, string arguments) + private void OpenDiscardWindow(string command, string arguments) => OpenDiscardUi(); + + private void OpenDiscardUi() { _discardWindow.IsOpen = !_discardWindow.IsOpen; } @@ -198,11 +202,11 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin var (inventoryType, slot) = (nextItem->Container, nextItem->Slot); _pluginLog.Information( - $"Discarding itemId {nextItem->ItemID} in slot {nextItem->Slot} of container {nextItem->Container}."); + $"Discarding itemId {nextItem->ItemId} in slot {nextItem->Slot} of container {nextItem->Container}."); _inventoryUtils.Discard(nextItem); _cancelDiscardAfter = DateTime.Now.AddSeconds(15); - _taskManager.DelayNext(20); + _taskManager.EnqueueDelay(20); _taskManager.Enqueue(() => ConfirmDiscardItem(type, itemFilter, inventoryType, slot)); } } @@ -217,7 +221,7 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin ((AddonSelectYesno*)addon)->YesButton->AtkComponentBase.SetEnabledState(true); addon->FireCallbackInt(0); - _taskManager.DelayNext(20); + _taskManager.EnqueueDelay(20); _taskManager.Enqueue(() => ContinueAfterDiscard(type, itemFilter, inventoryType, slot)); } else @@ -232,14 +236,14 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin { _pluginLog.Information( $"Addon is not (yet) visible, still trying to discard item in slot {slot} in inventory {inventoryType}"); - _taskManager.DelayNext(100); + _taskManager.EnqueueDelay(100); _taskManager.Enqueue(() => ConfirmDiscardItem(type, itemFilter, inventoryType, slot)); } else { _pluginLog.Information( $"Addon is not (yet) visible, but slot or inventory type changed, retrying from start"); - _taskManager.DelayNext(100); + _taskManager.EnqueueDelay(100); _taskManager.Enqueue(() => DiscardNextItem(type, itemFilter)); } } @@ -265,14 +269,14 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin { _pluginLog.Verbose( $"ContinueAfterDiscard: Waiting for server response until {_cancelDiscardAfter}"); - _taskManager.DelayNext(20); + _taskManager.EnqueueDelay(20); _taskManager.Enqueue(() => ContinueAfterDiscard(type, itemFilter, inventoryType, slot)); } } else { _pluginLog.Information("ContinueAfterDiscard: Discovered different item to discard"); - _taskManager.EnqueueImmediate(() => DiscardNextItem(type, itemFilter)); + _taskManager.Enqueue(() => DiscardNextItem(type, itemFilter)); } } @@ -310,6 +314,7 @@ public sealed class AutoDiscardPlogon : IDalamudPlugin _iconCache.Dispose(); _pluginInterface.UiBuilder.OpenConfigUi -= OpenConfigUi; + _pluginInterface.UiBuilder.OpenMainUi -= OpenDiscardUi; _pluginInterface.UiBuilder.Draw -= _windowSystem.Draw; _commandManager.RemoveHandler("/discard"); _commandManager.RemoveHandler("/discardall"); diff --git a/ARDiscard/ContextMenuIntegration.cs b/ARDiscard/ContextMenuIntegration.cs index cb3b373..d914ac5 100644 --- a/ARDiscard/ContextMenuIntegration.cs +++ b/ARDiscard/ContextMenuIntegration.cs @@ -49,7 +49,7 @@ internal sealed class ContextMenuIntegration : IDisposable _contextMenu.OnMenuOpened += MenuOpened; } - private void MenuOpened(MenuOpenedArgs args) + private void MenuOpened(IMenuOpenedArgs args) { if (!IsEnabled()) return; @@ -106,7 +106,7 @@ internal sealed class ContextMenuIntegration : IDisposable } } - private void AddToDiscardList(MenuItemClickedArgs args) => + private void AddToDiscardList(IMenuItemClickedArgs args) => AddToDiscardList(((MenuTargetInventory)args.Target).TargetItem!.Value.ItemId); private void AddToDiscardList(uint itemId) @@ -126,7 +126,7 @@ internal sealed class ContextMenuIntegration : IDisposable } } - private void RemoveFromDiscardList(MenuItemClickedArgs args) => + private void RemoveFromDiscardList(IMenuItemClickedArgs args) => RemoveFromDiscardList(((MenuTargetInventory)args.Target).TargetItem!.Value.ItemId); private void RemoveFromDiscardList(uint itemId) diff --git a/ARDiscard/External/AutoDiscardIpc.cs b/ARDiscard/External/AutoDiscardIpc.cs index 67862ca..1520b6b 100644 --- a/ARDiscard/External/AutoDiscardIpc.cs +++ b/ARDiscard/External/AutoDiscardIpc.cs @@ -12,7 +12,7 @@ internal sealed class AutoDiscardIpc private readonly Configuration _configuration; private readonly ICallGateProvider> _getItemsToDiscard; - public AutoDiscardIpc(DalamudPluginInterface pluginInterface, Configuration configuration) + public AutoDiscardIpc(IDalamudPluginInterface pluginInterface, Configuration configuration) { _configuration = configuration; diff --git a/ARDiscard/GameData/InventoryUtils.cs b/ARDiscard/GameData/InventoryUtils.cs index ee1e6b4..8623a20 100644 --- a/ARDiscard/GameData/InventoryUtils.cs +++ b/ARDiscard/GameData/InventoryUtils.cs @@ -78,7 +78,7 @@ internal sealed class InventoryUtils } return toDiscard - .Where(x => itemCounts[x.InventoryItem->ItemID] < _configuration.IgnoreItemCountWhenAbove) + .Where(x => itemCounts[x.InventoryItem->ItemId] < _configuration.IgnoreItemCountWhenAbove) .ToList(); } @@ -99,7 +99,7 @@ internal sealed class InventoryUtils { List allItemsToDiscard = GetAllItemsToDiscard(); ItemWrapper? toDiscard = allItemsToDiscard.FirstOrDefault(x => - itemFilter == null || itemFilter.ItemIds.Contains(x.InventoryItem->ItemID)); + itemFilter == null || itemFilter.ItemIds.Contains(x.InventoryItem->ItemId)); return toDiscard != null ? toDiscard.InventoryItem : null; } @@ -113,36 +113,36 @@ internal sealed class InventoryUtils for (int i = 0; i < container->Size; ++i) { var item = container->GetInventorySlot(i); - if (item != null && item->ItemID != 0) + if (item != null && item->ItemId != 0) { - if (itemCounts.TryGetValue(item->ItemID, out uint itemCount)) - itemCounts[item->ItemID] = itemCount + item->Quantity; + if (itemCounts.TryGetValue(item->ItemId, out uint itemCount)) + itemCounts[item->ItemId] = itemCount + item->Quantity; else - itemCounts[item->ItemID] = item->Quantity; + itemCounts[item->ItemId] = item->Quantity; - if (_listManager.IsBlacklisted(item->ItemID)) + if (_listManager.IsBlacklisted(item->ItemId)) continue; - if (!_itemCache.TryGetItem(item->ItemID, out ItemCache.CachedItemInfo? itemInfo) || + if (!_itemCache.TryGetItem(item->ItemId, out ItemCache.CachedItemInfo? itemInfo) || !itemInfo.CanBeDiscarded(_listManager)) continue; // no info, who knows what that item is // skip gear if we're unable to load gearsets or it is used in a gearset - if (itemInfo.EquipSlotCategory > 0 && (gearsetItems == null || gearsetItems.Contains(item->ItemID))) + if (itemInfo.EquipSlotCategory > 0 && (gearsetItems == null || gearsetItems.Contains(item->ItemId))) continue; if (itemInfo is { EquipSlotCategory: > 0, CanBeBoughtFromCalamitySalvager: false } && itemInfo.ILvl >= _configuration.Armoury.MaximumGearItemLevel) continue; - if (_configuration.IgnoreItemWithSignature && item->CrafterContentID != 0) + if (_configuration.IgnoreItemWithSignature && item->CrafterContentId != 0) continue; //PluginLog.Verbose($"{i} → {item->ItemID}"); - if (_configuration.DiscardingItems.Contains(item->ItemID)) + if (_configuration.DiscardingItems.Contains(item->ItemId)) { _pluginLog.Verbose( - $"Found item {item->ItemID} to discard in inventory {inventoryType} in slot {i}"); + $"Found item {item->ItemId} to discard in inventory {inventoryType} in slot {i}"); toDiscard.Add(new ItemWrapper { InventoryItem = item }); } } @@ -169,23 +169,23 @@ internal sealed class InventoryUtils { var gearsetItems = new[] { - gearset->ItemsSpan[0], - gearset->ItemsSpan[1], - gearset->ItemsSpan[2], - gearset->ItemsSpan[3], - gearset->ItemsSpan[4], - gearset->ItemsSpan[6], - gearset->ItemsSpan[7], - gearset->ItemsSpan[8], - gearset->ItemsSpan[9], - gearset->ItemsSpan[10], - gearset->ItemsSpan[11], - gearset->ItemsSpan[12], + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.MainHand), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.OffHand), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.Head), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.Body), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.Hands), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.Legs), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.Feet), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.Ears), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.Neck), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.Wrists), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.RingLeft), + gearset->GetItem(RaptureGearsetModule.GearsetItemIndex.RingRight), }; foreach (var gearsetItem in gearsetItems) { - if (gearsetItem.ItemID != 0) - allGearsetItems.Add(gearsetItem.ItemID); + if (gearsetItem.ItemId != 0) + allGearsetItems.Add(gearsetItem.ItemId); } } } @@ -195,8 +195,8 @@ internal sealed class InventoryUtils public unsafe void Discard(InventoryItem* item) { - if (_listManager.IsBlacklisted(item->ItemID)) - throw new ArgumentException($"Can't discard {item->ItemID}", nameof(item)); + if (_listManager.IsBlacklisted(item->ItemId)) + throw new ArgumentException($"Can't discard {item->ItemId}", nameof(item)); AgentInventoryContext.Instance()->DiscardItem(item, item->Container, item->Slot, 0); } diff --git a/ARDiscard/Windows/ConfigWindow.cs b/ARDiscard/Windows/ConfigWindow.cs index 53f72b1..363c1c9 100644 --- a/ARDiscard/Windows/ConfigWindow.cs +++ b/ARDiscard/Windows/ConfigWindow.cs @@ -15,7 +15,7 @@ namespace ARDiscard.Windows; internal sealed class ConfigWindow : LWindow { - private readonly DalamudPluginInterface _pluginInterface; + private readonly IDalamudPluginInterface _pluginInterface; private readonly Configuration _configuration; private readonly ItemCache _itemCache; private readonly IListManager _listManager; @@ -29,7 +29,7 @@ internal sealed class ConfigWindow : LWindow public event EventHandler? DiscardNowClicked; public event EventHandler? ConfigSaved; - public ConfigWindow(DalamudPluginInterface pluginInterface, Configuration configuration, ItemCache itemCache, + public ConfigWindow(IDalamudPluginInterface pluginInterface, Configuration configuration, ItemCache itemCache, IListManager listManager, IClientState clientState, ICondition condition) : base("Auto Discard###AutoDiscardConfig") { @@ -65,7 +65,10 @@ internal sealed class ConfigWindow : LWindow Save(); } - ImGui.SameLine(ImGui.GetWindowWidth() - 115 * ImGuiHelpers.GlobalScale); + ImGui.SameLine(ImGui.GetContentRegionAvail().X + + ImGui.GetStyle().WindowPadding.X - + ImGui.CalcTextSize("Preview Discards").X - + ImGui.GetStyle().ItemSpacing.X); ImGui.BeginDisabled(!_clientState.IsLoggedIn || !(_condition[ConditionFlag.NormalConditions] || _condition[ConditionFlag.Mounted]) || DiscardNowClicked == null); diff --git a/ARDiscard/Windows/DiscardWindow.cs b/ARDiscard/Windows/DiscardWindow.cs index c003a06..ab38dcc 100644 --- a/ARDiscard/Windows/DiscardWindow.cs +++ b/ARDiscard/Windows/DiscardWindow.cs @@ -5,6 +5,8 @@ using System.Linq; using ARDiscard.GameData; using Dalamud.Game.ClientState.Conditions; using Dalamud.Interface.Internal; +using Dalamud.Interface.Textures; +using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Interface.Utility; using Dalamud.Plugin.Services; using FFXIVClientStructs.FFXIV.Common.Math; @@ -96,7 +98,11 @@ internal sealed class DiscardWindow : LWindow if (ImGui.Button("Open Configuration")) OpenConfigurationClicked!.Invoke(this, EventArgs.Empty); ImGui.EndDisabled(); - ImGui.SameLine(ImGui.GetWindowWidth() - 160 * ImGuiHelpers.GlobalScale); + + ImGui.SameLine(ImGui.GetContentRegionAvail().X + + ImGui.GetStyle().WindowPadding.X - + ImGui.CalcTextSize("Discard all selected items").X - + ImGui.GetStyle().ItemSpacing.X); ImGui.BeginDisabled(Locked || !_clientState.IsLoggedIn || !(_condition[ConditionFlag.NormalConditions] || _condition[ConditionFlag.Mounted]) || @@ -117,12 +123,14 @@ internal sealed class DiscardWindow : LWindow { if (_configuration.Preview.ShowIcons) { - IDalamudTextureWrap? icon = _iconCache.GetIcon(displayedItem.IconId); - if (icon != null) + ISharedImmediateTexture icon = _iconCache.GetIcon(displayedItem.IconId); + if (icon.TryGetWrap(out IDalamudTextureWrap? wrap, out _)) { - ImGui.Image(icon.ImGuiHandle, new Vector2(23, 23)); + ImGui.Image(wrap.ImGuiHandle, new Vector2(23, 23)); ImGui.SameLine(); ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 3); + + wrap.Dispose(); } } @@ -150,8 +158,8 @@ internal sealed class DiscardWindow : LWindow _displayedItems = _inventoryUtils.GetAllItemsToDiscard() .GroupBy(x => new { - ItemId = x.InventoryItem->ItemID, - ItemInfo = _itemCache.GetItem(x.InventoryItem->ItemID), + ItemId = x.InventoryItem->ItemId, + ItemInfo = _itemCache.GetItem(x.InventoryItem->ItemId), }) .Where(x => x.Key.ItemInfo != null) .Select(x => new SelectableItem diff --git a/ARDiscard/packages.lock.json b/ARDiscard/packages.lock.json index 119461b..21e8554 100644 --- a/ARDiscard/packages.lock.json +++ b/ARDiscard/packages.lock.json @@ -4,21 +4,92 @@ "net8.0-windows7.0": { "DalamudPackager": { "type": "Direct", - "requested": "[2.1.12, )", - "resolved": "2.1.12", - "contentHash": "Sc0PVxvgg4NQjcI8n10/VfUQBAS4O+Fw2pZrAqBdRMbthYGeogzu5+xmIGCGmsEZ/ukMOBuAqiNiB5qA3MRalg==" + "requested": "[2.1.13, )", + "resolved": "2.1.13", + "contentHash": "rMN1omGe8536f4xLMvx9NwfvpAc9YFFfeXJ1t4P4PE6Gu8WCIoFliR1sh07hM+bfODmesk/dvMbji7vNI+B/pQ==" + }, + "DotNet.ReproducibleBuilds": { + "type": "Direct", + "requested": "[1.1.1, )", + "resolved": "1.1.1", + "contentHash": "+H2t/t34h6mhEoUvHi8yGXyuZ2GjSovcGYehJrS2MDm2XgmPfZL2Sdxg+uL2lKgZ4M6tTwKHIlxOob2bgh0NRQ==", + "dependencies": { + "Microsoft.SourceLink.AzureRepos.Git": "1.1.1", + "Microsoft.SourceLink.Bitbucket.Git": "1.1.1", + "Microsoft.SourceLink.GitHub": "1.1.1", + "Microsoft.SourceLink.GitLab": "1.1.1" + } + }, + "Microsoft.SourceLink.Gitea": { + "type": "Direct", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "KOBodmDnlWGIqZt2hT47Q69TIoGhIApDVLCyyj9TT5ct8ju16AbHYcB4XeknoHX562wO1pMS/1DfBIZK+V+sxg==", + "dependencies": { + "Microsoft.Build.Tasks.Git": "8.0.0", + "Microsoft.SourceLink.Common": "8.0.0" + } + }, + "Microsoft.Build.Tasks.Git": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ==" + }, + "Microsoft.SourceLink.AzureRepos.Git": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "qB5urvw9LO2bG3eVAkuL+2ughxz2rR7aYgm2iyrB8Rlk9cp2ndvGRCvehk3rNIhRuNtQaeKwctOl1KvWiklv5w==", + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.1.1", + "Microsoft.SourceLink.Common": "1.1.1" + } + }, + "Microsoft.SourceLink.Bitbucket.Git": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "cDzxXwlyWpLWaH0em4Idj0H3AmVo3L/6xRXKssYemx+7W52iNskj/SQ4FOmfCb8YQt39otTDNMveCZzYtMoucQ==", + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.1.1", + "Microsoft.SourceLink.Common": "1.1.1" + } + }, + "Microsoft.SourceLink.Common": { + "type": "Transitive", + "resolved": "8.0.0", + "contentHash": "dk9JPxTCIevS75HyEQ0E4OVAFhB2N+V9ShCXf8Q6FkUQZDkgLI12y679Nym1YqsiSysuQskT7Z+6nUf3yab6Vw==" + }, + "Microsoft.SourceLink.GitHub": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==", + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.1.1", + "Microsoft.SourceLink.Common": "1.1.1" + } + }, + "Microsoft.SourceLink.GitLab": { + "type": "Transitive", + "resolved": "1.1.1", + "contentHash": "tvsg47DDLqqedlPeYVE2lmiTpND8F0hkrealQ5hYltSmvruy/Gr5nHAKSsjyw5L3NeM/HLMI5ORv7on/M4qyZw==", + "dependencies": { + "Microsoft.Build.Tasks.Git": "1.1.1", + "Microsoft.SourceLink.Common": "1.1.1" + } }, "autoretainerapi": { "type": "Project", "dependencies": { - "ECommons": "[2.1.0.7, )" + "ECommons": "[2.2.0.2, )" } }, "ecommons": { "type": "Project" }, "llib": { - "type": "Project" + "type": "Project", + "dependencies": { + "DalamudPackager": "[2.1.13, )" + } } } } diff --git a/AutoRetainerAPI b/AutoRetainerAPI index 6f0aaa5..a63c8e7 160000 --- a/AutoRetainerAPI +++ b/AutoRetainerAPI @@ -1 +1 @@ -Subproject commit 6f0aaa55bce6ec79fd4d72f84f21597b39e5445d +Subproject commit a63c8e7154e272374ffa03d5c801736d4229e38a diff --git a/ECommons b/ECommons index d238d41..38080f2 160000 --- a/ECommons +++ b/ECommons @@ -1 +1 @@ -Subproject commit d238d4188e8b47b11252d75cb5e4b678b8da2756 +Subproject commit 38080f2a3733aa19b6928f4d2984fac7b9a7fab7 diff --git a/LLib b/LLib index 3792244..7027d29 160000 --- a/LLib +++ b/LLib @@ -1 +1 @@ -Subproject commit 3792244261a9f5426a7916f5a6dd1966238ba84a +Subproject commit 7027d291efbbff6a55944dd521d3907210ddecbe