diff --git a/AquaMai/AquaMai.csproj b/AquaMai/AquaMai.csproj
index b7f6d42b..452e1630 100644
--- a/AquaMai/AquaMai.csproj
+++ b/AquaMai/AquaMai.csproj
@@ -269,6 +269,7 @@
+
diff --git a/AquaMai/AquaMai.toml b/AquaMai/AquaMai.toml
index c82559c4..4e3816fe 100644
--- a/AquaMai/AquaMai.toml
+++ b/AquaMai/AquaMai.toml
@@ -12,10 +12,12 @@ TicketUnlock=true
SkipWarningScreen=true
# Single player: Show 1P only, at the center of the screen
SinglePlayer=true
-# !!EXPERIMENTAL!! Skip from the card-scanning screen directly to the music selection screen
+# !!EXPERIMENTAL!! Skip from the card-scanning screen directly to music selection screen
SkipToMusicSelection=false
+# Set the version string displayed at the top-right corner of the screen
+CustomVersionString=""
[Performance]
# Disable some useless checks and delays to speed up the game boot process
# !! Known issue: The game may crash if DX Pass scanning is enabled
-ImproveLoadSpeed=false
+ImproveLoadSpeed=false
\ No newline at end of file
diff --git a/AquaMai/Config.cs b/AquaMai/Config.cs
index 07c1b14b..3a4d39fc 100644
--- a/AquaMai/Config.cs
+++ b/AquaMai/Config.cs
@@ -19,6 +19,7 @@ namespace AquaMai
public bool SkipWarningScreen { get; set; }
public bool SinglePlayer { get; set; }
public bool SkipToMusicSelection { get; set; }
+ public string CustomVersionString { get; set; }
}
public class PerformanceConfig
diff --git a/AquaMai/Main.cs b/AquaMai/Main.cs
index a69e69aa..6a35b971 100644
--- a/AquaMai/Main.cs
+++ b/AquaMai/Main.cs
@@ -1,5 +1,6 @@
using System;
using AquaMai.Fix;
+using AquaMai.UX;
using MelonLoader;
using Tomlet;
@@ -77,6 +78,7 @@ namespace AquaMai
// Fixes that does not have side effects
// These don't need to be configurable
Patch(typeof(FixCharaCrash));
+ Patch(typeof(CustomVersionString));
MelonLogger.Msg("Loaded!");
}
diff --git a/AquaMai/UX/CustomVersionString.cs b/AquaMai/UX/CustomVersionString.cs
new file mode 100644
index 00000000..78282ea9
--- /dev/null
+++ b/AquaMai/UX/CustomVersionString.cs
@@ -0,0 +1,24 @@
+using HarmonyLib;
+
+namespace AquaMai.UX
+{
+ public class CustomVersionString
+ {
+ /*
+ * Patch displayVersionString Property Getter
+ */
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(MAI2System.Config), "displayVersionString", MethodType.Getter)]
+ public static bool GetDisplayVersionString(ref string __result)
+ {
+ if (string.IsNullOrEmpty(AquaMai.AppConfig.UX.CustomVersionString))
+ {
+ return true;
+ }
+
+ __result = AquaMai.AppConfig.UX.CustomVersionString;
+ // Return false to block the original method
+ return false;
+ }
+ }
+}
\ No newline at end of file