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
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
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
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
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
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
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
Dean Herbert
9e17d7d4e3
Apply NRT to WorkingBeatmap
2021-12-22 18:41:45 +09: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
Dean Herbert
f3f491374b
Remove unused load checks
2021-12-22 18:17:00 +09:00
Dean Herbert
3c95497ed7
Reorder methods to hopefully make more sense
2021-12-22 18:17:00 +09:00
Dean Herbert
e38e4c0adc
Enable NRT on IWorkingBeatmap
2021-12-22 18:17:00 +09:00
Dean Herbert
967419c9ac
Remove BeatmapSetInfo
and Metadata
from interface
...
There were very few accesses to this, and after realm they should all be
done via the `BeatmapInfo`, so let's remove this.
2021-12-22 18:17:00 +09:00
Dean Herbert
1b0af78831
Simplify WorkingBeatmap
in multiple ways
...
Just a clean-up pass.
2021-12-22 18:17:00 +09:00
Dean Herbert
b38b300159
Convert BeatmapMetadata
access to be via a computed property
2021-12-22 18:17:00 +09:00
Dean Herbert
5b3a154431
Fix potential errors thrown during beatmap leaderboard display due to incorrect beatmap reference
...
Specifically, the global `BeatmapInfo` is referenced inside the web
request's success callback, and used to attempt population via methods
which expect non-null beatmap inputs.
Closes #16211 .
2021-12-22 17:24:48 +09:00
Dean Herbert
f81e32149b
Fix ImportCollectionsTest.TestSaveAndReload
not cleaning up before/after run
2021-12-22 13:38:20 +09:00
Dean Herbert
a88800c99a
Merge pull request #16198 from smoogipoo/fix-current-item-before-population
...
Fix delete button showing on current item before beatmap retrieval
2021-12-22 13:15:07 +09:00
Dan Balasescu
98f044881e
Merge branch 'master' into refactor-diffcalc
2021-12-22 12:31:28 +09:00
Dan Balasescu
7bc5079485
Merge pull request #16201 from bdach/timeline-blueprint-contrast-improvement
...
Improve contrast of timeline blueprint foreground content for pastel combo colours
2021-12-22 11:33:29 +09:00
Bartłomiej Dach
7ab1c0c99d
Improve contrast of timeline blueprint foreground content for pastel combo colours
2021-12-21 12:54:17 +01:00
StanR
88436d51ae
Remove using
2021-12-21 13:44:20 +03:00
Bartłomiej Dach
ca7303a50a
Fix online lookup cache not clearing completed task on early return
...
The task not being cleared in the early return path would cause
`pendingRequestTask` to become stuck as a completed task, and
`queryValue()` would not recreate it due to the null check there,
therefore stalling all lookups forevermore until a game restart.
2021-12-21 11:13:41 +01:00
Bartłomiej Dach
ee89d8643e
Extract abstract implementation of online lookup cache
2021-12-21 11:12:51 +01:00
StanR
cca02a8016
Create PerformanceAttributes
2021-12-21 13:08:31 +03:00
Dean Herbert
df975fb29e
Merge pull request #16181 from dekrain/statics-reset-no-sb
...
Split session statics reset method to prevent unloading seasonal backgrounds
2021-12-21 18:52:04 +09:00
Dean Herbert
0bda7892f7
Merge pull request #16197 from bdach/beatmap-card/renames
...
Rename beatmap card-related classes
2021-12-21 18:51:34 +09:00
Dan Balasescu
4ce61d4260
Directly bind to room updates
...
Currently doesn't really cause any difference, however it may in the
future if we decide the queueing algorithm shouldn't update PlaylistOrder
when an item has been played.
2021-12-21 18:40:29 +09:00
Dan Balasescu
a34d24fb20
Disallow expired items from showing delete button
...
This isn't possible in practice since expired items are removed from the
queue list, but this helps out in tests.
2021-12-21 18:37:42 +09:00
Dan Balasescu
d7136d6b48
Merge pull request #16196 from peppy/update-framework
...
Update framework
2021-12-21 18:23:02 +09:00
Dan Balasescu
4ba5a939db
Merge pull request #16178 from bdach/lounge-background-screen-correct
...
Fix lounge screen showing information sourced from wrong playlist item
2021-12-21 17:36:23 +09:00
Dan Balasescu
51b7e920c0
Fix delete button being able to show on current item
2021-12-21 16:57:58 +09:00
Bartłomiej Dach
979624160f
Do not reset last hover sound playback time on inactivity
2021-12-21 08:47:41 +01:00
Bartłomiej Dach
cd10af633c
Remove unused private method
2021-12-21 08:47:26 +01:00
Dean Herbert
0198d49a3a
Update framework
2021-12-21 16:38:03 +09:00
Dan Balasescu
32fbaf47c0
Merge pull request #16192 from peppy/add-room-lost-logging
...
Add logging of `MultiplayerMatchSubScreen` exiting from room loss
2021-12-21 16:37:08 +09:00
Bartłomiej Dach
c7b9b176c6
Rename BeatmapCard{Base => }
2021-12-21 08:26:25 +01:00
Bartłomiej Dach
88d4e95ad8
Rename BeatmapCard{ => Normal}
2021-12-21 08:26:21 +01:00
Bartłomiej Dach
bd1fb33ad6
Add and use separate extensions for historical and upcoming playlist items
2021-12-21 08:01:04 +01:00
Dean Herbert
2707b2fbda
Merge pull request #16012 from bdach/beatmap-card/extra
...
Implement "extra" beatmap card size
2021-12-21 15:40:33 +09:00
Dean Herbert
981158ed88
Rename method and simplify SetDefault
calling code
2021-12-21 15:34:32 +09:00
Dan Balasescu
5cea8da80f
Merge pull request #16188 from peppy/multiplayer-button-enabled
...
Centralise all multiplayer button clicking test logic
2021-12-21 15:10:26 +09:00
Dean Herbert
d08b66a5ff
Also add logging to OnlinePlayScreen
2021-12-21 15:07:06 +09:00
Dean Herbert
ddadf3c4b5
Add logging of MultiplayerMatchSubScreen
exiting from room loss
2021-12-21 14:53:24 +09:00
Dean Herbert
9aff646ff4
Centralise all multiplayer button clicking test logic
...
This adds the "wait for enabled" check in a way that can be easily
reused, as it keeps getting missed in test implementations.
This particular commit hopefully fixes
https://github.com/ppy/osu/runs/4583845033?check_suite_focus=true .
2021-12-21 13:49:51 +09:00
Dean Herbert
edcbd4de6d
Fix incorrect event unbind logic
2021-12-21 13:05:26 +09:00
Dean Herbert
52db7b36fc
Move Schedule
call to base implementation of error meter for extra safety
2021-12-21 12:55:21 +09:00
Dean Herbert
28d6ff5d9c
Fix potential wrong thread mutation in ColourHitErrorMeter
2021-12-21 12:36:04 +09:00
dekrain
9344897542
Split session statics reset method to prevent unloading seasonal backgrounds while idle
2021-12-20 16:51:51 +01:00
Bartłomiej Dach
f1a03aced5
Merge branch 'master' into beatmap-card/extra
2021-12-20 15:49:00 +01:00
Bartłomiej Dach
0975f570ba
Return last playlist item if all expired
2021-12-20 13:49:05 +01:00
Bartłomiej Dach
a5a9922f81
Fix lounge screen content not matching current room playlist item
2021-12-20 13:32:42 +01:00
Bartłomiej Dach
a59583ee09
Add extension method for returning next playlist item
2021-12-20 13:18:02 +01:00
Dean Herbert
6907a9a3cc
Name some screen stacks for better logging context
2021-12-20 18:24:14 +09:00
Dean Herbert
1533aefce5
Update framework
2021-12-20 18:22:19 +09:00
Dan Balasescu
9316abc278
Better fix for intermittent multiplayer tests
2021-12-20 13:10:13 +09:00
Bartłomiej Dach
a6ccbafc77
Fix rank graph showing for unranked users
2021-12-19 13:40:22 +01:00
Bartłomiej Dach
097402677d
Add test for ranked/unranked user display
2021-12-19 13:40:22 +01:00
Dean Herbert
04cfae9bde
Fix "Random Skin" text not showing up correctly
2021-12-18 16:26:15 +09:00
StanR
2f2006715e
Slightly refactor difficulty and pp calculators
2021-12-17 23:40:23 +03:00
Bartłomiej Dach
33e930f477
Move scale-on-expand logic to BeatmapCardContent
2021-12-17 13:29:20 +01:00
Bartłomiej Dach
d6f6039934
Extract base class for beatmap cards
2021-12-17 13:27:11 +01:00
mk-56
fd5af1fbe7
Code refactor and name changes
...
cleaned code up with Jetbrains i hope it suffices
2021-12-17 13:16:06 +01:00
Bartłomiej Dach
f052b47d87
Extract collapsible button container for card usage
2021-12-17 12:58:05 +01:00
Bartłomiej Dach
7aab12d4b0
Share extra row dropdown show/cancel show logic
2021-12-17 11:45:05 +01:00
Bartłomiej Dach
3fa45479b0
Share hype/nomination statistic show logic
2021-12-17 11:45:05 +01:00
Dean Herbert
81603a0645
Update framework
2021-12-17 19:32:58 +09:00
Bartłomiej Dach
c6d0b5d200
Merge branch 'master' into beatmap-card/extra-wip
2021-12-17 11:11:36 +01:00
Dean Herbert
1067e2dc00
Merge branch 'master' into update-framework
2021-12-17 16:41:47 +09:00
Dean Herbert
6bfe973fe5
Update framework
2021-12-17 13:44:52 +09:00
Bartłomiej Dach
54790bb758
Merge branch 'master' into fix-realm-post-storage-migration-failure
2021-12-17 00:19:46 +01:00
Salman Ahmed
9a22a082ca
Merge branch 'master' into master
2021-12-16 16:58:24 +03:00
Dean Herbert
eecb1ce9f5
Avoid applying mouse down effects to menu cursor when it isn't visible
...
Closes #16114 .
2021-12-16 20:20:06 +09:00
Dean Herbert
434aa0367f
Add back .ToLocalTime()
call to DrawableDate
...
This is required because the class is used in many other places that
don't locally call it.
2021-12-16 18:25:29 +09:00
Dean Herbert
0eac655cff
Remove local screen change logging
2021-12-16 18:21:48 +09:00