1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-29 22:07:29 +08:00
Commit Graph

30337 Commits

Author SHA1 Message Date
Dan Balasescu
81fed4c6bf Use time=0 as for the first control point 2022-01-11 12:55:17 +09:00
Dan Balasescu
a09563a7d9 Fix calculation of most common beat length for mania scroll speed 2022-01-11 11:00:30 +09:00
Dean Herbert
90558f809f
Merge branch 'master' into slider-snapping 2022-01-10 22:42:16 +09:00
Dean Herbert
e333831c45
Merge pull request #16371 from bdach/angle-of-rotation-display
Add tooltip with relative rotation in degrees to rotation handles
2022-01-10 22:19:50 +09:00
Dan Balasescu
af9fad00c3 Merge branch 'master' into async-deadlock-safety 2022-01-10 16:11:09 +09:00
Dan Balasescu
928023fabb
Merge pull request #16362 from bdach/multiplayer-wrong-ruleset
Fix multiplayer starting gameplay using last picked item ruleset rather than actual current item ruleset
2022-01-10 15:10:27 +09:00
Dan Balasescu
5aaf5953f4
Merge pull request #16393 from peppy/detach-already-detached
Add mention to detach methods of only running once
2022-01-10 13:42:50 +09:00
Dan Balasescu
6f18db2136
Merge pull request #16390 from peppy/fix-filter-matching-tests
Update `FilterMatchingTest` and filter code to use ruleset's `OnlineID`
2022-01-10 13:10:51 +09:00
Dean Herbert
d072f1d08d Add mention to detach methods of only running once 2022-01-10 13:09:26 +09:00
Dean Herbert
02d8a6359a Update FilterMatchingTest and filter code to use ruleset's OnlineID
The tests were relying on the `RulesetID` being set to 0 in the example
beatmap, even though the ruleset *instance* was set to ID 5.

This explicitly adds that 0 value to show intent, and also removes the
incorrect specification of 5 (which would cause the convert filter tests
to fail).

Also updates the filter code to use `OnlineID`, which is required in
realm changes.
2022-01-10 12:30:34 +09:00
Dean Herbert
ca162ed09a Update resources 2022-01-10 11:36:26 +09:00
Bartłomiej Dach
2e9ba40ae2
Add references to web implementation wrt property used 2022-01-09 14:46:15 +01:00
Bartłomiej Dach
12c8243a9b
Fade out inactive player rows on user ranking table 2022-01-09 14:42:26 +01:00
Bartłomiej Dach
d76c674abc
Add tooltip with relative rotation in degrees to rotation handles 2022-01-08 20:24:15 +01:00
Bartłomiej Dach
24d377fddb
Move implementation of drag handle operations to concrete classes 2022-01-08 20:24:00 +01:00
Bartłomiej Dach
9370e84460
Fix effect point multiplier text box displaying too much decimal digits 2022-01-08 16:12:52 +01:00
Bartłomiej Dach
c5ac996e3f
Restore ruleset using current playlist item on resuming room sub screen
Ensures that the ruleset selected at the multiplayer song selection
screen does not overwrite the current playlist item's ruleset.
2022-01-08 14:56:01 +01: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
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
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
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
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
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
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
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
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
ee4f5c0e79 Rename button classes to make more sense 2022-01-04 17:52:40 +09:00
Dean Herbert
db58f5de8e Clean up unnecessary complexity 2022-01-04 17:51:37 +09:00
Dean Herbert
5736b7d978 Fix cursors sent to osu-web being potentially string formatted in incorrect culture
Fixed as per solution at https://github.com/JamesNK/Newtonsoft.Json/issues/874.

Note that due to the use of `JsonExtensionDataAttribute` it's not
feasible to change the actual specification to `JValue` in the
`Dictionary`.

In discussion with the osu-web team, it may be worthwhile to change the cursor
to a string format where parsing is not required at our end. We could already
do this in fact, but there are tests that rely on it being a `JToken` so the
switch to `JValue` seems like the easier path right now.
2022-01-04 17:20:46 +09:00
Dean Herbert
1c899e4402 Fix post-merge issues 2022-01-04 16:46:42 +09:00
Dean Herbert
69e7ee0f48
Merge branch 'master' into page-selector 2022-01-04 16:44:22 +09:00
Dean Herbert
39650ce7e9
Merge pull request #16307 from peppy/beatmap-listing-bottom-padding
Add padding to the bottom of the beatmap listing overlay to avoid hovered panels exceeding visible bounds
2022-01-04 14:14:42 +09:00
Dean Herbert
374dac57f2 Change expanded card content height to 200 2022-01-04 13:22:00 +09:00
Dean Herbert
f9713b8895 Replace usage of TimeoutAttribute to fix beatmap conversion test failures 2022-01-04 11:51:41 +09:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
Dean Herbert
031a40af6a Replace usages of Wait with WaitSafely 2022-01-04 11:51:41 +09:00
Dean Herbert
f6b1405fa0
Merge branch 'master' into fix-listing-terminal-breakage 2022-01-04 11:49:02 +09:00
Bartłomiej Dach
87fbac15fd
Merge branch 'master' into fix-skin-editor-overlay-show-thread-safetyu 2022-01-03 20:12:18 +01:00
Bartłomiej Dach
de33b420ab
Add safety against performing operation on non-alive foundContent 2022-01-03 20:02:46 +01:00
Bartłomiej Dach
586f158920
Remove initial foundContent value
It always is replaced on the first search anyway, and just remains
forever in the overlay otherwise.
2022-01-03 19:52:42 +01:00
Bartłomiej Dach
6650a468e0
Fix and simplify very broken beatmap listing content swap-out logic
The beatmap listing content swap-out logic was already a source of
several problems, and several attempts of fixing it were made. But as it
turns out it was terminally broken in several aspects.

