1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 12:42:56 +08:00
Commit Graph

47873 Commits

Author SHA1 Message Date
Dean Herbert
34135138b6
Merge pull request #16355 from bdach/scoreboard-time
Add basic "time ago" display to leaderboards on beatmap overlay
2022-01-08 17:11:43 +09:00
Dean Herbert
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
Bartłomiej Dach
9e84e31eac
Add score time to beatmap set overlay scoreboard table 2022-01-07 19:18:16 +01:00
Bartłomiej Dach
87f7c7e691
Implement scoreboard-specific time formatting 2022-01-07 19:18:16 +01:00
Bartłomiej Dach
881fa2b86b
Add basic test scene for scoreboard time 2022-01-07 19:18:16 +01:00
Bartłomiej Dach
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
Bartłomiej Dach
d2f44813dd
Add test coverage for slider snapping when adding/removing control points 2022-01-07 15:47:02 +01:00
Bartłomiej Dach
814b318a10
Add test coverage of slider end snapping behaviour 2022-01-07 15:47:02 +01:00
Dean Herbert
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
Dean Herbert
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
Dean Herbert
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
Dean Herbert
0698ef6330 Fix one missed rename 2022-01-07 17:36:29 +09:00
Dean Herbert
2ef791069c Fix typon on AdvancedStats 2022-01-07 17:33:38 +09:00
Dean Herbert
6a1e1d186f Update framework 2022-01-07 17:29:09 +09:00
Dean Herbert
3cd996eb4a Merge branch 'master' into async-deadlock-safety 2022-01-07 17:28:59 +09:00
Dan Balasescu
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
Dean Herbert
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
Bartłomiej Dach
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
Bartłomiej Dach
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
Bartłomiej Dach
f5742d3d2a
Merge branch 'master' into editor-toolbox-expand 2022-01-06 19:01:02 +01:00
Dean Herbert
e02863f780 Avoid accessing DrawWidth from invalidation 2022-01-07 01:24:30 +09:00
Dean Herbert
f703c5f038 Add comment and reduce how often ChildrenOfType is invoked in ExpandingButtonContainer 2022-01-06 23:38:54 +09:00
Dean Herbert
5aca2dd4ce Hide header text when it won't fit in the toolbox group 2022-01-06 23:08:50 +09:00
Dean Herbert
690b425380 Move enum local to usage 2022-01-06 22:56:56 +09:00
Dean Herbert
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
Dean Herbert
3ea7588a91 Update continuation usages to use GetCompletedResult 2022-01-06 22:53:07 +09:00
Dean Herbert
cea9cab4dc Use ExpandingButtonContainer in editor composer 2022-01-06 21:10:45 +09:00
Bartłomiej Dach
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
Dean Herbert
5baaf356aa Split out SettingsToolboxGroup from PlayerSettingsGroup 2022-01-06 21:05:00 +09:00
Dean Herbert
77980196c5 Split out expanding container logic from settings sidebar 2022-01-06 21:02:29 +09:00
Bartłomiej Dach
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
Bartłomiej Dach
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
Bartłomiej Dach
f0797d4066
Merge branch 'master' into editor-flip-over-origin 2022-01-06 09:59:18 +01:00
Dan Balasescu
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
Dean Herbert
243a1a3cf7 Fix incorrect origin specification for SkinSelectionHandler flips 2022-01-06 14:47:44 +09:00
Dean Herbert
5c0494f3ba Remove unnecessary precondition check and disallow vertical catch flips for now 2022-01-06 14:39:29 +09:00
Dean Herbert
ee24713002 Fix single sliders not being flippable due to incorrect precondition 2022-01-06 14:37:13 +09:00
Bartłomiej Dach
e232c7bc85
Merge pull request #6035 from EVAST9919/page-selector
Implement PageSelector component
2022-01-05 22:50:04 +01:00
Bartłomiej Dach
7d195c4344
Merge branch 'master' into page-selector 2022-01-05 22:23:10 +01:00
Dean Herbert
6779503e57 Refactor logic to avoid TimelineSelectionHandler having to block base calls 2022-01-05 16:56:54 +09:00
Dean Herbert
866ae3472b Add global flip hotkeys 2022-01-05 16:48:07 +09:00
Dean Herbert
13cce50fa7 Remove existing handling of flip hotkeys 2022-01-05 16:30:42 +09:00
Dean Herbert
ef2a4aed9a Fix editor playfield not being centered correctly
This has come up multiple times, with mappers citing that they have
muscle memory for mapping based on the centre of the playfield being in
the centre of the window.

The original plan was to have a second toolbar on the right hand side of
the screen to balance the padding, but we're not at that point yet.
Easiest solution is to do what stable does and allow the left-hand
toolbar items to overlap the playfield underneath it.

In edge cases where the user is running at an aspect ratio that causes
overlaps, they can choose to collapse the toolbars down. We can probably
work on this UI/UX a bit more as we update designs to be more friendly
to such cases.
2022-01-05 16:05:18 +09:00
Dean Herbert
2bf6b55b19 Fix failing test due to changed reset page logic 2022-01-05 14:53:32 +09:00
Bartłomiej Dach
93bcebbcd5
Merge pull request #16321 from peppy/fix-cursor-culture-incorrect
Fix cursors sent to osu-web being potentially string formatted in incorrect culture
2022-01-04 19:27:14 +01:00
Dean Herbert
5ed69338a6 Add omission of pages when there are too many 2022-01-04 19:05:14 +09:00
Dean Herbert
86f72b71b1 Prepare tests and general structure to support omission of pages 2022-01-04 18:46:44 +09:00
Dean Herbert
e75c9519f3 Adjust font weighting on selection 2022-01-04 18:19:23 +09:00
Dean Herbert
5a11ee7810 Use OverlayColourProvider and fix font weight 2022-01-04 18:14:42 +09:00
Dean Herbert
d10b8c79b3 Remove pointless test coverage of DrawablePage 2022-01-04 17:53:24 +09:00