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
Dan Balasescu
18c144395a
Rename to dimColour
2021-12-24 17:03:29 +09:00
Dan Balasescu
f44af1ad69
Move bind to LoadComplete
2021-12-24 17:00:59 +09:00
Dan Balasescu
727335dcad
Improve reliability of exiting gameplay
2021-12-24 14:23:09 +09:00
Dan Balasescu
c973739b08
Fix OsuButton event binding + inital-enablement colour
2021-12-24 11:56:12 +09:00
Dan Balasescu
c8073000c5
Fix initally-disabled OsuAnimatedButton colour fading
2021-12-24 11:56:12 +09:00
Dan Balasescu
03d159d723
Refactor OsuAnimatedButton test scene
2021-12-24 11:56:12 +09: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 IResourceStore
s
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