* The `BypassAutoSizeAxes` juggling was finicky and ugly, and didn't
  really look much different than an instant fade. Therefore, all fade
  durations and manipulations of `BypassAutoSizeAxes` are removed.

* The transform sequence juggling the `BypassAutoSizeAxes` manipulations
  was enqueued on the content which is being in the process of fading
  out. That was partially fixed in 25e38560, but as it turns out, that
  only works if `lastContent` is one of the two placeholder drawables
  (results not found / supporter required to use filter).

  It would not work if `lastContent` is a
  `ReverseChildIDFillFlowContainer` with cards from a previous search in
  it.
2022-01-03 19:51:46 +01:00
Bartłomiej Dach
ef9f56e585
Fix bad check if content is placeholder
The `lastContent == foundContent` check, last touched in a49a4329, is
terminally broken, as it would always be false. `foundContent` is
mutated when a new card load task is started in `onSearchFinished()`,
which is *before* the aforementioned check.

The code prior to a49a4329 was checking against the two static reused
placeholder drawables which was the correct check to apply, and this
commit reverts to using a variant of that check.
2022-01-03 19:51:20 +01:00
Bartłomiej Dach
97439c3df1
Rename method to reflect what it actually does 2022-01-03 19:30:17 +01:00
Bartłomiej Dach
7c246670b4
Add padding to bottom of spotlights ranking view to avoid hovered panels exceeding visible bounds 2022-01-03 18:43:20 +01:00
Bartłomiej Dach
0ad555e9f7
Remove surplus blank line 2022-01-03 18:33:32 +01:00
Dean Herbert
b9851b278d Add padding to the bottom of the beatmap listing overlay to avoid hovered panels exceeding visible bounds
Closes https://github.com/ppy/osu/issues/16120.
2022-01-03 13:18:28 +09:00
Dean Herbert
6356180b6a Remove unnecessary code and fix double nesting causing filtering to not work 2022-01-03 12:53:58 +09:00
Dean Herbert
623d6d6d2d Add migration of positional hitsounds setting to new level based setting 2022-01-03 12:46:20 +09:00
Dean Herbert
5dd024aab7 Remove outdated settings migration 2022-01-03 12:46:02 +09:00
Dean Herbert
bb54f438aa Merge branch 'master' into positional-sounds-strength-adjustment 2022-01-03 12:40:56 +09:00
Bartłomiej Dach
e7d7587ea5
Merge branch 'master' into reduce-chat-overhead 2022-01-01 15:02:55 +01:00
Dean Herbert
675bdd3213 Fix MultiplayerMatchSubScreen mutating mods outside of bindable lease
As seen at https://github.com/peppy/osu/runs/4674501626?check_suite_focus=true.
2022-01-01 12:13:59 +09:00
Dean Herbert
1262e76a58 Fix test failure due to missing DI cached IdleTracker 2021-12-31 23:18:03 +09:00
Dean Herbert
670a30b64b Remove usage of .Result in ArchiveReader 2021-12-31 01:52:01 +09:00
Dean Herbert
089b756f93 Invert logic to make reading easier 2021-12-30 16:03:16 +09:00
Dean Herbert
ef49f2ed0e Add extra extra safety against attempting to load a previously expired editor 2021-12-30 16:02:31 +09:00
Dean Herbert
b1a444180f Fix Show then Reset potentially resulting in incorrect load target 2021-12-29 21:46:34 +09:00
Dean Herbert
471eea750a Fix calling SkinEditorOverlay.Show before the overlay is loaded causing an exception
As seen at https://github.com/ppy/osu/runs/4652969942?check_suite_focus=true.
2021-12-29 21:18:17 +09:00
Bartłomiej Dach
63e0492725
Mark ShouldSerialize() methods as implicitly used 2021-12-28 09:02:03 +01:00
Bartłomiej Dach
bc39c2a877
Revert incorrect property rename 2021-12-28 08:31:27 +01:00
Dean Herbert
73dca0c7e3
Merge pull request #16266 from Joehuu/fix-identifier-typos
Fix and normalise most identifier names in code
2021-12-28 15:21:42 +09:00
Joseph Madamba
0bd928b5cd Fix incorrect naming / apply review 2021-12-27 21:44:19 -08:00
Joseph Madamba
5082b0e63f Fix some identifiers using shortened naming 2021-12-27 20:26:28 -08:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4 Fix clear identifier typos 2021-12-27 20:26:28 -08:00
Bartłomiej Dach
568cab6808
Add clarification comment about explicit ProcessFrame() call 2021-12-27 21:13:04 +01:00
Dean Herbert
eb04cc9213 Update framework 2021-12-27 23:04:10 +09:00
Bartłomiej Dach
9f8ad9f833
Fix menu background storyboard stopping after track reload 2021-12-27 12:30:53 +01:00
Dean Herbert
8d927920cb Add comment explainng why to block idle updates when host is not active 2021-12-27 13:31:07 +09:00
Bartłomiej Dach
5a591713ae
Fix legacy combo counter not fully hiding for rulesets that implement their own 2021-12-26 16:49:20 +01:00
Bartłomiej Dach
724b601d2a
Rename AllowSampleLookup argument to something saner 2021-12-26 14:29:07 +01:00
Bartłomiej Dach
dc21c8901e
Always allow looking up storyboard samples from beatmap skin 2021-12-26 14:25:28 +01:00
Dean Herbert
7c25ce81e1 Further reduce chat poll rate when idle or not visible 2021-12-26 16:26:47 +09:00
Dean Herbert
e448c28cad Change IdleHandler to not consider mouse movement as active unless focused 2021-12-26 16:26:33 +09:00