From 4203b1ce7e5be4092d8d1bc5bcc651471defe116 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91?= Date: Thu, 23 Jan 2025 00:47:12 +0800 Subject: [PATCH] [O] Better Skip TrackStart screen (#12) * [O]: Better Skip TrackStart screen * add SoundManager.PreviewEnd(); * TrackStartProcess.TrackStartSequence --------- Co-authored-by: Clansty --- .../Tweaks/TimeSaving/SkipTrackStart.cs | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/AquaMai.Mods/Tweaks/TimeSaving/SkipTrackStart.cs b/AquaMai.Mods/Tweaks/TimeSaving/SkipTrackStart.cs index 625cfe32..06e5494a 100644 --- a/AquaMai.Mods/Tweaks/TimeSaving/SkipTrackStart.cs +++ b/AquaMai.Mods/Tweaks/TimeSaving/SkipTrackStart.cs @@ -1,6 +1,7 @@ using AquaMai.Config.Attributes; using HarmonyLib; -using Monitor; +using Manager; +using Process; namespace AquaMai.Mods.Tweaks.TimeSaving; @@ -9,11 +10,20 @@ namespace AquaMai.Mods.Tweaks.TimeSaving; zh: "跳过乐曲开始界面")] public class SkipTrackStart { - [HarmonyPrefix] - [HarmonyPatch(typeof (TrackStartMonitor), "IsEnd")] - public static bool IsEnd(ref bool __result) + [HarmonyPostfix] + [HarmonyPatch(typeof (TrackStartProcess), "OnStart")] + public static void OnStart(ref TrackStartProcess.TrackStartSequence ____state) { - __result = true; + ____state = TrackStartProcess.TrackStartSequence.DispEnd; + } + + [HarmonyPrefix] + [HarmonyPatch(typeof (MusicSelectProcess), "GameStart")] + public static bool GameStart(MusicSelectProcess __instance, ProcessDataContainer ___container) + { + ___container.processManager.AddProcess(new TrackStartProcess(___container), 50); + ___container.processManager.ReleaseProcess(__instance); + SoundManager.PreviewEnd(); return false; } }