diff --git a/.github/workflows/aquamai.yaml b/.github/workflows/aquamai.yaml index 6bafbc81..489f6eca 100644 --- a/.github/workflows/aquamai.yaml +++ b/.github/workflows/aquamai.yaml @@ -29,7 +29,7 @@ jobs: run: | copy /y build-assets\SDEZ\* AquaMai\Libs cd AquaMai - dotnet build -c Release + dotnet build -c Release /p:DefineConstants="CI" - name: Make example config shell: cmd diff --git a/AquaMai/Helpers/MessageHelper.cs b/AquaMai/Helpers/MessageHelper.cs index 0d66c603..348ddd95 100644 --- a/AquaMai/Helpers/MessageHelper.cs +++ b/AquaMai/Helpers/MessageHelper.cs @@ -17,7 +17,7 @@ public class MessageHelper _genericManager = genericManager; } - public static void ShowMessage(string message, WindowSizeID size = WindowSizeID.Middle) + public static void ShowMessage(string message, WindowSizeID size = WindowSizeID.Middle, string title = null) { if (_genericManager is null) { @@ -27,7 +27,9 @@ public class MessageHelper _genericManager.Enqueue(0, WindowMessageID.CollectionAttentionEmptyFavorite, new WindowParam() { - hideTitle = true, + hideTitle = title is null, + replaceTitle = true, + title = title, replaceText = true, text = message, changeSize = true, diff --git a/AquaMai/Main.cs b/AquaMai/Main.cs index 79798272..8efe9559 100644 --- a/AquaMai/Main.cs +++ b/AquaMai/Main.cs @@ -188,6 +188,9 @@ namespace AquaMai Patch(typeof(TestProof)); Patch(typeof(PractiseMode)); Patch(typeof(HideSelfMadeCharts)); +# if CI + Patch(typeof(CiBuildAlert)); +# endif // Apply patches based on the settings ApplyPatches(); @@ -198,6 +201,11 @@ namespace AquaMai MelonLogger.Warning("==========================================================================="); } +# if CI + MelonLogger.Warning(Locale.CiBuildAlertTitle); + MelonLogger.Warning(Locale.CiBuildAlertContent); +# endif + MelonLogger.Msg(Locale.Loaded); } diff --git a/AquaMai/Resources/Locale.Designer.cs b/AquaMai/Resources/Locale.Designer.cs index 75e6ae87..06c8962b 100644 --- a/AquaMai/Resources/Locale.Designer.cs +++ b/AquaMai/Resources/Locale.Designer.cs @@ -59,6 +59,24 @@ namespace AquaMai.Resources { } } + /// + /// Looks up a localized string similar to You are using AquaMai CI build version. This version is built from the latest mainline code and may contain undocumented configuration changes or potential issues.. + /// + internal static string CiBuildAlertContent { + get { + return ResourceManager.GetString("CiBuildAlertContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Important Notice: Test Version. + /// + internal static string CiBuildAlertTitle { + get { + return ResourceManager.GetString("CiBuildAlertTitle", resourceCulture); + } + } + /// /// Looks up a localized string similar to Loaded!. /// diff --git a/AquaMai/Resources/Locale.resx b/AquaMai/Resources/Locale.resx index 6358fab1..080b297c 100644 --- a/AquaMai/Resources/Locale.resx +++ b/AquaMai/Resources/Locale.resx @@ -95,4 +95,10 @@ Repeat end time cannot be less than repeat start time + + Important Notice: Test Version + + + You are using AquaMai CI build version. This version is built from the latest mainline code and may contain undocumented configuration changes or potential issues. + diff --git a/AquaMai/Resources/Locale.zh.resx b/AquaMai/Resources/Locale.zh.resx index 194d5006..eee9d712 100644 --- a/AquaMai/Resources/Locale.zh.resx +++ b/AquaMai/Resources/Locale.zh.resx @@ -88,4 +88,10 @@ 请先设置循环开始时间 + + 重要提示:测试版本 + + + 您正在使用的是 AquaMai CI 构建版本。由于该版本基于最新的主线代码构建,可能包含未通知的配置文件变更或潜在问题。 + diff --git a/AquaMai/UX/CiBuildAlert.cs b/AquaMai/UX/CiBuildAlert.cs new file mode 100644 index 00000000..b6c2e307 --- /dev/null +++ b/AquaMai/UX/CiBuildAlert.cs @@ -0,0 +1,16 @@ +using AquaMai.Helpers; +using AquaMai.Resources; +using HarmonyLib; +using Process; + +namespace AquaMai.UX; + +public class CiBuildAlert +{ + [HarmonyPatch(typeof(AdvertiseProcess), "OnStart")] + [HarmonyPostfix] + public static void OnStart(AdvertiseProcess __instance) + { + MessageHelper.ShowMessage(Locale.CiBuildAlertContent, title: Locale.CiBuildAlertTitle); + } +}