mirror of
https://github.com/ppy/osu.git
synced 2026-05-17 13:23:00 +08:00
67041254db
Addresses https://github.com/ppy/osu/discussions/35182. The source as it is would have you believe that this is correct and intentional but I'm not so sure about that. For one thing, I cross-checked stable, and sure, missing tiny droplets does change the state to fail over there. For another, the guard in master at https://github.com/ppy/osu/blob/5e642cbce72862b29b117829e7ec90d6d6b0ce1e/osu.Game.Rulesets.Catch/UI/Catcher.cs#L250 is very suspicious, given that it is dead in cause of tiny droplets because of a preceding guard: https://github.com/ppy/osu/blob/5e642cbce72862b29b117829e7ec90d6d6b0ce1e/osu.Game.Rulesets.Catch/UI/Catcher.cs#L227-L228 Looking into blame, the tiny droplet guard originates ate7f1f0f38b, wherein it looks to have been aimed at handling *hyperdash* state specifically. Later, the logic has been moved around and around like five times; at7069cef9ce, the catcher animation logic was added *below* the hyperdash-aimed guard without the comment being updated in any way;5a5c956cedmoved the logic from `CatcherArea` to `Catcher`, while simultaneously changing the inline comment to no longer mention hyperdashing; and finally,1d669cf65eadded specific testing of tiny droplets not changing catcher animation state, which I wager to be back-engineered from the implementation as-it-was rather than supported by any actual ground truth. For additional reference: - catcher animation logic in stable is at https://github.com/peppy/osu-stable-reference/blob/67795dba3c308e7d0493b296149dcb073ca47ecb/osu!/GameModes/Play/Rulesets/Fruits/RulesetFruits.cs#L411-L463 - hyperdash application logic in stable is at https://github.com/peppy/osu-stable-reference/blob/67795dba3c308e7d0493b296149dcb073ca47ecb/osu!/GameModes/Play/Rulesets/Fruits/RulesetFruits.cs#L165-L171
67041254db
·
2025-10-03 14:52:33 +02:00
History