diff --git a/AquaMai/AquaMai.csproj b/AquaMai/AquaMai.csproj index 14c15867..e0ae62e0 100644 --- a/AquaMai/AquaMai.csproj +++ b/AquaMai/AquaMai.csproj @@ -304,6 +304,7 @@ DEBUG + @@ -342,6 +343,7 @@ DEBUG + diff --git a/AquaMai/AquaMai.toml b/AquaMai/AquaMai.toml index 736c1c8d..262b6f09 100644 --- a/AquaMai/AquaMai.toml +++ b/AquaMai/AquaMai.toml @@ -59,6 +59,8 @@ CustomNoteSkin=false # Hide "TRACK X" text and DX/Standard chart display box # For recording chart confirmation TrackStartProcessTweak=false +# Cannot be used together with HanabiFix +HideHanabi=false [Fix] # Allow login with higher data version @@ -79,6 +81,8 @@ FontFix=true # Make the Critical judgment of BreakSlide flash like BreakTap # Align the judgment display of arc-shaped Slide with the judgment line accurately (it was slightly off before) SlideJudgeTweak=true +# Cannot be used together with HideHanabi +HanabiFix=false [Utils] # Log user ID on login diff --git a/AquaMai/AquaMai.zh.toml b/AquaMai/AquaMai.zh.toml index 77977f97..af6546e9 100644 --- a/AquaMai/AquaMai.zh.toml +++ b/AquaMai/AquaMai.zh.toml @@ -68,6 +68,9 @@ CustomNoteSkin=false # 隐藏“TRACK X”字样和 DX/标准谱面的显示框 # 录制谱面确认用 TrackStartProcessTweak=false +# 完全隐藏烟花 +# 不能和 HanabiFix 一起使用 +HideHanabi=false # =================================== # 修复一些潜在的问题 @@ -95,6 +98,9 @@ FontFix=true # 让 BreakSlide 的 Critical 判定也可以像 BreakTap 一样闪烁 # 让圆弧形的 Slide 的判定显示与判定线精确对齐 (原本会有一点歪) SlideJudgeTweak=true +# 修复 1p 模式下的烟花大小 +# 不能和 HideHanabi 一起使用 +HanabiFix=true [Utils] # 登录时将 UserID 输出到日志 diff --git a/AquaMai/Config.cs b/AquaMai/Config.cs index 6c4eb180..de88c4d0 100644 --- a/AquaMai/Config.cs +++ b/AquaMai/Config.cs @@ -41,6 +41,7 @@ public class UXConfig public bool CustomFont { get; set; } public bool CustomNoteSkin { get; set; } public bool TrackStartProcessTweak { get; set; } + public bool HideHanabi { get; set; } public string CustomVersionString { get; set; } = ""; public string CustomPlaceName { get; set; } = ""; public string ExecOnIdle { get; set; } = ""; @@ -58,6 +59,7 @@ public class FixConfig public bool FrameRateLock { get; set; } public bool FontFix { get; set; } public bool SlideJudgeTweak { get; set; } + public bool HanabiFix { get; set; } } public class UtilsConfig diff --git a/AquaMai/Fix/HanabiFix.cs b/AquaMai/Fix/HanabiFix.cs new file mode 100644 index 00000000..429037fa --- /dev/null +++ b/AquaMai/Fix/HanabiFix.cs @@ -0,0 +1,20 @@ +using Fx; +using HarmonyLib; +using Monitor; +using UnityEngine; + +namespace AquaMai.Fix; + +public class HanabiFix +{ + [HarmonyPatch(typeof(TapCEffect), "SetUpParticle")] + [HarmonyPostfix] + public static void FixMaxSize(TapCEffect __instance, FX_Mai2_Note_Color ____particleControler) + { + var entities = ____particleControler.GetComponentsInChildren(true); + foreach (var entity in entities) + { + entity.maxParticleSize = 1f; + } + } +} diff --git a/AquaMai/UX/HideHanabi.cs b/AquaMai/UX/HideHanabi.cs new file mode 100644 index 00000000..4a3a6819 --- /dev/null +++ b/AquaMai/UX/HideHanabi.cs @@ -0,0 +1,20 @@ +using Fx; +using HarmonyLib; +using Monitor; +using UnityEngine; + +namespace AquaMai.UX; + +public class HideHanabi +{ + [HarmonyPatch(typeof(TapCEffect), "SetUpParticle")] + [HarmonyPostfix] + public static void FixZeroSize(TapCEffect __instance, FX_Mai2_Note_Color ____particleControler) + { + var entities = ____particleControler.GetComponentsInChildren(true); + foreach (var entity in entities) + { + entity.maxParticleSize = 0f; + } + } +}