Closes https://github.com/ppy/osu/issues/33465 probably.
This reverts the replay frame de-duplication logic to what it was before
https://github.com/ppy/osu/pull/33148#discussion_r2091549388.
I don't have good reproduction steps. I tried to write a test case for
this that isn't just "press and release a key in the same frame",
thinking that maybe there was some loophole in the osu! touch input
mapper that may produce this situation artificially, but I could not in
many configurations. So I have to assume that this just *can happen*
organically.
This is terrible but I sincerely believe that anything else trying to do
this "properly" would be as terrible if not more.
- You can try to handle touch events in `MainMenu` but then you'd have
to awkwardly still manually hand them off to mouse handlers of the
logo / menu button in a weird way for them to do what they're supposed
to be doing. So any fix here would likely be smeared across `OsuLogo`
and `MainMenuButton` anyway.
- The logic in
https://github.com/ppy/osu/blob/278a372a907c22f04fe28289c305ef47d5bcef45/osu.Game/Screens/Menu/MainMenu.cs#L517-L520
fundamentally doesn't work with raw touch events because it doesn't
check for active touches (easy part) and because drawables do not
become "hovered" in the input manager from being touched (hard part)
I'm not willing to spend any more time on this.
Closes https://github.com/ppy/osu/issues/33444.
The issue here is that for a set of required mods to make sense in the
context of a freestyle playlist item, it must be consistently either
valid or invalid *as a combination* across all four default rulesets,
because freestyle also permits changing ruleset. There are two
pertinent cases here:
- Flashlight and Hidden are compatible in osu!, taiko, and catch, but
not compatible in mania. In this case I've disallowed both mods
because of symmetry, basically - I don't see one "better mod" to
disallow here.
- Accuracy Challenge and Easy are incompatible in osu!, catch, and mania
(because the mod gives extra lives) there, but *compatible* in taiko,
where it does not. In this case I've disallowed Accuracy Challenge
only, because I find its value in being forced on a freestyle room
to be much smaller than Easy's.
In the large scale of things I don't see this being very important
because my view is that 99% of the use case of required mods in
freestyle is going to be changing the track speed. So I don't think
anyone is going to care about this going away - but we can reassess if
I'm proven wrong.
This avoids needless web requests / server load, but also improves the
placeholder display. It used to update during ruleset changes three (or
more) times since it had no debounce and was reacting to multiple
changes. This is no longer the case.