[PR] #28 from clansty: CustomVersionString

Feature: Custom version display string
tmp
Azalea 2024-04-10 15:36:51 -04:00 committed by GitHub
commit 2bf86423c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 32 additions and 2 deletions

View File

@ -269,6 +269,7 @@
<Compile Include="Performance\ImproveLoadSpeed.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

@ -12,8 +12,10 @@ 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

View File

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

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