From 36c205c21d81c93d4235419b1de25596eea903ee Mon Sep 17 00:00:00 2001 From: Zpiboo Date: Sat, 4 Apr 2026 19:16:54 +0200 Subject: [PATCH 1/2] fix(timing): fix mirrored timings not working while their base form is in the input history --- .../main/java/io/github/kurrycat/mpkmod/ticks/Timing.java | 7 ++++++- .../io/github/kurrycat/mpkmod/ticks/TimingStorage.java | 7 +------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/ticks/Timing.java b/common/src/main/java/io/github/kurrycat/mpkmod/ticks/Timing.java index 892e6f01..e23fc34e 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/ticks/Timing.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/ticks/Timing.java @@ -55,7 +55,12 @@ public Match match(List inputList) { Match result = null; for (int i = 0; i < inputList.size() - 1; i++) { if (inputList.get(i).isStopTick() && !inputList.get(i + 1).isStopTick()) { - Match match = startsWithMatch(inputList.subList(i + 1, inputList.size())); + List inputSubList = inputList.subList(i + 1, inputList.size()); + Match match = startsWithMatch(inputSubList); + + if (match == null && isSymmetrical()) + match = getMirrored().startsWithMatch(inputSubList); + if (match != null) result = match; } diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/ticks/TimingStorage.java b/common/src/main/java/io/github/kurrycat/mpkmod/ticks/TimingStorage.java index d613afb9..5f22861c 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/ticks/TimingStorage.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/ticks/TimingStorage.java @@ -49,13 +49,8 @@ public static String match(List inputList) { List matches = new ArrayList<>(); for (Map.Entry entry : patterns.entrySet()) { Timing.Match match = entry.getValue().match(inputList); - - if (match == null && entry.getValue().isSymmetrical()) { - match = entry.getValue().getMirrored().match(inputList); - } - if (match != null) { + if (match != null) matches.add(match); - } } if (matches.isEmpty()) From 8a68182800344b8e3b65bd0b7182661548c7c384 Mon Sep 17 00:00:00 2001 From: Zpiboo Date: Mon, 6 Apr 2026 19:21:46 +0200 Subject: [PATCH 2/2] fix(timing): remove useless stop tick conditions --- .../main/java/io/github/kurrycat/mpkmod/ticks/TimingInput.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/ticks/TimingInput.java b/common/src/main/java/io/github/kurrycat/mpkmod/ticks/TimingInput.java index 7a42705b..f8ac47f9 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/ticks/TimingInput.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/ticks/TimingInput.java @@ -137,7 +137,7 @@ private static int findFirstButtonDiff(boolean[] curInputs, boolean[] aftInputs) } public boolean isStopTick() { - return inputVector.isStop() && !P && !N && G == GroundState.GROUNDED; + return inputVector.isStop() && G == GroundState.GROUNDED; } @Override