osu/osu.Game.Rulesets.Catch
Bartłomiej Dach fcb6f40666
Prioritise hyperfruit over non-hyperfruit if simultaneous
In case of simultaneous hyperfruit and non-hyperfruit - which happen to
occur on some aspire maps - the desired behaviour is to hyperdash. This
did not previously occur, due to annoying details in how
`HitObjectContainer` is structured.

`HitObjectContainer`'s drawable comparer determines the order of
updating the objects. One could say that forcing the hyperfruit to be
updated last, after normal fruit, could help; unfortunately this is
complicated by the existence of juice streams and the fact that while a
juice stream can be terminated by a normal fruit that is coincidental
with a hyperfruit, the two are not comparable directly using the
comparer in any feasible way.

Therefore, apply a `Catcher`-level workaround that intends to handle
this locally; in short, if a hyperdash was toggled in a given frame, it
cannot be toggled off again in the same frame. This yields the desired
behaviour.
2023-12-04 09:30:18 +01:00
..
Beatmaps Merge branch 'master' into catch-hyperdash-stable-sort 2023-12-04 09:05:42 +01:00
Difficulty Merge branch 'master' into catch-hyperdash-stable-sort 2023-12-04 09:05:42 +01:00
Edit Generalize Bezier curves to BSplines of Nth degree 2023-11-11 13:32:53 +01:00
Judgements Remove #nullable disable from Catch.Judgements 2023-01-15 17:29:32 +09:00
Mods Fix Floating Fruits not flipping playfield properly 2023-10-19 19:47:49 +02:00
Objects Add note about shared code 2023-11-24 10:25:23 +09:00
Properties Remove #nullable disable from misc Catch files 2023-01-15 17:29:35 +09:00
Replays
Resources/Testing/Beatmaps
Scoring Adjust catch score grade cutoffs 2023-11-29 19:05:31 +09:00
Skinning Fix legacy catcher sprites getting shrunk 2023-10-10 01:26:59 +03:00
UI Prioritise hyperfruit over non-hyperfruit if simultaneous 2023-12-04 09:30:18 +01:00
CatchInputManager.cs
CatchRuleset.cs Actually use CatchHealthProcessor for the ruleset 2023-11-24 13:49:28 +09:00
CatchSkinComponentLookup.cs
CatchSkinComponents.cs
osu.Game.Rulesets.Catch.csproj