diff --git a/AccuracyIndicator/AccuracyIndicator.csproj b/AccuracyIndicator/AccuracyIndicator.csproj
index eb9c60f..3323096 100644
--- a/AccuracyIndicator/AccuracyIndicator.csproj
+++ b/AccuracyIndicator/AccuracyIndicator.csproj
@@ -8,7 +8,6 @@
latest
enable
disable
- C:\Program Files (x86)\Steam\steamapps\common\Muse Dash
@@ -18,66 +17,66 @@
- $(ReferencePath)\MelonLoader\net6\0Harmony.dll
+ $(MD_DIRECTORY)\MelonLoader\net6\0Harmony.dll
False
- $(ReferencePath)\MelonLoader\Il2CppAssemblies\Assembly-CSharp.dll
+ $(MD_DIRECTORY)\MelonLoader\Il2CppAssemblies\Assembly-CSharp.dll
False
- $(ReferencePath)\MelonLoader\net6\Il2CppInterop.Runtime.dll
+ $(MD_DIRECTORY)\MelonLoader\net6\Il2CppInterop.Runtime.dll
False
- $(ReferencePath)\MelonLoader\Il2CppAssemblies\Il2Cppmscorlib.dll
+ $(MD_DIRECTORY)\MelonLoader\Il2CppAssemblies\Il2Cppmscorlib.dll
False
- $(ReferencePath)\MelonLoader\Il2CppAssemblies\Il2CppSirenix.Serialization.dll
+ $(MD_DIRECTORY)\MelonLoader\Il2CppAssemblies\Il2CppSirenix.Serialization.dll
False
- $(ReferencePath)\MelonLoader\net6\MelonLoader.dll
+ $(MD_DIRECTORY)\MelonLoader\net6\MelonLoader.dll
False
- $(ReferencePath)\MelonLoader\net6\Tomlet.dll
+ $(MD_DIRECTORY)\MelonLoader\net6\Tomlet.dll
False
- C:\Program Files (x86)\Steam\steamapps\common\Muse Dash\MelonLoader\Il2CppAssemblies\Unity.Addressables.dll
+ $(MD_DIRECTORY)\MelonLoader\Il2CppAssemblies\Unity.Addressables.dll
False
- C:\Program Files (x86)\Steam\steamapps\common\Muse Dash\MelonLoader\Il2CppAssemblies\Unity.ResourceManager.dll
+ $(MD_DIRECTORY)\MelonLoader\Il2CppAssemblies\Unity.ResourceManager.dll
False
- $(ReferencePath)\MelonLoader\Il2CppAssemblies\UnityEngine.CoreModule.dll
+ $(MD_DIRECTORY)\MelonLoader\Il2CppAssemblies\UnityEngine.CoreModule.dll
False
- $(ReferencePath)\MelonLoader\Il2CppAssemblies\UnityEngine.InputLegacyModule.dll
+ $(MD_DIRECTORY)\MelonLoader\Il2CppAssemblies\UnityEngine.InputLegacyModule.dll
False
- C:\Program Files (x86)\Steam\steamapps\common\Muse Dash\MelonLoader\Il2CppAssemblies\UnityEngine.TextRenderingModule.dll
+ $(MD_DIRECTORY)\MelonLoader\Il2CppAssemblies\UnityEngine.TextRenderingModule.dll
False
- $(ReferencePath)\MelonLoader\Il2CppAssemblies\UnityEngine.UI.dll
+ $(MD_DIRECTORY)\MelonLoader\Il2CppAssemblies\UnityEngine.UI.dll
False
- C:\Program Files (x86)\Steam\steamapps\common\Muse Dash\MelonLoader\Il2CppAssemblies\UnityEngine.UIModule.dll
+ $(MD_DIRECTORY)\MelonLoader\Il2CppAssemblies\UnityEngine.UIModule.dll
False
-
-
+
+
diff --git a/AccuracyIndicator/Main.cs b/AccuracyIndicator/Main.cs
index a60e447..9810a37 100644
--- a/AccuracyIndicator/Main.cs
+++ b/AccuracyIndicator/Main.cs
@@ -1,5 +1,4 @@
using AccuracyIndicator.Indicator;
-using Tomlet;
using Object = UnityEngine.Object;
namespace AccuracyIndicator;
@@ -9,10 +8,11 @@ internal class Main : MelonMod
internal static GameObject ResultIndicator { get; set; }
internal static InGameIndicator GameIndicator { get; set; }
- public override void OnInitializeMelon() => Save.Load();
-
- public override void OnDeinitializeMelon() =>
- File.WriteAllText(Path.Combine("UserData", "AccuracyIndicator.cfg"), TomletMain.TomlStringFrom(Save.Settings));
+ public override void OnInitializeMelon()
+ {
+ base.OnInitializeMelon();
+ Save.Load();
+ }
public override void OnSceneWasUnloaded(int buildIndex, string sceneName)
{
diff --git a/AccuracyIndicator/MelonBuildInfo.cs b/AccuracyIndicator/MelonBuildInfo.cs
index 6f3752c..2a7b8e0 100644
--- a/AccuracyIndicator/MelonBuildInfo.cs
+++ b/AccuracyIndicator/MelonBuildInfo.cs
@@ -8,5 +8,5 @@ internal static class MelonBuildInfo
internal const string Author = "Azn9 & lxy";
- internal const string ModVersion = "2.0.2";
+ internal const string ModVersion = "2.1.0";
}
\ No newline at end of file
diff --git a/AccuracyIndicator/Patch/VictoryFailPatch.cs b/AccuracyIndicator/Patch/VictoryFailPatch.cs
index 2178c18..092aba5 100644
--- a/AccuracyIndicator/Patch/VictoryFailPatch.cs
+++ b/AccuracyIndicator/Patch/VictoryFailPatch.cs
@@ -24,7 +24,7 @@ private static void Postfix()
Object.Destroy(GameIndicator);
GameIndicator = null;
- if (!Save.Settings.ShowMeanDelay)
+ if (!Save.ShowMeanDelay)
{
return;
}
diff --git a/AccuracyIndicator/Save.cs b/AccuracyIndicator/Save.cs
index 78dee29..df74baf 100644
--- a/AccuracyIndicator/Save.cs
+++ b/AccuracyIndicator/Save.cs
@@ -1,33 +1,18 @@
-using Tomlet;
-using Tomlet.Attributes;
-
+using MelonLoader;
namespace AccuracyIndicator;
internal static class Save
{
- internal static Data Settings { get; private set; } = new();
+ private static MelonPreferences_Category accuracyIndicatorCategory;
+ private static MelonPreferences_Entry showMeanDelay;
- public static void Load()
- {
- if (!File.Exists(Path.Combine("UserData", "AccuracyIndicator.cfg")))
- {
- var defaultConfig = TomletMain.TomlStringFrom(new Data(true));
- File.WriteAllText(Path.Combine("UserData", "AccuracyIndicator.cfg"), defaultConfig);
- }
-
- var data = File.ReadAllText(Path.Combine("UserData", "AccuracyIndicator.cfg"));
- Settings = TomletMain.To(data);
- }
-}
+ internal static bool ShowMeanDelay => showMeanDelay.Value;
-public class Data
-{
- [TomlPrecedingComment("Whether show Mean Delay in Victory screen")]
- internal readonly bool ShowMeanDelay;
-
- public Data()
+ public static void Load()
{
+ accuracyIndicatorCategory = MelonPreferences.CreateCategory(MelonBuildInfo.Name);
+ accuracyIndicatorCategory.SetFilePath("UserData/AccuracyIndicator.cfg");
+ showMeanDelay = accuracyIndicatorCategory.CreateEntry("ShowMeanDelay", true,
+ "Victory screen mean delay", "Enables Mean Delay display in victory screen.");
}
-
- internal Data(bool showMeanDelay) => ShowMeanDelay = showMeanDelay;
}
\ No newline at end of file