Commit Graph

51983 Commits

Author SHA1 Message Date
f6f24220c2 Fix LegacyScoreDecoderTest incorrectly comparing unset beatmap IDs
This has been wrong from the outside, but hidden by the fact that the
default values are equal. I've changed to MD5Hash which actually asserts
that the correct beatmap has likely arrived.

Found this in my realm changes, where it fails due to the beatmap ID
being a differing Guid in each case.
2022-01-08 15:28:13 +09:00
9e84e31eac Add score time to beatmap set overlay scoreboard table 2022-01-07 19:18:16 +01:00
87f7c7e691 Implement scoreboard-specific time formatting 2022-01-07 19:18:16 +01:00
881fa2b86b Add basic test scene for scoreboard time 2022-01-07 19:18:16 +01:00
c09f6ee052 Use slider snapping more liberally to match user expectations
Previously the slider path length would be snapped using the current
beat snap setting on *every* change of the slider path. As it turns out
this is unexpected behaviour in some situations (e.g. when reversing a
path, which is expected to preserve the previous duration, even though
the slider may be technically "unsnapped" at that point in time due to a
different beat snap setting being selected afterwards).
2022-01-07 16:02:04 +01:00
d2f44813dd Add test coverage for slider snapping when adding/removing control points 2022-01-07 15:47:02 +01:00
814b318a10 Add test coverage of slider end snapping behaviour 2022-01-07 15:47:02 +01:00
f440aadcbc Merge pull request #16341 from bdach/score-submission-test-failures
Fix intermittent failure in score submission test
2022-01-07 22:24:04 +09:00
398a67a4bc Merge pull request #16350 from peppy/fix-ipc-location-test
Fix `IPCLocationTest` not waiting for load of component
2022-01-07 22:22:45 +09:00
12c3e56881 Fix IPCLocationTest not waiting for load of component
As seen at
https://github.com/ppy/osu/runs/4731480384?check_suite_focus=true.
2022-01-07 19:01:06 +09:00
0698ef6330 Fix one missed rename 2022-01-07 17:36:29 +09:00
2ef791069c Fix typon on AdvancedStats 2022-01-07 17:33:38 +09:00
6a1e1d186f Update framework 2022-01-07 17:29:09 +09:00
3cd996eb4a Merge branch 'master' into async-deadlock-safety 2022-01-07 17:28:59 +09:00
bf328dc9e0 Merge pull request #16291 from peppy/fix-mods-mutated-outside-lease
Fix `MultiplayerMatchSubScreen` mutating mods outside of bindable lease
2022-01-07 17:12:12 +09:00
b0d61a18b0 Load keyBindingContainer once on LoadComplete() & make touch area height to const 2022-01-07 15:57:30 +09:00
ee0a2ce54c Merge pull request #16347 from bdach/fix-toolbox-expand-button
Fix settings toolbox toggle button starting in incorrect state
2022-01-07 11:17:23 +09:00
8f744c99ee Fix settings toolbox toggle button starting in incorrect state
While displaying replays, the colour of the toolbox toggle button would
not match the actual state of the rest of the toolbox, i.e. both buttons
would be white, even though the "playback settings" section was expanded
and as such should have a yellow toggle button.

In the case of the replay player, the failure scenario was as follows:

1. `SettingsToolboxGroup` calls `updateExpanded()` in its BDL to update
   the initial state of the toolbox, including the toggle button
   colour, by adding a colour fade transform.

2. An ancestor of both the toolbox groups - `PlayerSettingsOverlay`,
   which is a `VisibilityContainer` - calls `FinishTransforms(true)` in
   its `LoadCompleteAsync()`, therefore instantly applying the colour
   from point (1) to the toggle button instantly.

3. However, `IconButton` inherits from `OsuAnimatedButton`. And
   `OsuAnimatedButton` changes its colour in `LoadComplete()`, therefore
   undoing the instant application from point (2).

This conjunction of circumstances is instrumental to reproducing the
bug, because if the `FinishTransforms(true)` call wasn't there, point
(3) wouldn't matter - the transform would get applied at some
indeterminate point in the future, ignoring the write from
`OsuAnimatedButton`.

