1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 12:17:46 +08:00
Commit Graph

47529 Commits

Author SHA1 Message Date
Dan Balasescu
d36fe3af09
Merge pull request #16238 from peppy/fix-incorrect-delegate-capture
Fix incorrect delegate capture leading to slow leak of audio tracks
2021-12-24 21:34:04 +09:00
Dean Herbert
f81e5e8b99
Merge pull request #16232 from bdach/beatmap-card/extra-on-listing
Add card size switcher to beatmap listing overlay
2021-12-24 20:29:55 +09:00
Dean Herbert
2ee3e61983
Merge branch 'master' into beatmap-card/extra-on-listing 2021-12-24 19:02:51 +09:00
Dean Herbert
cc7089c3f4 Cancel more liberally 2021-12-24 19:00:09 +09:00
Dean Herbert
d602aebebb Add missing cancellation token and rename load task variable to match purpose 2021-12-24 18:58:31 +09:00
Dean Herbert
842d508aee Fix incorrect delgate capture leading to slow leak of audio tracks
During profile, it was found that the `Completed` delegate was
incorrectly also capturing `lastTrack`, leading to an unexpected
reference chain that led to a memory leak over a long period of time.

This solves the issue by moving the delegate construction to its own
method, where it won't capture the other variables.
2021-12-24 18:39:29 +09:00
Dean Herbert
83a1d39f80
Merge pull request #16231 from bdach/ruleset-config-cache-overwriting-3
Fix ruleset config cache potentially not working correctly in test contexts
2021-12-24 17:18:42 +09:00
Bartłomiej Dach
3ca238825b
Unify width of normal and extra card sizes 2021-12-24 09:17:07 +01:00
Dean Herbert
59124faa48
Merge pull request #16224 from smoogipoo/fix-incorrect-reference
Fix TestMultiplayerClient referencing the wrong playlist
2021-12-24 10:38:47 +09:00
Dean Herbert
ce4389576f
Merge branch 'master' into fix-incorrect-reference 2021-12-24 10:03:11 +09:00
Bartłomiej Dach
c429c74d89
Expose and use test ruleset config cache in test scenes 2021-12-23 19:42:26 +01:00
Bartłomiej Dach
8094b502cb
Remove test-specific logic from RulesetConfigCache 2021-12-23 19:42:26 +01:00
Bartłomiej Dach
77da1e12d5
Add test implementation of the ruleset config cache 2021-12-23 19:40:55 +01:00
Bartłomiej Dach
5cbaa028eb
Use extracted ruleset config cache implementation in DI 2021-12-23 19:02:10 +01:00
Bartłomiej Dach
0f65c4e960
Extract interface for ruleset config cache 2021-12-23 18:59:02 +01:00
Bartłomiej Dach
27c5cc5bd8
Add testing for beatmap card size switching 2021-12-23 15:55:51 +01:00
Bartłomiej Dach
a49a4329ee
Add capability to switch between card sizes 2021-12-23 15:55:37 +01:00
Bartłomiej Dach
d0427ec85f
Add support card size tab control to beatmap listing 2021-12-23 15:55:37 +01:00
Bartłomiej Dach
1876617d8e
Implement beatmap card size tab control 2021-12-23 15:55:36 +01:00
Bartłomiej Dach
cd4c1bc678
Add factory method for various card sizes 2021-12-23 15:55:36 +01:00
Dean Herbert
048ca98f4a
Merge pull request #16184 from bdach/move-many-slider-nodes-at-once
Allow dragging multiple slider path control points at once
2021-12-23 23:38:40 +09:00
Bartłomiej Dach
38e054820f
Merge pull request #16223 from peppy/update-framework
Update framework
2021-12-23 11:16:13 +01:00
Dan Balasescu
998b07db90 Fix TestMultiplayerClient referencing the wrong room 2021-12-23 19:14:09 +09:00
Bartłomiej Dach
1040590844
Add cancellation support to game-side IResourceStores 2021-12-23 10:33:17 +01:00
Dean Herbert
0732a9e6da Update framework 2021-12-23 18:08:44 +09:00
Bartłomiej Dach
c6a5ac1c5f
Fix control point additions without a drag not being undoable 2021-12-23 09:32:52 +01:00
Bartłomiej Dach
cbda637d66
Fix drag after placement moving last placed point sometimes
More specifically, if the left mouse button was just pressed without a
drag, `OnDragEnd()` wouldn't fire, and the next drag would start moving
the last placed control point around regardless of where the mouse was.
2021-12-23 09:25:10 +01:00
Bartłomiej Dach
29b42402a3
Add failing test for drag after placement moving last placed point sometimes 2021-12-23 09:06:03 +01:00
Dan Balasescu
9a8569545e
Merge pull request #16218 from peppy/mouse-wheel-volume-test-reliability
Adjust testing methodology to improve reliability of mosue wheel volume adjust tests
2021-12-23 14:23:05 +09:00
Dean Herbert
b0df787b1a Move public method up and add xmldoc to second public method 2021-12-23 14:13:57 +09:00
Dean Herbert
60c9827187
Merge branch 'master' into move-many-slider-nodes-at-once 2021-12-23 14:11:04 +09:00
Dan Balasescu
a4d9592caf
Merge pull request #16217 from peppy/fix-drawable-collection-list-item-mutation-error
Fix potential crash from cross-thread drawable mutation in collection management
2021-12-23 13:55:05 +09:00
Dean Herbert
d31c9db08b Adjust testing methodology to improve reliability of mosue wheel volume adjust tests
There was previously a potential in headless runs for timing
discrepancies to cause the volume to never get adjusted.

