From b403189afbb44208edb95c55c1e505168ccb4431 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 7 Feb 2024 02:38:36 -0500 Subject: [PATCH] [+] Config --- AquaMai/.gitignore | 3 ++- AquaMai/AquaMai.csproj | 13 ++++++++++++- AquaMai/AquaMai.toml | 7 +++++++ AquaMai/Config.cs | 15 +++++++++++++++ AquaMai/Main.cs | 17 ++++++++++++++--- .../SkipWarningScreen.cs} | 4 ++-- AquaMai/packages.config | 4 ++++ 7 files changed, 56 insertions(+), 7 deletions(-) create mode 100644 AquaMai/AquaMai.toml create mode 100644 AquaMai/Config.cs rename AquaMai/{CutsceneSkipping.cs => UX/SkipWarningScreen.cs} (88%) create mode 100644 AquaMai/packages.config diff --git a/AquaMai/.gitignore b/AquaMai/.gitignore index 4d8e37ca..d2f23041 100644 --- a/AquaMai/.gitignore +++ b/AquaMai/.gitignore @@ -372,4 +372,5 @@ MigrationBackup/ Output .idea -Libs/Assembly-CSharp.dll \ No newline at end of file +Libs/Assembly-CSharp.dll +packages \ No newline at end of file diff --git a/AquaMai/AquaMai.csproj b/AquaMai/AquaMai.csproj index 7fd4c82b..036b65f7 100644 --- a/AquaMai/AquaMai.csproj +++ b/AquaMai/AquaMai.csproj @@ -60,6 +60,9 @@ Libs\System.Xml.dll + + packages\Tomlyn.0.17.0\lib\netstandard2.0\Tomlyn.dll + Libs\Unity.Analytics.DataPrivacy.dll @@ -260,9 +263,17 @@ - + + + + + + + + + \ No newline at end of file diff --git a/AquaMai/AquaMai.toml b/AquaMai/AquaMai.toml new file mode 100644 index 00000000..60dd1bca --- /dev/null +++ b/AquaMai/AquaMai.toml @@ -0,0 +1,7 @@ + +# =================================== +# UX: User Experience Improvements +[UX] +# Skip the warning screen and logo shown after the POST sequence +SkipWarningScreen=1 + diff --git a/AquaMai/Config.cs b/AquaMai/Config.cs new file mode 100644 index 00000000..41399699 --- /dev/null +++ b/AquaMai/Config.cs @@ -0,0 +1,15 @@ +using System.Diagnostics.CodeAnalysis; + +namespace AquaMai +{ + [SuppressMessage("ReSharper", "ClassNeverInstantiated.Global")] + public class Config + { + public UXConfig UX { get; set; } + + public class UXConfig + { + public bool SkipWarningScreen { get; set; } + } + } +} \ No newline at end of file diff --git a/AquaMai/Main.cs b/AquaMai/Main.cs index 79b646e5..ad5f921a 100644 --- a/AquaMai/Main.cs +++ b/AquaMai/Main.cs @@ -1,5 +1,6 @@ -using MelonLoader; -using HarmonyLib; +using AquaMai.UX; +using MelonLoader; +using Tomlyn; namespace AquaMai { @@ -15,10 +16,20 @@ namespace AquaMai public class AquaMai : MelonMod { + public static Config AppConfig { get; private set; } + public override void OnInitializeMelon() { MelonLogger.Msg("OnApplicationStart"); - HarmonyLib.Harmony.CreateAndPatchAll(typeof(CutsceneSkipping)); + + // Read AquaMai.toml to load settings + AppConfig = Toml.ToModel("AquaMai.toml"); + + if (AppConfig.UX.SkipWarningScreen) + { + MelonLogger.Msg("Patching CutsceneSkipping"); + HarmonyLib.Harmony.CreateAndPatchAll(typeof(SkipWarningScreen)); + } } } } \ No newline at end of file diff --git a/AquaMai/CutsceneSkipping.cs b/AquaMai/UX/SkipWarningScreen.cs similarity index 88% rename from AquaMai/CutsceneSkipping.cs rename to AquaMai/UX/SkipWarningScreen.cs index 135d29c2..dd34bc0f 100644 --- a/AquaMai/CutsceneSkipping.cs +++ b/AquaMai/UX/SkipWarningScreen.cs @@ -1,9 +1,9 @@ using HarmonyLib; using Monitor; -namespace AquaMai +namespace AquaMai.UX { - public class CutsceneSkipping + public class SkipWarningScreen { /* * Patch PlayLogo to disable the warning screen diff --git a/AquaMai/packages.config b/AquaMai/packages.config new file mode 100644 index 00000000..3f81b7af --- /dev/null +++ b/AquaMai/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file