As for the fix, move the `updateExpanded()` call in
`SettingsToolboxGroup` to `LoadComplete()` to avoid the above
unfortunate order. Applying initial visual state in `LoadComplete()` is
the idiomatic style of doing things these days anyhow.
2022-01-06 20:45:56 +01:00
32b6bf64d0 Merge pull request #16342 from peppy/editor-toolbox-expand
Contract editor toolboxes when not in use
2022-01-06 19:31:41 +01:00
f5742d3d2a Merge branch 'master' into editor-toolbox-expand 2022-01-06 19:01:02 +01:00
e02863f780 Avoid accessing DrawWidth from invalidation 2022-01-07 01:24:30 +09:00
b3230868cc use playfield clock 2022-01-06 16:31:30 +01:00
197ada1a8c naive 10hz update 2022-01-06 16:04:38 +01:00
b9d2a10530 adjustable assist strength + dont update spinner & running slider 2022-01-06 16:00:49 +01:00
f703c5f038 Add comment and reduce how often ChildrenOfType is invoked in ExpandingButtonContainer 2022-01-06 23:38:54 +09:00
5aca2dd4ce Hide header text when it won't fit in the toolbox group 2022-01-06 23:08:50 +09:00
690b425380 Move enum local to usage 2022-01-06 22:56:56 +09:00
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
3ea7588a91 Update continuation usages to use GetCompletedResult 2022-01-06 22:53:07 +09:00
74b15ec30c Merge branch 'master' into master 2022-01-06 21:12:45 +09:00
cea9cab4dc Use ExpandingButtonContainer in editor composer 2022-01-06 21:10:45 +09:00
66613cbaa4 Wait for async continuation in score submission test
The previous assert step was optimistically assuming that the async
continuation that writes the value of
`FakeImportingPlayer.ImportedScore` always completes before it, but
that's not necessarily true even if the continuation is instant (it is
still subject to things like task scheduling and TPL thread pool
limits).

To ensure no spurious failures, swap out the assert step for an until
step instead.
2022-01-06 13:09:25 +01:00
5baaf356aa Split out SettingsToolboxGroup from PlayerSettingsGroup 2022-01-06 21:05:00 +09:00
77980196c5 Split out expanding container logic from settings sidebar 2022-01-06 21:02:29 +09:00
84765b99b3 Handle score submission request in submission test scene
Was previously not handled at all, therefore displaying request failures
in the test log output. While that was mostly a red herring and
shouldn't have caused any actual *test* failures, it is still better to
handle this explicitly in a realistic manner.
2022-01-06 12:57:26 +01:00
04d060aba3 update general playfield only once 2022-01-06 10:38:30 +01:00
a9e4a0fd61 Merge pull request #16328 from peppy/editor-flip-over-origin
Change editor flip hotkeys to perform flips around origin
2022-01-06 10:26:14 +01:00
f0797d4066 Merge branch 'master' into editor-flip-over-origin 2022-01-06 09:59:18 +01:00
1d69eb629c Merge pull request #16327 from peppy/fix-editor-playfield-centering
Fix editor playfield not being centered correctly
2022-01-06 16:11:12 +09:00
243a1a3cf7 Fix incorrect origin specification for SkinSelectionHandler flips 2022-01-06 14:47:44 +09:00
5c0494f3ba Remove unnecessary precondition check and disallow vertical catch flips for now 2022-01-06 14:39:29 +09:00
ee24713002 Fix single sliders not being flippable due to incorrect precondition 2022-01-06 14:37:13 +09:00
e232c7bc85 Merge pull request #6035 from EVAST9919/page-selector
Implement PageSelector component
2022-01-05 22:50:04 +01:00
7d195c4344 Merge branch 'master' into page-selector 2022-01-05 22:23:10 +01:00
dc755f4a7f Remove redundant casts 2022-01-05 15:07:02 +03:00
5a62760fe4 hold spinners & minor adjustments 2022-01-05 13:05:22 +01:00
b317a95fe1 Don't floor effectiveMissCount 2022-01-05 14:36:07 +03:00
88602ec1b4 Fix mouse button disable not disabling touch input mappings 2022-01-05 18:29:32 +09:00
df6a755c36 Update player loader screen mouse disable text to use localised version 2022-01-05 18:29:09 +09:00
6779503e57 Refactor logic to avoid TimelineSelectionHandler having to block base calls 2022-01-05 16:56:54 +09:00