[+] Custom version string feature

pull/28/head
Clansty 2024-04-08 14:59:54 +08:00
parent 2630d32764
commit d8fc14e71b
5 changed files with 31 additions and 1 deletions

View File

@ -268,6 +268,7 @@
<Compile Include="Fix\FixCharaCrash.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Main.cs" />
<Compile Include="UX\CustomVersionString.cs" />
<Compile Include="UX\SinglePlayer.cs" />
<Compile Include="UX\SkipWarningScreen.cs" />
<Compile Include="UX\SkipToMusicSelection.cs" />

View File

@ -13,4 +13,6 @@ SkipWarningScreen=true
# Single player: Show 1P only, at the center of the screen
SinglePlayer=true
# !!EXPERIMENTAL!! Skip from the card-scanning screen directly to music selection screen
SkipToMusicSelection=false
SkipToMusicSelection=false
# Set the version string displayed at the top-right corner of the screen
CustomVersionString=""

View File

@ -18,6 +18,7 @@ namespace AquaMai
public bool SkipWarningScreen { get; set; }
public bool SinglePlayer { get; set; }
public bool SkipToMusicSelection { get; set; }
public string CustomVersionString { get; set; }
}
}
}

View File

@ -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!");
}

View File

@ -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;
}
}
}