As seen at https://github.com/peppy/osu/runs/4604610951?check_suite_focus=true.
2021-12-23 13:25:24 +09:00
Dean Herbert
d69552fbcf Fix potential crash from cross-thread drawable mutation in collection management
As seen at https://github.com/peppy/osu/runs/4613800663?check_suite_focus=true.
2021-12-23 13:21:17 +09:00
Dan Balasescu
e1b539fa9e
Merge pull request #16213 from peppy/working-beatmap-live
Tidy up `WorkingBeatmap`
2021-12-23 13:02:37 +09:00
Dan Balasescu
c0add5661e
Merge pull request #16214 from bdach/beatmap-listing-overlay-flaky-hide
Fix placeholder drawables on beatmap listing not always showing correctly
2021-12-23 11:56:06 +09:00
Bartłomiej Dach
25e38560ce
Fix placeholder drawables on beatmap listing not always hiding correctly
`BeatmapListingOverlay.addContentToPlaceholder()`, in order to make
transitions between different beatmap listing content (whether it is
actual cards, or placeholders for no beatmaps found/supporter-specific
filters chosen), would set `BypassAutoSizeAxes = Y` on content as it is
fading out, to make the transition smoother. The property in question
was supposed to be getting restored to `None` on the next show.

In testing scenarios, it sometimes turned out that this wasn't the case,
therefore making the placeholders effectively not show - while they
were present and fully opaque, they would be the only child of
an auto-sized container with `BypassAutoSizeAxes = Y`, so the parent
auto-sized to a zero height, which logically follows from the premise,
but is not what was desired.

This in turn was caused by the fact that the `BypassAutoSizeAxes = Y`
set was scheduled, and sometimes it would be scheduled in such a way
that the drawable would cease to be present on the next frame due to its
alpha being past the cutoff point of 0.0001. Therefore the scheduled set
would not execute until the *next* time the placeholder was shown,
therefore causing the bug.

Fix by ensuring that the placeholder drawables are always present if
their schedulers have any tasks enqueued, on top of the usual checks of
alpha and scale performed via the base implementation.
2021-12-22 15:05:23 +01:00
Bartłomiej Dach
02fa1c21b7
Adjust existing placeholder test to demonstrate failure case 2021-12-22 15:03:20 +01:00
Dean Herbert
f179ff33c9 Remove all NRT changes
This reverts commit bb9877adab.
2021-12-22 21:02:06 +09:00
Dean Herbert
bb9877adab Reapply IWorkingBeatmap nullability fixed 2021-12-22 20:48:48 +09:00
Dan Balasescu
67e6b50c12
Merge pull request #16135 from stanriders/refactor-diffcalc
Slightly refactor difficulty and pp calculators
2021-12-22 19:44:02 +09:00
Dan Balasescu
fa5ee5f72c
Merge pull request #16212 from peppy/fix-beatmap-leaderboard-global-reference
Fix potential errors thrown during beatmap leaderboard display due to incorrect beatmap reference
2021-12-22 19:26:32 +09:00
Dean Herbert
bc47801cbb Revert "Apply NRT to WorkingBeatmap"
This reverts commit 9e17d7d4e3.
2021-12-22 19:14:18 +09:00
Bartłomiej Dach
ef20182a34
Rewrite test to check selection state during and after new control point placement 2021-12-22 10:57:39 +01:00
Dean Herbert
9e17d7d4e3 Apply NRT to WorkingBeatmap 2021-12-22 18:41:45 +09:00
Bartłomiej Dach
c3fada1926
Replace assertion with soft null check
Surrounding `OnDrag{Start,End}` methods did so already.
2021-12-22 10:33:08 +01:00
Bartłomiej Dach
6330fa5dc5
Select newly created control point 2021-12-22 10:33:07 +01:00
Dean Herbert
53c0a6708f Move public accessor properties to top of file 2021-12-22 18:25:09 +09:00
Dean Herbert
a5f77a86ef Move load methods and rename loadedTrack to match other private fields 2021-12-22 18:24:51 +09:00
Dean Herbert
7344c87b16 Remove RecyclableLazy 2021-12-22 18:18:12 +09:00