TeamRizu / OutFox

The Bug Reporting Repository for OutFox LTS 0.4, Alpha V and Steam Early Access Builds
https://projectoutfox.com
Apache License 2.0
178 stars 3 forks source link

[BUG] On Pump Gamemode, if you hold a panel beforehand, Tap Notes close to a Long Note Head of the same panel will make the Tap Note unmissable #701

Open thedaryen opened 10 months ago

thedaryen commented 10 months ago

Is there an existing issue for this?

Operating System

Windows 11

CPU

i5 12600k

GPU

RTX 3070

Storage

1TB GAMMIX NVME SSD

Game Version

5.0.0-041

Game Mode

pump

Theme

Soundwaves and Infinitesimal

Describe the problem

Pump Long Notes work correctly on OutFox in the sense that they can be held beforehand and will always award you with Perfects for each tick as long as you're holding the correct panel, regardless of timing, or misses if you're not holding the correct panel.

However, it seems that the Checkpoint detection for Long Notes is interfering with nearby Tap Notes, causing them to also become "just hold the panel to get". Also, when the panel is held, it seems like these tap notes are awarding the user with either greats or perfects depending on proximity with the long note and bpm.

Describe what should happen

Tap Notes have to be pressed on time to earn positive judgements, regardless of how close they are to Long Notes. Holding a panel beforehand shouldn't affect this, the tap note should just return a Miss in this case. It's only the Long Notes that are supposed to be timing independent and award with perfects as long as the panel is held.

Relevant Log output

Chart used for this test was the Single 18 (Edit 18) chart on this ssc: https://github.com/SheepyChris/PIU-Simfiles/blob/main/05%20-%20NX~NX2/(1)%20E02%20-%20Beat%20the%20Ghost/E02%20-%20Beat%20the%20Ghost.ssc

I recorded some videos of the behavior both on gameplay and edit mode to help squash this.

Edit mode and brief explanation: https://www.youtube.com/watch?v=TYLF0S1JAAU Gameplay screen: https://www.youtube.com/watch?v=-E24IGmHg9s

thedaryen commented 10 months ago

Additional investigation done:

-> This does not happens if the tap notes close to the long note head are of a different button. Holding both the button from the long note and the tap note will not catch the tap note, it will miss. Only if they're the same button do the holding technique gets both tap and long.

-> This does not affect long note tails. So if I edit the above stepchart putting the tap note at the end of the long note and do the same "holding from beginning to end", the tap note will miss. The bug only happens when the tap is near the head.

-> While testing this, I came across a different issue related to long note behavior: it seems that the game is judging perfect/miss for each checkpoint independently for each button. So if you have a triple long note and only hold one button, you'll get the perfects from that button and miss from the others. On real Pump, when there are overlapping long notes of different buttons, it only gives you perfects if all of them are held at that tick. Otherwise, it's all miss. EDIT: this particular behavior is unrelated to the current issue, so I'll create a different issue report detailing it.

EDIT: as promised, here's the separate issue for the long note chord behavior https://github.com/TeamRizu/OutFox/issues/702

thedaryen commented 10 months ago

To help testing this, I'll provide you with a good test song: https://drive.google.com/file/d/10Qx7GQ5oadYQkwi64ha1yesRXG1sfICp/view?usp=sharing

This song has two iconic charts that are actually the same chart, with a slight difference: The S17 Hidden ( #CHARTNAME:Another Crazy; ) is the original chart which only features long notes. It became a meme because it was possible to FPC by just holding all the panels for the entire song. The S18 ( #CHARTNAME:XX S18; ) is the chart with a "fix" that was applied in Pump XX: they added a tap note right near every long note head, so you actually have to play the song.

Currently on OutFox, both charts can be cheesed by holding all the buttons because of the bug described in this issue.

I also took the time to test this on Stepmania 5.1 alpha 4 (default theme, pump gamemode) to see if this was a upstream issue, and both charts behave correctly there. S17 you can hold all buttons and get flawless on everything, S18 if you hold all notes you get misses every long note beginning because of the tap notes.