Bartłomiej Dach
7ba07ab530
Add protections against handling system mods in mod presets
2023-11-06 08:05:42 +01:00
Bartłomiej Dach
adb9ca5a13
Add failing test coverage for incorrect treatment of TD in mod presets
2023-11-06 07:56:09 +01:00
Bartłomiej Dach
3c72c5bccd
Steer touch input flag via bindable rather than config manager
2023-11-06 07:48:09 +01:00
Bartłomiej Dach
11bd801795
Use more intelligent default for TouchInputActive
2023-11-06 07:44:25 +01:00
Bartłomiej Dach
febd004bda
Merge branch 'master' into less-basic-touchscreen-detection
2023-11-06 07:41:35 +01:00
Dan Balasescu
bc9cdb4ce0
Merge pull request #25341 from peppy/slider-combo-matching
...
Rename and invert flags for slider classic behaviours
2023-11-03 11:27:22 +09:00
Bartłomiej Dach
a78fab0e7d
Do not hardcode ruleset name in touch device detection toast
2023-11-03 00:17:29 +01:00
Bartłomiej Dach
a613292802
Fix unknown mod test failure
2023-11-02 23:44:40 +01:00
Bartłomiej Dach
8e9006b5d5
Declare Touch Device incompatible with Autopilot
...
With Autopilot active, Touch Device no longer matters.
2023-11-02 22:57:05 +01:00
Bartłomiej Dach
0dd0a84312
Move player touch handler to SubmittingPlayer
...
Shouldn't be there in `ReplayPlayer`.
2023-11-02 22:56:43 +01:00
Bartłomiej Dach
8784dd42c0
Do not attempt to turn on Touch Device in song select with autoplay active
2023-11-02 22:56:43 +01:00
Bartłomiej Dach
d25b54c06d
Split test into two
...
They would fail on CI when written as one, and I don't care why.
2023-11-02 22:14:38 +01:00
Bartłomiej Dach
3a6d65d395
Touch up PlayerTouchInputHandler
2023-11-02 21:24:58 +01:00
Bartłomiej Dach
4532d0ecdf
Add logging & debug facility for touch input interceptor
2023-11-02 21:24:58 +01:00
Bartłomiej Dach
c588f434e5
Fix song select touch handler causing crashes when song select is suspended
2023-11-02 21:24:58 +01:00
Bartłomiej Dach
ef555ed0cf
Fix test failures
2023-11-02 21:24:58 +01:00
Bartłomiej Dach
21a4da463b
Add failing test covering crash scenario
2023-11-02 21:24:58 +01:00
Bartłomiej Dach
f2df02b60f
Automatically activate touch device mod in player
2023-11-02 21:24:58 +01:00
Bartłomiej Dach
29d4d81eaa
Add test scene for basic touchscreen detection scenarios
2023-11-02 21:24:58 +01:00
Bartłomiej Dach
2f6ff893b5
Automatically activate and deactivate touch device mod in song select
2023-11-02 19:45:48 +01:00
Bartłomiej Dach
980c900f43
Add component for game-wide touch detection
2023-11-02 19:32:56 +01:00
Bartłomiej Dach
68efb3c110
Mark ModTouchDevice
as always valid for submission
2023-11-02 19:25:57 +01:00
Bartłomiej Dach
9f11a04cc7
Generalise notion of 'touch device' mod
2023-11-02 19:14:05 +01:00
Bartłomiej Dach
a0757ce13f
Update xmldoc to match flipped flag semantics
2023-11-02 18:58:14 +01:00
Bartłomiej Dach
86ede717cb
Clean up comment
2023-11-02 18:52:47 +01:00
Dean Herbert
ac6fb386d1
Remove nested ternary
2023-11-02 23:42:52 +09:00
Bartłomiej Dach
efb4458061
Merge pull request #25336 from peppy/mania-key-expand-mobile
...
Add support for "argon" default skin to expand columns when on mobile devices
2023-11-02 12:40:57 +01:00
Bartłomiej Dach
998d709331
Merge branch 'master' into mania-key-expand-mobile
2023-11-02 11:59:01 +01:00
Dean Herbert
704f5a6de3
Adjust sizing slightly to ensure we stay within 1366 limits
2023-11-02 11:44:36 +01:00
Bartłomiej Dach
e18d0b64de
Merge pull request #25338 from peppy/mania-mod-ordering
...
Change osu!mania conversion mod ordering to be more appeasing
2023-11-02 10:46:32 +01:00
Dean Herbert
bf9f20705f
Simplify classic behaviour flag to only need to be specified on the slider itself
2023-11-02 18:31:29 +09:00
Dean Herbert
a7705284e7
Add better commenting around DrawableSliderHead
logic
2023-11-02 18:31:28 +09:00
Dean Herbert
9af2a5930c
Remove redundant passing of Scale
to nested objects
2023-11-02 17:52:10 +09:00
Dean Herbert
9c1f4b552e
Rename and invert flags for slider classic behaviours
2023-11-02 17:43:21 +09:00
Bartłomiej Dach
64feea80db
Merge pull request #25334 from peppy/fix-bubble-crash-again
...
Fix another potential crash in bubbles mod
2023-11-02 09:32:09 +01:00
Bartłomiej Dach
b7ab886848
Merge pull request #25333 from peppy/fix-spinner-performance
...
Fix all spinner ticks being alive and causing performance degradation
2023-11-02 09:07:44 +01:00
Bartłomiej Dach
ad82ada030
Trim redundant comments
2023-11-02 08:18:37 +01:00
Dean Herbert
c83589cb74
Change osu!mania conversion mod ordering to be more appeasing
2023-11-02 15:49:10 +09:00
Dean Herbert
6dab5ee4cf
Add support for "argon" default skin to expand columns when on mobile device
...
Should ease those looking to play the game on mobile until we
(potentially) have a better solution in the future.
If this works out well, we can consider rolling it out to other skins.
Closes https://github.com/ppy/osu/issues/23377 .
2023-11-02 15:13:44 +09:00
Dean Herbert
48bdeaeff1
Fix another potential crash in bubbles mod
...
Storing `DrawableHitObject` for later use is not safe – especially
when accessing `HitObject` – as it's a pooled class. In the case here,
it's important to note that `PrepareForUse` can be called a frame or
more later in execution, which made this unsafe.
Closes https://github.com/ppy/osu/issues/24444 .
2023-11-02 02:43:51 +09:00
Dean Herbert
c2de03aa44
Fix all spinner ticks being alive and causing performance degradation
...
Regressed in https://github.com/ppy/osu/pull/25216 .
The new logic will ensure at least one tick is ready for judgement.
There shouldn't be a case where more than one is needed in a single
frame.
2023-11-01 18:28:07 +09:00
Dean Herbert
57d8b5ddc9
Merge pull request #25328 from bdach/mod-cleanups-docs
...
Clean up mod usability flags
2023-11-01 15:48:47 +09:00
Bartłomiej Dach
a90f8dd4f6
Seal a few more multiplayer playability flags of rate-changing mods
...
Not really changing anything, just tightening things down to curb
possible funny business.
2023-10-31 16:20:33 +01:00
Bartłomiej Dach
955e2ed051
Seal UnknownMod
...
Not a class for extension.
2023-10-31 16:18:09 +01:00
Bartłomiej Dach
a644c75957
Mark ModScoreV2
as invalid for multiplayer
...
Doesn't do much for the client; mostly a safety for osu-web's sake,
as without the change it could theoretically fail to validate the mod
properly in multiplayer contexts.
2023-10-31 16:16:59 +01:00
Bartłomiej Dach
456f4ebba2
Seal ModScoreV2
...
Nobody should ever need to extend it.
2023-10-31 16:16:14 +01:00
Bartłomiej Dach
3a2645efb1
Seal ModAutoplay
playability flags
...
Can't do much more than that due to the unfortunate fact of Cinema
inheriting from Autoplay.
2023-10-31 16:15:10 +01:00
Bartłomiej Dach
7ea298a1b6
Add xmldoc to Mod
playability flags
2023-10-31 16:13:44 +01:00
Dean Herbert
95d8ee8e9b
Merge pull request #25323 from bdach/fix-key-binding-test-failures
...
Fix key binding row fire-and-forgetting writes
2023-10-31 22:13:42 +09:00
Bartłomiej Dach
9f5a280bc2
Fix key binding row fire-and-forgetting writes
...
Intends to fix test failures as seen in https://github.com/ppy/osu/actions/runs/6692350567/job/18181352642#step:5:129
This is what happens if you carelessly fire and forget.
The working theory (that I'm not sure I have the tools to conclusively
confirm) is that the async write from the key binding changing could
fire _after_ the section is reset.
I briefly considered having the test wait for the change, but given that
the entirety of the surrounding flow is using sync operations, this just
looks like a bug to me. And there's no real sane way to inject async
into that flow due to dependence on `OsuButton.Action`.
2023-10-31 12:25:09 +01:00