From ec2105d0a9b494792de1bbf1206ec4ef351b215a Mon Sep 17 00:00:00 2001 From: StanR Date: Tue, 14 Jan 2025 14:15:25 +0500 Subject: [PATCH 1/2] Recreate difficulty calculator when changing mods to guarantee DHOs update --- PerformanceCalculatorGUI/Screens/SimulateScreen.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PerformanceCalculatorGUI/Screens/SimulateScreen.cs b/PerformanceCalculatorGUI/Screens/SimulateScreen.cs index 74996ffbb..6eff0ff24 100644 --- a/PerformanceCalculatorGUI/Screens/SimulateScreen.cs +++ b/PerformanceCalculatorGUI/Screens/SimulateScreen.cs @@ -579,6 +579,9 @@ private void modsChanged(ValueChangedEvent> mods) updateMissesTextboxes(); + // recreate calculators to update DHOs + createCalculators(); + modSettingChangeTracker = new ModSettingChangeTracker(mods.NewValue); modSettingChangeTracker.SettingChanged += m => { From be8b743556850b9c53615388ff517fa93c71417c Mon Sep 17 00:00:00 2001 From: StanR Date: Wed, 15 Jan 2025 18:21:30 +0500 Subject: [PATCH 2/2] Recreate calculators when changing mod settings too, fix textbox update being done outside of debouncing --- PerformanceCalculatorGUI/Screens/SimulateScreen.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PerformanceCalculatorGUI/Screens/SimulateScreen.cs b/PerformanceCalculatorGUI/Screens/SimulateScreen.cs index 6eff0ff24..83b258fe3 100644 --- a/PerformanceCalculatorGUI/Screens/SimulateScreen.cs +++ b/PerformanceCalculatorGUI/Screens/SimulateScreen.cs @@ -585,10 +585,11 @@ private void modsChanged(ValueChangedEvent> mods) modSettingChangeTracker = new ModSettingChangeTracker(mods.NewValue); modSettingChangeTracker.SettingChanged += m => { - updateMissesTextboxes(); debouncedStatisticsUpdate?.Cancel(); debouncedStatisticsUpdate = Scheduler.AddDelayed(() => { + createCalculators(); + updateMissesTextboxes(); calculateDifficulty(); calculatePerformance(); }, 100);