From a041fc6ebf85029d7e1d37ecfd739c6131a3eb1f Mon Sep 17 00:00:00 2001 From: Asriel Camora Date: Sun, 21 Dec 2025 23:55:42 -0800 Subject: [PATCH] Update for 7.4 --- Benchmark/Craftimizer.Benchmark.csproj | 10 +++---- Craftimizer/Craftimizer.csproj | 8 +++--- Craftimizer/Plugin.cs | 8 +++--- Craftimizer/Utils/FoodStatus.cs | 8 +++--- Craftimizer/Utils/Hooks.cs | 4 +-- Craftimizer/Utils/Ipc.cs | 2 +- Craftimizer/Utils/MacroCopy.cs | 14 +++++----- Craftimizer/Windows/MacroClipboard.cs | 2 +- Craftimizer/Windows/MacroEditor.cs | 10 +++---- Craftimizer/Windows/MacroList.cs | 8 +++--- Craftimizer/Windows/RecipeNote.cs | 10 +++---- Craftimizer/Windows/Settings.cs | 22 +++++++-------- Craftimizer/Windows/SynthHelper.cs | 8 +++--- Craftimizer/packages.lock.json | 38 +++++++++++++------------- Simulator/Craftimizer.Simulator.csproj | 4 +-- Solver/Craftimizer.Solver.csproj | 8 +++--- Test/Craftimizer.Test.csproj | 2 +- 17 files changed, 83 insertions(+), 83 deletions(-) diff --git a/Benchmark/Craftimizer.Benchmark.csproj b/Benchmark/Craftimizer.Benchmark.csproj index c31701a..ad3069b 100644 --- a/Benchmark/Craftimizer.Benchmark.csproj +++ b/Benchmark/Craftimizer.Benchmark.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 Exe enable enable @@ -17,10 +17,10 @@ - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/Craftimizer/Craftimizer.csproj b/Craftimizer/Craftimizer.csproj index 24e63fb..244c96f 100644 --- a/Craftimizer/Craftimizer.csproj +++ b/Craftimizer/Craftimizer.csproj @@ -1,14 +1,14 @@ - + Asriel Camora - 2.8.0.0 + 2.9.0.0 https://github.com/WorkingRobot/Craftimizer.git Debug;Release - net9.0-windows7.0 + net10.0-windows x64 enable true @@ -33,7 +33,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/Craftimizer/Plugin.cs b/Craftimizer/Plugin.cs index f7d9189..82550c4 100644 --- a/Craftimizer/Plugin.cs +++ b/Craftimizer/Plugin.cs @@ -75,7 +75,7 @@ public sealed class Plugin : IDalamudPlugin var editorWindow = (EditorWindow?.IsOpen ?? false) ? EditorWindow : null; var recipeData = editorWindow?.RecipeData ?? Service.Plugin.RecipeNoteWindow.RecipeData; var characterStats = editorWindow?.CharacterStats ?? Service.Plugin.RecipeNoteWindow.CharacterStats; - var buffs = editorWindow?.Buffs ?? (RecipeNoteWindow.CharacterStats != null ? new(Service.ClientState.LocalPlayer?.StatusList) : null); + var buffs = editorWindow?.Buffs ?? (RecipeNoteWindow.CharacterStats != null ? new(Service.Objects.LocalPlayer?.StatusList) : null); return (characterStats, recipeData, buffs); } @@ -143,7 +143,7 @@ public sealed class Plugin : IDalamudPlugin ListWindow.BringToFront(); } - public void OpenCraftingLog() + public static void OpenCraftingLog() { Chat.SendMessage("/craftinglog"); } @@ -154,7 +154,7 @@ public sealed class Plugin : IDalamudPlugin ClipboardWindow = new(macros); } - public IActiveNotification DisplaySolverWarning(string text) => + public static IActiveNotification DisplaySolverWarning(string text) => DisplayNotification(new() { Content = text, @@ -162,7 +162,7 @@ public sealed class Plugin : IDalamudPlugin Type = NotificationType.Warning }); - public IActiveNotification DisplayNotification(Notification notification) + public static IActiveNotification DisplayNotification(Notification notification) { var ret = Service.NotificationManager.AddNotification(notification); // ret.SetIconTexture(Icon.RentAsync().ContinueWith(t => (IDalamudTextureWrap?)t)); diff --git a/Craftimizer/Utils/FoodStatus.cs b/Craftimizer/Utils/FoodStatus.cs index d56f52b..3683741 100644 --- a/Craftimizer/Utils/FoodStatus.cs +++ b/Craftimizer/Utils/FoodStatus.cs @@ -33,7 +33,7 @@ public static class FoodStatus if (item.ItemAction.ValueNullable is not { } itemAction) continue; - if (itemAction.Type is not (844 or 845 or 846)) + if (itemAction.Action.RowId is not (844 or 845 or 846)) continue; if (LuminaSheets.ItemFoodSheet.GetRowOrDefault(itemAction.Data[1]) is not { } itemFood) @@ -66,12 +66,12 @@ public static class FoodStatus lut.TryAdd(itemFood.RowId, item.RowId); } - ItemFoodToItemLUT = lut.ToFrozenDictionary(); + ItemFoodToItemLUT = lut.ToFrozenDictionary(); FoodItems = foods.ToFrozenDictionary(); MedicineItems = medicines.ToFrozenDictionary(); - FoodOrder = FoodItems.OrderByDescending(a => a.Value.Item.LevelItem.RowId).Select(a => a.Key).ToImmutableArray(); - MedicineOrder = MedicineItems.OrderByDescending(a => a.Value.Item.LevelItem.RowId).Select(a => a.Key).ToImmutableArray(); + FoodOrder = [.. FoodItems.OrderByDescending(a => a.Value.Item.LevelItem.RowId).Select(a => a.Key)]; + MedicineOrder = [.. MedicineItems.OrderByDescending(a => a.Value.Item.LevelItem.RowId).Select(a => a.Key)]; } public static void Initialize() { } diff --git a/Craftimizer/Utils/Hooks.cs b/Craftimizer/Utils/Hooks.cs index 2dce956..03080f4 100644 --- a/Craftimizer/Utils/Hooks.cs +++ b/Craftimizer/Utils/Hooks.cs @@ -37,7 +37,7 @@ public sealed unsafe class Hooks : IDisposable var ret = UseActionHook.Original(manager, actionType, actionId, targetId, extraParam, mode, comboRouteId, optOutAreaTargeted); if (canCast && ret && actionType is CSActionType.CraftAction or CSActionType.Action) { - var classJob = ClassJobUtils.GetClassJobFromIdx((byte)(Service.ClientState.LocalPlayer?.ClassJob.RowId ?? 0)); + var classJob = ClassJobUtils.GetClassJobFromIdx((byte)(Service.Objects.LocalPlayer?.ClassJob.RowId ?? 0)); if (classJob != null) { var simActionType = ActionUtils.GetActionTypeFromId(actionId, classJob.Value, actionType == CSActionType.CraftAction); @@ -75,7 +75,7 @@ public sealed unsafe class Hooks : IDisposable if (actionType is not (CSActionType.CraftAction or CSActionType.Action)) return ret; - var jobId = Service.ClientState.LocalPlayer?.ClassJob.RowId; + var jobId = Service.Objects.LocalPlayer?.ClassJob.RowId; if (jobId == null) return ret; diff --git a/Craftimizer/Utils/Ipc.cs b/Craftimizer/Utils/Ipc.cs index 3b605ef..2367b09 100644 --- a/Craftimizer/Utils/Ipc.cs +++ b/Craftimizer/Utils/Ipc.cs @@ -26,7 +26,7 @@ public sealed class Ipc if (prop.GetMethod is not { } getMethod) throw new InvalidOperationException("Property must have a getter"); - if (getMethod.GetCustomAttribute() is null) + if (!getMethod.IsDefined()) throw new InvalidOperationException("Property must have an auto getter"); var type = prop.PropertyType; diff --git a/Craftimizer/Utils/MacroCopy.cs b/Craftimizer/Utils/MacroCopy.cs index eb48cb3..6d71503 100644 --- a/Craftimizer/Utils/MacroCopy.cs +++ b/Craftimizer/Utils/MacroCopy.cs @@ -20,7 +20,7 @@ public static class MacroCopy { if (actions.Count == 0) { - Service.Plugin.DisplayNotification(new() + Plugin.Plugin.DisplayNotification(new() { Content = "Cannot copy an empty macro.", MinimizedText = "Cannot copy empty macro", @@ -152,7 +152,7 @@ public static class MacroCopy if (config.ShowCopiedMessage) { - Service.Plugin.DisplayNotification(new() + Plugin.Plugin.DisplayNotification(new() { Content = i > 1 ? "Copied macro to User Macros." : $"Copied {i} macros to User Macros.", MinimizedText = i > 1 ? "Copied macro" : $"Copied {i} macros", @@ -164,7 +164,7 @@ public static class MacroCopy { Service.Plugin.OpenMacroClipboard(macros); var rest = macros.Count - i; - Service.Plugin.DisplayNotification(new() + Plugin.Plugin.DisplayNotification(new() { Content = $"Couldn't copy {rest} macro{(rest == 1 ? "" : "s")}, so a window was opened with all of them.", Minimized = false, @@ -201,7 +201,7 @@ public static class MacroCopy ImGui.SetClipboardText(string.Join(Environment.NewLine + Environment.NewLine, macros)); if (Service.Configuration.MacroCopy.ShowCopiedMessage) { - Service.Plugin.DisplayNotification(new() + Plugin.Plugin.DisplayNotification(new() { Content = macros.Count == 1 ? "Copied macro to clipboard." : $"Copied {macros.Count} macros to clipboard.", MinimizedText = macros.Count == 1 ? "Copied macro" : $"Copied {macros.Count} macros", @@ -215,7 +215,7 @@ public static class MacroCopy { if (!Service.Ipc.MacroMateIsAvailable()) { - Service.Plugin.DisplayNotification(new() + Plugin.Plugin.DisplayNotification(new() { Content = "Please check if it installed and enabled.", MinimizedText = "Macro Mate is unavailable", @@ -232,7 +232,7 @@ public static class MacroCopy var (isValidParent, parentError) = Service.Ipc.MacroMateValidateGroupPath(parentPath); if (!isValidParent) { - Service.Plugin.DisplayNotification(new() + Plugin.Plugin.DisplayNotification(new() { Content = parentError!, MinimizedText = parentError, @@ -246,7 +246,7 @@ public static class MacroCopy if (Service.Configuration.MacroCopy.ShowCopiedMessage) { - Service.Plugin.DisplayNotification(new() + Plugin.Plugin.DisplayNotification(new() { Content = "Copied macro to Macro Mate.", MinimizedText = "Copied macro", diff --git a/Craftimizer/Windows/MacroClipboard.cs b/Craftimizer/Windows/MacroClipboard.cs index d585cae..ea17af3 100644 --- a/Craftimizer/Windows/MacroClipboard.cs +++ b/Craftimizer/Windows/MacroClipboard.cs @@ -58,7 +58,7 @@ public sealed class MacroClipboard : Window, IDisposable ImGui.SetClipboardText(macro); if (Service.Configuration.MacroCopy.ShowCopiedMessage) { - Service.Plugin.DisplayNotification(new() + Plugin.Plugin.DisplayNotification(new() { Content = Macros.Count == 1 ? "Copied macro to clipboard." : $"Copied macro {idx + 1} to clipboard.", MinimizedText = Macros.Count == 1 ? "Copied macro" : $"Copied macro {idx + 1}", diff --git a/Craftimizer/Windows/MacroEditor.cs b/Craftimizer/Windows/MacroEditor.cs index 95c77b9..784a8cb 100644 --- a/Craftimizer/Windows/MacroEditor.cs +++ b/Craftimizer/Windows/MacroEditor.cs @@ -1008,13 +1008,13 @@ public sealed class MacroEditor : Window, IDisposable } private const int MAX_LEVEL = 100; - private float GetLevelEntryWidth() + private static float GetLevelEntryWidth() { var levelTextWidth = ImGui.CalcTextSize(SqText.ToLevelString(MAX_LEVEL)).X + ImGui.GetStyle().FramePadding.X * 2 + 5; return ImGui.CalcTextSize(SqText.LevelPrefix.ToIconString()).X + 5 + levelTextWidth; } - private bool DrawLevelEntry(ref int level) + private static bool DrawLevelEntry(ref int level) { static int LevelInputCallback(ImGuiInputTextCallbackDataPtr data) { @@ -1570,7 +1570,7 @@ public sealed class MacroEditor : Window, IDisposable foreach (var action in parsedActions) AddStep(action); - Service.Plugin.DisplayNotification(new() + Plugin.Plugin.DisplayNotification(new() { Content = $"Imported macro with {parsedActions.Count} step{(parsedActions.Count != 1 ? "s" : "")}", MinimizedText = $"Imported {parsedActions.Count} step macro", @@ -1626,7 +1626,7 @@ public sealed class MacroEditor : Window, IDisposable Macro.Clear(); foreach (var action in actions) AddStep(action); - Service.Plugin.DisplayNotification(new() + Plugin.Plugin.DisplayNotification(new() { Content = $"Imported macro \"{name}\"", Title = "Macro Imported", @@ -1677,7 +1677,7 @@ public sealed class MacroEditor : Window, IDisposable var solver = new Solver.Solver(config, state) { Token = token }; solver.OnLog += Log.Debug; - solver.OnWarn += t => Service.Plugin.DisplaySolverWarning(t); + solver.OnWarn += t => Plugin.Plugin.DisplaySolverWarning(t); solver.OnNewAction += a => Macro.Enqueue(a); solver.OnSuggestSolution += a => Macro.EnqueueEphemeral(a.Actions); SolverObject = solver; diff --git a/Craftimizer/Windows/MacroList.cs b/Craftimizer/Windows/MacroList.cs index 9d16d67..809471d 100644 --- a/Craftimizer/Windows/MacroList.cs +++ b/Craftimizer/Windows/MacroList.cs @@ -23,7 +23,7 @@ public sealed class MacroList : Window, IDisposable public CharacterStats? CharacterStats { get; private set; } public RecipeData? RecipeData { get; private set; } - private IReadOnlyList Macros => Service.Configuration.Macros; + private static IReadOnlyList Macros => Service.Configuration.Macros; private Dictionary MacroStateCache { get; } = []; public MacroList() : base("Craftimizer Macro List", WindowFlags, false) @@ -60,7 +60,7 @@ public sealed class MacroList : Window, IDisposable public override bool DrawConditions() { - return Service.ClientState.LocalPlayer != null; + return Service.Objects.LocalPlayer != null; } public override void PreDraw() @@ -129,7 +129,7 @@ public sealed class MacroList : Window, IDisposable ImGuiUtils.TextCentered(text2); ImGuiUtils.AlignCentered(buttonRowWidth); if (ImGui.Button(text3)) - Service.Plugin.OpenCraftingLog(); + Plugin.Plugin.OpenCraftingLog(); ImGui.SameLine(); if (ImGui.Button(text4)) OpenEditor(null); @@ -356,7 +356,7 @@ public sealed class MacroList : Window, IDisposable sortedMacros = [.. query]; } - private void OpenEditor(Macro? macro) + private static void OpenEditor(Macro? macro) { var stats = Service.Plugin.GetDefaultStats(); Service.Plugin.OpenMacroEditor(stats.Character, stats.Recipe, stats.Buffs, null, macro?.Actions ?? Enumerable.Empty(), macro != null ? (actions => { macro.ActionEnumerable = actions; Service.Configuration.Save(); }) : null); diff --git a/Craftimizer/Windows/RecipeNote.cs b/Craftimizer/Windows/RecipeNote.cs index ec43995..155d93a 100644 --- a/Craftimizer/Windows/RecipeNote.cs +++ b/Craftimizer/Windows/RecipeNote.cs @@ -190,7 +190,7 @@ public sealed unsafe class RecipeNote : Window, IDisposable private bool StatsChanged { get; set; } private bool CalculateShouldOpen() { - if (Service.ClientState.LocalPlayer == null) + if (Service.Objects.LocalPlayer == null) return false; bool ShouldUseRecipeNote() @@ -476,7 +476,7 @@ public sealed unsafe class RecipeNote : Window, IDisposable Service.Plugin.OpenMacroListWindow(); if (ImGui.Button("Open in Macro Editor", new(availWidth, 0))) - Service.Plugin.OpenMacroEditor(CharacterStats!, RecipeData!, new(Service.ClientState.LocalPlayer!.StatusList), CalculateIngredientHqCounts(), [], null); + Service.Plugin.OpenMacroEditor(CharacterStats!, RecipeData!, new(Service.Objects.LocalPlayer!.StatusList), CalculateIngredientHqCounts(), [], null); } private void DrawCharacterStats() @@ -1031,7 +1031,7 @@ public sealed unsafe class RecipeNote : Window, IDisposable ImGui.TableNextColumn(); { if (ImGuiUtils.IconButtonSquare(FontAwesomeIcon.Edit, miniRowHeight)) - Service.Plugin.OpenMacroEditor(CharacterStats!, RecipeData!, new(Service.ClientState.LocalPlayer!.StatusList), CalculateIngredientHqCounts(), actions, state.MacroEditorSetter); + Service.Plugin.OpenMacroEditor(CharacterStats!, RecipeData!, new(Service.Objects.LocalPlayer!.StatusList), CalculateIngredientHqCounts(), actions, state.MacroEditorSetter); if (ImGui.IsItemHovered()) ImGuiUtils.Tooltip("Open in Macro Editor"); if (ImGuiUtils.IconButtonSquare(FontAwesomeIcon.Paste, miniRowHeight)) @@ -1125,7 +1125,7 @@ public sealed unsafe class RecipeNote : Window, IDisposable var statusRequired = RecipeData.Recipe.StatusRequired; if (statusRequired.RowId != 0 && statusRequired.IsValid) { - if (!Service.ClientState.LocalPlayer!.StatusList.Any(s => s.StatusId == statusRequired.RowId)) + if (!Service.Objects.LocalPlayer!.StatusList.Any(s => s.StatusId == statusRequired.RowId)) return CraftableStatus.RequiredStatus; } @@ -1234,7 +1234,7 @@ public sealed unsafe class RecipeNote : Window, IDisposable var solver = new Solver.Solver(config, state) { Token = token }; solver.OnLog += Log.Debug; - solver.OnWarn += t => Service.Plugin.DisplaySolverWarning(t); + solver.OnWarn += t => Plugin.Plugin.DisplaySolverWarning(t); BestMacroSolver = solver; solver.Start(); var solution = solver.GetTask().GetAwaiter().GetResult(); diff --git a/Craftimizer/Windows/Settings.cs b/Craftimizer/Windows/Settings.cs index d0c7454..f9d4cb1 100644 --- a/Craftimizer/Windows/Settings.cs +++ b/Craftimizer/Windows/Settings.cs @@ -159,15 +159,15 @@ public sealed class Settings : Window, IDisposable private static string GetAlgorithmTooltip(SolverAlgorithm algorithm) => algorithm switch { - SolverAlgorithm.Oneshot => "Run through all iterations and pick the best macro", - SolverAlgorithm.OneshotForked => "Oneshot, but using multiple solvers simultaneously", - SolverAlgorithm.Stepwise => "Run through all iterations and pick the next best step, " + + SolverAlgorithm.Oneshot => "Run through all iterations and pick the best macro", + SolverAlgorithm.OneshotForked => "Oneshot, but using multiple solvers simultaneously", + SolverAlgorithm.Stepwise => "Run through all iterations and pick the next best step, " + "and repeat using previous steps as a starting point", - SolverAlgorithm.StepwiseForked => "Stepwise, but using multiple solvers simultaneously", - SolverAlgorithm.StepwiseGenetic => "Stepwise Forked, but the top N next best steps are " + + SolverAlgorithm.StepwiseForked => "Stepwise, but using multiple solvers simultaneously", + SolverAlgorithm.StepwiseGenetic => "Stepwise Forked, but the top N next best steps are " + "selected from the solvers, and each one is equally " + "used as a starting point", - SolverAlgorithm.Raphael => "Finds the best solution, every time. This solver has " + + SolverAlgorithm.Raphael => "Finds the best solution, every time. This solver has " + "very different options compared to the rest, as it " + "is designed using an entirely different algorithm.", _ => "Unknown" @@ -186,11 +186,11 @@ public sealed class Settings : Window, IDisposable private static string GetCopyTypeTooltip(MacroCopyConfiguration.CopyType type) => type switch { - MacroCopyConfiguration.CopyType.OpenWindow => "Open a dedicated window with all macros being copied. " + + MacroCopyConfiguration.CopyType.OpenWindow => "Open a dedicated window with all macros being copied. " + "Copy, view, and choose at your own leisure.", - MacroCopyConfiguration.CopyType.CopyToMacro => "Copy directly to the game's macro system.", - MacroCopyConfiguration.CopyType.CopyToClipboard => "Copy to your clipboard. Macros are separated by a blank line.", - MacroCopyConfiguration.CopyType.CopyToMacroMate => "Copy directly to a Macro Mate macro. Requires the Macro Mate plugin.", + MacroCopyConfiguration.CopyType.CopyToMacro => "Copy directly to the game's macro system.", + MacroCopyConfiguration.CopyType.CopyToClipboard => "Copy to your clipboard. Macros are separated by a blank line.", + MacroCopyConfiguration.CopyType.CopyToMacroMate => "Copy directly to a Macro Mate macro. Requires the Macro Mate plugin.", _ => "Unknown" }; @@ -653,7 +653,7 @@ public sealed class Settings : Window, IDisposable else { DrawOption( - "Quick Solve", + "Backload Progress", "Speeds up solve times. Backloads all Progress " + "actions to the end of the rotation.", config.BackloadProgress, diff --git a/Craftimizer/Windows/SynthHelper.cs b/Craftimizer/Windows/SynthHelper.cs index a456b36..5036fe6 100644 --- a/Craftimizer/Windows/SynthHelper.cs +++ b/Craftimizer/Windows/SynthHelper.cs @@ -159,7 +159,7 @@ public sealed unsafe class SynthHelper : Window, IDisposable private bool wasInCraftAction; private bool CalculateShouldOpen() { - if (Service.ClientState.LocalPlayer == null) + if (Service.Objects.LocalPlayer == null) return false; if (!Service.Configuration.EnableSynthHelper) @@ -486,7 +486,7 @@ public sealed unsafe class SynthHelper : Window, IDisposable } if (ImGui.Button("Open in Macro Editor", new(-1, 0))) - Service.Plugin.OpenMacroEditor(CharacterStats!, RecipeData!, new(Service.ClientState.LocalPlayer!.StatusList), null, [], null); + Service.Plugin.OpenMacroEditor(CharacterStats!, RecipeData!, new(Service.Objects.LocalPlayer!.StatusList), null, [], null); } public bool ExecuteNextAction() @@ -559,7 +559,7 @@ public sealed unsafe class SynthHelper : Window, IDisposable private SimulationState GetCurrentState() { - var player = Service.ClientState.LocalPlayer!; + var player = Service.Objects.LocalPlayer!; var values = new SynthesisValues(Addon); var statusManager = ((Character*)player.Address)->GetStatusManager(); @@ -649,7 +649,7 @@ public sealed unsafe class SynthHelper : Window, IDisposable var solver = new Solver.Solver(config, state) { Token = token }; solver.OnLog += Log.Debug; - solver.OnWarn += t => Service.Plugin.DisplaySolverWarning(t); + solver.OnWarn += t => Plugin.Plugin.DisplaySolverWarning(t); solver.OnNewAction += EnqueueAction; SolverObject = solver; solver.Start(); diff --git a/Craftimizer/packages.lock.json b/Craftimizer/packages.lock.json index 46d31f8..cb080cd 100644 --- a/Craftimizer/packages.lock.json +++ b/Craftimizer/packages.lock.json @@ -1,18 +1,18 @@ { "version": 1, "dependencies": { - "net9.0-windows7.0": { + "net10.0-windows7.0": { "DalamudPackager": { "type": "Direct", - "requested": "[13.0.0, )", - "resolved": "13.0.0", - "contentHash": "Mb3cUDSK/vDPQ8gQIeuCw03EMYrej1B4J44a1AvIJ9C759p9XeqdU9Hg4WgOmlnlPe0G7ILTD32PKSUpkQNa8w==" + "requested": "[14.0.1, )", + "resolved": "14.0.1", + "contentHash": "y0WWyUE6dhpGdolK3iKgwys05/nZaVf4ZPtIjpLhJBZvHxkkiE23zYRo7K7uqAgoK/QvK5cqF6l3VG5AbgC6KA==" }, "DotNet.ReproducibleBuilds": { "type": "Direct", - "requested": "[1.2.25, )", - "resolved": "1.2.25", - "contentHash": "xCXiw7BCxHJ8pF6wPepRUddlh2dlQlbr81gXA72hdk4FLHkKXas7EH/n+fk5UCA/YfMqG1Z6XaPiUjDbUNBUzg==" + "requested": "[1.2.39, )", + "resolved": "1.2.39", + "contentHash": "fcFN01tDTIQqDuTwr1jUQK/geofiwjG5DycJQOnC72i1SsLAk1ELe+apBOuZ11UMQG8YKFZG1FgvjZPbqHyatg==" }, "MathNet.Numerics": { "type": "Direct", @@ -22,22 +22,22 @@ }, "Meziantou.Analyzer": { "type": "Direct", - "requested": "[2.0.199, )", - "resolved": "2.0.199", - "contentHash": "y8oRrTLDBw1b10pWci/PnFoahdIMflNSlVheL9kzUylAASnoJPFyvuyaNXcrbOTNOEk1aMLFRr1mSX/xvYR15g==" + "requested": "[2.0.264, )", + "resolved": "2.0.264", + "contentHash": "zRG13RDG446rZNdd/YjKRd4utpbjleRDUqNQSrX0etMnH8Rz9NBlXUpS5aR2ExoOokhNfkdOW8HpLzjLj5x0hQ==" }, "DotNext": { "type": "Transitive", - "resolved": "5.21.0", - "contentHash": "fU63OJVSDSsOl6adjNM8e5zmyhdZkX2ztvmSeW6lBjFdvFG8ZwMOrJ+L8Ih/2yKr0cuaV8PNwnhDrlS4MFf14A==", + "resolved": "5.26.1", + "contentHash": "rcy6Yrpb64B7qYm/+D+4sfBUzwX/IOGeJBYReDL8/TAIp8aZrZPtXx8nwkYjWCuakYn2tBppwefIM6pd/cOnMw==", "dependencies": { "System.IO.Hashing": "8.0.0" } }, "Raphael.Net": { "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "9yY+jR2gddw52HtShBL/JikQ4gZa8lxFYSUIi2y510HLsaK86iqtuRgrv8/akrHR66QRWEPtmHXyehW1hrmP9Q==" + "resolved": "4.0.1", + "contentHash": "LxzJhMnrjVF/jGkyJLWmMerkTDGW8zZ00ipXYg2BqfmGxgBjnjhZm4XsNLb6hLgkvV2rfWcuAtwF2rCdxkRPWw==" }, "System.IO.Hashing": { "type": "Transitive", @@ -51,16 +51,16 @@ "type": "Project", "dependencies": { "Craftimizer.Simulator": "[1.0.0, )", - "DotNext": "[5.21.0, )", - "Raphael.Net": "[3.0.0, )" + "DotNext": "[5.26.1, )", + "Raphael.Net": "[4.0.1, )" } } }, - "net9.0-windows7.0/win-x64": { + "net10.0-windows7.0/win-x64": { "Raphael.Net": { "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "9yY+jR2gddw52HtShBL/JikQ4gZa8lxFYSUIi2y510HLsaK86iqtuRgrv8/akrHR66QRWEPtmHXyehW1hrmP9Q==" + "resolved": "4.0.1", + "contentHash": "LxzJhMnrjVF/jGkyJLWmMerkTDGW8zZ00ipXYg2BqfmGxgBjnjhZm4XsNLb6hLgkvV2rfWcuAtwF2rCdxkRPWw==" } } } diff --git a/Simulator/Craftimizer.Simulator.csproj b/Simulator/Craftimizer.Simulator.csproj index 91c7ab8..da5b984 100644 --- a/Simulator/Craftimizer.Simulator.csproj +++ b/Simulator/Craftimizer.Simulator.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable x64 @@ -9,7 +9,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/Solver/Craftimizer.Solver.csproj b/Solver/Craftimizer.Solver.csproj index ee2694b..fe42674 100644 --- a/Solver/Craftimizer.Solver.csproj +++ b/Solver/Craftimizer.Solver.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable True @@ -10,12 +10,12 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Test/Craftimizer.Test.csproj b/Test/Craftimizer.Test.csproj index a9afa57..b3b1c83 100644 --- a/Test/Craftimizer.Test.csproj +++ b/Test/Craftimizer.Test.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable false