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

2579 Commits

Author SHA1 Message Date
Dean Herbert
3811bd8520 Fix some null inspections 2022-01-12 17:00:16 +09:00
Dean Herbert
33060990b7 Temporarily disable WorkingBeatmapCache and fix multiple invalid data flows 2022-01-12 17:00:16 +09:00
Dean Herbert
4295815c7d Fix invalid equality comparison in BeatmapLeaderboard 2022-01-12 17:00:16 +09:00
Dean Herbert
6d60aa7d9c Replace TopLocalRank event flow with realm subscriptions 2022-01-12 17:00:16 +09:00
Dean Herbert
c9257e9ecc Fix missing disposal of realm subscriptions in BeatmapCarousel 2022-01-12 17:00:16 +09:00
Dean Herbert
5dc497e949 Replace BeatmapLeaderboard event flow with realm subscriptions 2022-01-12 17:00:16 +09:00
Dean Herbert
db05727ec4 Remove unused includeProtected parameter 2022-01-12 17:00:16 +09:00
Dean Herbert
3152d2d8a0 "Update" BeatmapCarousel 2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366 Update model manager and many related classes to get things compiling again 2022-01-12 17:00:00 +09:00
Dean Herbert
4f6a05ce3d Reimplement all query methods 2022-01-12 16:57:27 +09:00
Dean Herbert
2a4bee61dd Update many score-related classes to move closer to being able to persist to realm 2022-01-12 16:57:27 +09:00
Dean Herbert
b8cd3cdbbc Various updates to ruleset and primary key usages to move closer to realm support 2022-01-12 16:57:13 +09:00
Dean Herbert
e6fdd0e969 Miscellaneous fixes that don't fit elsewhere 2022-01-12 16:39:36 +09:00
Dean Herbert
213d89b479 Update null fallback cases involving OnlineID 2022-01-12 16:39:36 +09:00
Dan Balasescu
af9fad00c3 Merge branch 'master' into async-deadlock-safety 2022-01-10 16:11:09 +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
2ef791069c Fix typon on AdvancedStats 2022-01-07 17:33:38 +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
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +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
9ac8e6c81c Add missing null check before attempting to populate bpm info 2021-12-10 13:53:48 +09:00
Dean Herbert
e7e61cd9ab Fix potential crash due to children being mutated after disposal
This is a bit of an unfortunate edge case where the unbind-on-disposal
doesn't help, since the binding is happening in BDL, and the usage is in
a nested `LoadComponentAsync` call. Combine those and you have a recipe
for disaster.
2021-12-09 18:52:00 +09:00
Dean Herbert
8d9c37a825 Merge branch 'master' into primary-key-consistency 2021-12-08 21:34:38 +09:00
Dean Herbert
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert
7a3c69544b
Merge pull request #15799 from smoogipoo/fix-songselect-test-failures-2
Fix SongSelect-related test failures
2021-11-25 23:01:06 +09:00
Dan Balasescu
09dd054283 Fix SongSelect-related test failures 2021-11-25 21:11:13 +09:00
Dean Herbert
79459c1aeb Fix typo in class and variable names 2021-11-25 17:12:15 +09:00
Dean Herbert
9dcb20a821 Rename Stable to Legacy and add xmldoc 2021-11-25 15:39:05 +09:00
Dean Herbert
183b95cbc2 Rename BeatmapSetOnlineStatus to BeatmapOnlineStatus
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dean Herbert
729f681938 Update cases where equality can be used instead of primary key equality 2021-11-24 12:49:57 +09:00
Bartłomiej Dach
15feb17da8
Change difficulty cache storage type to nullable
The recent changes related to adding support for working beatmap load
cancellation exposed a flaw in the beatmap difficulty cache. With the
way the difficulty computation logic was written, any error in the
calculation process (including beatmap load timeout, or cancellation)
would result in a 0.00 star rating being permanently cached in memory
for the given beatmap.

To resolve, change the difficulty cache's return type to nullable.
In failure scenarios, `null` is returned, rather than
`default(StarDifficulty)` as done previously.
2021-11-20 17:00:50 +01:00
Dean Herbert
83b4625bd5 Replace existing cases with new helper method 2021-11-19 22:15:41 +09:00
Dean Herbert
66c307e0ee Remove usage of key repeat helper method 2021-11-18 13:13:36 +09:00
Dean Herbert
3de8125eac Update UI cases where repeat should not be handled 2021-11-18 13:13:36 +09:00
Dean Herbert
7c2e79f911 Update all simple cases of switching to IWorkingBeatmap 2021-11-17 20:56:57 +09:00
Dean Herbert
2dd721f760 Fix incorrect CancellationToken being used for inner check during leaderboard updates 2021-11-16 17:41:16 +09:00
Dean Herbert
d2d66766d4
Merge branch 'master' into songselect-audio-improvements 2021-11-12 19:40:04 +09:00
Dean Herbert
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Jamie Taylor
069ee6980f
Add debounce to sample playback 2021-11-11 19:20:50 +09:00
Dean Herbert
51a353e12d Rename BeatmapInfo.Version to DifficultyName to match underlying interface 2021-11-11 17:20:53 +09:00
Dean Herbert
ebe58cee11 Rename BeatmapInfo.StarDifficulty to StarRating to match underlying interface 2021-11-11 17:19:46 +09:00
Jamie Taylor
5f462b6441
Move beatmap/difficulty change sample playback to outside of debounce 2021-11-10 17:15:08 +09:00
Jamie Taylor
6dc13ef396
Use default hover sample instead of song-ping (they're the same sample anyway) 2021-11-10 17:14:20 +09:00
Dean Herbert
78aef9ce86
Merge branch 'master' into remove-stupid-weak-reference-bindable-events 2021-11-08 13:35:49 +09:00
Dean Herbert
62600b47b1 Merge branch 'master' into user-class-cleanup 2021-11-08 12:51:12 +09:00
Dean Herbert
54f72d68ca Revert weird event flow in model manager/importers 2021-11-05 19:12:49 +09:00
Dean Herbert
6399c695e8 Update usages of BufferedContainer in line with framework changes 2021-11-05 15:54:49 +09:00
Dean Herbert
7049d0de66 Merge branch 'master' into beatmap-refactor/remove-online-info 2021-11-05 01:16:11 +09:00
Dean Herbert
ed07ee8c61 Update all existing usages of AuthorString/AuthorId
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
Dean Herbert
86540d1fb6 Update existing usages of Author as string to access Username directly 2021-11-04 18:57:54 +09:00
Dean Herbert
d2831b1152 Merge branch 'beatmap-refactor/remove-online-info' into beatmap-refactor/to-model-removal-2 2021-11-04 17:09:50 +09:00
Dean Herbert
317506d4d7 Fix a few more "maybe null" inspections 2021-11-04 16:11:23 +09:00
Dean Herbert
9c926e5514 Remove BeatmapSetInfo.OnlineInfo and all usages 2021-11-04 15:23:04 +09:00
Dean Herbert
d1e6d1cb98 Update some other missed incorrect null/empty usages 2021-11-04 14:50:43 +09:00
Dean Herbert
67d9590a79 Fix new inspections 2021-11-04 14:02:09 +09:00
Bartłomiej Dach
98367fc482
Update usages of GetLocalised{-> Bindable}String 2021-11-02 21:42:01 +01:00
Dean Herbert
b21e0e7efb Merge branch 'beatmap-refactor/get-and-present' into beatmap-refactor/beatmap-overlays 2021-11-01 18:07:51 +09:00
Dean Herbert
b98faf6159 Merge branch 'master' into score-refactor/isolated-serialisation 2021-11-01 15:49:25 +09:00
Bartłomiej Dach
914e5c0f9d
Fix star rating not updating for some mods on details tab in song select
`AdvancedStats` was locally assuming that the only changes in mods that
are relevant to it are if the mods are `IApplicableToDifficulty`. This
is not true, as other mods (such as `IApplicableToRate` mods, or more
recently, Flashlight) can also affect star difficulty, which is shown on
one of the bars in `AdvancedStats`.
2021-10-31 18:58:17 +01:00
Dean Herbert
a16c8f1ebc Update all beatmap overlay views to use APIBeatmap/APIBeatmapSet 2021-10-29 18:50:55 +09:00
Dean Herbert
3f030cebf4 Remove local score copying in GetScoresRequest to allow APIScoreInfo.Beatmap to be APIBeatmap 2021-10-29 14:14:25 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dan Balasescu
efe6763226
Merge branch 'master' into move-online-beatmap-metrics 2021-10-26 14:24:40 +09:00
Bartłomiej Dach
6802e9ec10
Remove FixedWidth and add AutoSizeAxes specs to all usages 2021-10-25 20:24:48 +02:00
Dean Herbert
2c308f3008 Rename BeatmapMetrics to APIFailTimes 2021-10-25 15:34:41 +09:00
Dean Herbert
20baae9094 Move online metrics out of BeatmapInfo model 2021-10-25 15:32:18 +09:00
Dean Herbert
045dd94a6e Move online metrics out of BeatmapSetInfo model 2021-10-25 15:12:39 +09:00
Dean Herbert
e0babe4b79 Add global logging of WorkingBeatmap changes 2021-10-14 14:07:43 +09:00
Dean Herbert
bd84a8b749 Merge branch 'new-interfaces' into beatmap-difficulty-more-interface-usage 2021-10-05 18:21:21 +09:00
Dean Herbert
d3b9660148 Move common interface implementations to extension methods 2021-10-05 14:41:14 +09:00
Dean Herbert
853cf6feaa Rename last remaining BeatmapInfo Beatmap usage 2021-10-04 17:35:53 +09:00
Dean Herbert
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
Dean Herbert
973c31132b Rename BeatmapInfo variables which were named beatmap for clarity 2021-10-02 12:45:34 +09:00
Dean Herbert
a92d499d7a Convert usages of BeatmapDifficulty to IBeatmapDifficultyInfo 2021-10-01 16:55:50 +09:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
Dean Herbert
fa693bb8a8 Move MusicController adjustment set to inside OsuScreen itself (and result nullable) 2021-09-16 16:08:09 +09:00
AbstractQbit
318f0941ca Move all the "inherit previous AllowTrackAdjustments" logic into OsuScreen 2021-09-15 21:25:39 +03:00
AbstractQbit
f0439ef50b Remove unnecessary AllowTrackAdjustments overrides, add true to SongSelect 2021-09-15 13:12:57 +03:00
Dean Herbert
fa62c846c5
Merge pull request #14603 from smoogipoo/score-ordering
Fix scores not being ordered correctly on leaderboards
2021-09-07 19:18:37 +09:00
Bartłomiej Dach
fe2520c599
Add intermediary screen to avoid going back to menus 2021-09-05 21:48:09 +02:00
Dean Herbert
f223be0760
Merge branch 'master' into score-ordering 2021-09-02 14:45:59 +09:00
Dean Herbert
9e21f5a59c Rename LocalPlayer to User in mod select prefixes 2021-09-01 17:22:52 +09:00
smoogipoo
88fc53200e Refactor 2021-09-01 15:41:52 +09:00
smoogipoo
2de076a74b Merge branch 'adjust-classic-scoring' into score-ordering 2021-09-01 15:06:55 +09:00
smoogipoo
fee94236de Fix update-thread pauses 2021-08-31 21:36:31 +09:00
Dan Balasescu
b95da3ca27
Merge pull request #14576 from peppy/update-framework
Update framework
2021-08-30 21:09:58 +09:00
smoogipoo
e19d81c88c Fix potential incorrect ordering 2021-08-30 19:41:44 +09:00
smoogipoo
4ebb11472d Update Leaderboard to reorder scores based on scoring mode 2021-08-30 19:34:34 +09:00
Henry Lin
8137eee527
Reuse value to save enum name
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-08-30 18:05:47 +08:00
Henry Lin
04bf667d0d Parse partially typed enum names in filter query 2021-08-30 17:49:18 +08:00
Salman Ahmed
e374ef163d Update localisable formattable extensions usages inline with framework change 2021-08-29 15:00:28 +03:00
Salman Ahmed
847726547a Move mod value change callback inside wedge info text component 2021-08-24 07:53:49 +03:00
Dan Balasescu
ead1b47e0e
Merge branch 'master' into localise-beatmap-set-overlay 2021-08-23 13:22:52 +09:00
Bartłomiej Dach
9538a32b5e
Explicitly update beatmap info wedge on mod change
This used to already be the case prior to b419ea7, but in a very
roundabout way. Changes to the value of the star difficulty bindable -
including indirect changes via the set of active mods changing - would
trigger the wedge display to regenerate and load asynchronously.

b419ea7 accidentally broke this by moving down the bindable retrieval to
a lower level, at which point `WedgeInfoText` would only receive the set
of mods selected at the time at which a given beatmap was selected, and
not receive any further updates, breaking the BPM display updating in
real time (as `WedgeInfoText` could not be aware that rate-changing mods
were even in effect).

To resolve, explicitly reload the wedge's contents on mod changes.
2021-08-22 19:16:46 +02:00
Bartłomiej Dach
e4a8f72167
Add failing test case 2021-08-22 19:16:43 +02:00
Salman Ahmed
9b1720bd6c Merge branch 'master' into localise-beatmap-set-overlay 2021-08-22 10:53:31 +03:00
Dean Herbert
a65cd36a5f Move some constants to consts 2021-08-19 19:19:46 +09:00
Salman Ahmed
6bfae25cda Apply 5px vertical spacing on fill flow
Regressed, was margin { bottom = 5f } from the star rating display
creation method, which I've partly inlined.
2021-08-19 08:30:29 +03:00
Salman Ahmed
25e6317e7f Use animated star display in beatmap info wedge and synchronise bar 2021-08-19 07:18:02 +03:00
Salman Ahmed
102320f8ae Merge branch 'master' into mod-settings-difficulty-cache 2021-08-19 06:35:13 +03:00
Dean Herbert
9d2664cbb1 Merge branch 'master' into star-rating-display-v2 2021-08-18 17:22:33 +09:00
Salman Ahmed
b419ea716b Refactor beatmap info wedge to not fully refresh on star difficulty change
Makes it look awkward when changing difficulty via mod settings for
example.

Now the changes should instead only affect the displayed components which consume it
directly.
2021-08-17 05:46:06 +03:00
Lucas A
a0a9777109 Fix merge conflicts. 2021-08-16 14:50:00 +02:00
Lucas A
1f942d15f8 Localise scoreboard 2021-08-16 13:38:57 +02:00
Lucas A
7bebbf9f74 Mark format strings as verbatim. 2021-08-16 12:46:41 +02:00
smoogipoo
0e66a05963 Hide left border of beatmap wedge 2021-08-13 22:29:22 +09:00
Dean Herbert
5a60b39643 Remove unnecessary delimiters from song select filter splitting 2021-08-13 16:42:58 +09:00
smoogipoo
b75c20fee4 Adjust positioning and paddings 2021-08-12 18:02:00 +09:00
Lucas A
5e0f9d0af9 Localise user ratings. 2021-08-08 22:00:12 +02:00
Salman Ahmed
d4399f10f9 Merge both variants of the star rating display 2021-08-04 18:19:28 +03:00
Salman Ahmed
d0ce0cf9f5 Merge branch 'master' into new-difficulty-colours 2021-08-04 17:12:15 +03:00
Dean Herbert
9b9dacf3fe Update usages of Drawable.Click() 2021-08-04 17:30:33 +09:00
Salman Ahmed
9a5e052dc0 Use star difficulty colour spectrum game-wide 2021-08-03 15:02:18 +03:00
Dean Herbert
48b95ae250
Merge pull request #14067 from nekodex/select-sfx-changes
Swap 'select' sample variants and add hover+select sounds to more components
2021-07-31 20:03:08 +09:00
Dean Herbert
081dafc4e4 Update existing inline usages to use new extension method 2021-07-31 16:46:02 +09:00
Jamie Taylor
c1d8a7e2ad
Add and use 'Submit' select sample variant for particular components 2021-07-30 21:35:28 +09:00
Dean Herbert
362816492f Move to more friendly namespace 2021-07-02 18:09:16 +09:00
Dean Herbert
eacf867073 Move shared types into their own classes 2021-07-02 18:05:00 +09:00
Dean Herbert
0522500a57 Fix a couple of merge oversights 2021-07-01 19:45:17 +09:00
Dean Herbert
31dbc7798b Merge branch 'master' into linkify-metadata 2021-07-01 19:41:33 +09:00
Dean Herbert
f939e2603a Merge branch 'master' into localisable-tooltips 2021-06-28 15:29:42 +09:00
Gagah Pangeran Rosfatiputra
2b1d3c8e9c
add od filter in search filter 2021-06-26 21:05:01 +07:00
Gagah Pangeran Rosfatiputra
8e1bcc4d6b
add overall difficulty in filter criteria 2021-06-26 21:02:31 +07:00
Bartłomiej Dach
50c27d2635 Update usages of IHasTooltip in line with framework localisation changes 2021-06-25 19:10:04 +02:00
Jamie Taylor
6e4fc26e16
replace 'songselect' hover/click sounds with 'button' ones for now 2021-06-18 21:03:46 +09:00
Dean Herbert
83402a70db Fix potential null ref when no beatmap is selected 2021-06-14 15:06:24 +09:00
Dean Herbert
f8b09b7c81 Avoid refresh if score is not related to current display 2021-06-14 14:28:14 +09:00
Dean Herbert
fc442713bb Debounce schedule at base class 2021-06-14 14:26:40 +09:00
Dean Herbert
8dd48d48f6 Add support for song select leaderboard to handle newly imported scores 2021-06-14 14:20:23 +09:00
ilsubyeega-desu
f65f074131
Add star keyword to FilterQueryParser criteria 2021-06-11 02:46:29 +09:00
Dean Herbert
7774344f0e Remove "Unranked" text from ModDisplay 2021-06-09 13:45:09 +09:00
Dan Balasescu
44b1102241
Merge branch 'master' into autoplay-pause-support 2021-06-03 13:26:00 +09:00
Dean Herbert
d6656047e3 Fix beatmap statistics with value of zero not displaying correctly at song select
Closes #13307.
2021-06-03 01:58:51 +09:00
Dean Herbert
cbf3ef5400 Create replay via the ICreateReplay interface instead of explicitly ModAutoplay 2021-06-01 14:22:16 +09:00
Dean Herbert
14570b6fb1 Merge branch 'master' into autoplay-pause-support 2021-06-01 14:19:21 +09:00
Dean Herbert
06bd696cc2 Remove previous consumption logic in GetWorkingBeatmap
This should not be required since the introduction of `workingCache`,
which does the same thing in a more global way.
2021-05-31 14:11:58 +09:00
Dean Herbert
046087a367 Fix access to AliveChildren before IsLoaded 2021-05-27 16:58:01 +09:00
Dean Herbert
b3b39c4c13 Fix BeatmapCarousel accessing ScreenSpaceDrawQuad of non-loaded children
Fixes failure seen at
https://ci.appveyor.com/project/peppy/osu/builds/39302762/tests.
2021-05-26 15:42:27 +09:00
Dean Herbert
7c89dbcd35 Externalise autoplay generation 2021-05-25 18:37:04 +09:00
Dean Herbert
2958b9adf4 Merge branch 'master' into import-from-stable-select-location 2021-05-21 17:37:34 +09:00
Dean Herbert
df5970fab4 Create base implementations of the two most common TernaryStateMenuItems 2021-05-20 19:34:53 +09:00
Lucas A
775e0fbde5 Mark StableImportManager as nullable. 2021-05-18 15:27:20 +02:00
Lucas A
79740dd2d8 Merge conditionnal expression. 2021-05-17 22:01:05 +02:00
Lucas A
fe11426238 Disable appearance of the stable import prompt waiting for user interaction in tests, which caused them to fail. 2021-05-17 12:55:59 +02:00
Lucas A
f60dbbfbbd Reword import dialogs.
Co-authored-by: Dean Herbert <pe@ppy.sh>
2021-05-17 12:55:58 +02:00
Lucas A
a7b740fd1d Reword ImportFromStablePopup and display the popup regardless of whether a stable install is detected. 2021-05-17 12:55:58 +02:00
Lucas A
851e33fd15 Hook up StableImportManager. 2021-05-17 12:55:57 +02:00
Joseph Madamba
a71e52da4c Fix enum ordering after adding source 2021-05-09 15:39:59 -07:00
Joseph Madamba
a21718f1cd Move source case to a better spot 2021-05-09 14:26:45 -07:00
Joseph Madamba
8964d51de9 Add ability to sort by source in song select 2021-05-09 14:10:38 -07:00
Dean Herbert
165f443ab5 Merge branch 'master' into add-missing-author-links 2021-05-07 14:32:44 +09:00
Dean Herbert
cffeb8641f Make setters private for protected containers 2021-05-06 02:14:57 +09:00
Dean Herbert
fe9ade6754 Rename Container to DisplayedContent 2021-05-06 02:14:04 +09:00
Denrage
b6b9a69601 Removed unnecessary class for wrapping 2021-05-05 18:50:49 +02:00
Denrage
bb385f4255 Reverted difficulty and mod updates 2021-05-05 18:15:59 +02:00
Denrage
2797507758 Reorganized elements for readability 2021-05-05 17:56:07 +02:00
Denrage
88506a51dd reduced complexity 2021-05-05 17:51:29 +02:00
Denrage
5049e2fbf9 Refactored out changes in DifficultyColourBar 2021-05-05 15:28:33 +02:00
Dean Herbert
4ef901d08d Remove unnecessary redirection property to Container.Info 2021-05-05 21:07:49 +09:00
Denrage
cf6ed7a7cf Refactored out changes in StarRatingDisplay 2021-05-05 13:13:37 +02:00
Dean Herbert
377af38d94 Remove unnecessary pixelSnapping parameter
This was only required because there was text being rendered to the
`BufferedContainer` content until now. Removing this should allow for
better resolution in the background display (due to using a better
minify scale mode).
2021-05-05 17:59:51 +09:00
Denrage
713344ebad Reorganize methods 2021-04-23 10:31:49 +02:00
Denrage
0dfd0bb59d Refactored background of BeatmapInfoWedge 2021-04-21 15:46:11 +02:00
Denrage
d6928e91fd Removed BeatmapInfo in StarRatingDisplay 2021-04-21 15:43:48 +02:00
Denrage
9fba87f67a Moved Info and Background into own container 2021-04-21 15:43:29 +02:00
Denrage
e9571b72cf Fixed InspectCode 2021-04-20 14:53:35 +02:00
Denrage
583754b22a Removed unnecessary whitespaces 2021-04-20 14:29:53 +02:00
Denrage
df29e61147 Fix CodeFactor error 2021-04-20 14:22:49 +02:00
Denrage
f799a6e733 Removed StarDifficulty binding passthrough 2021-04-20 14:18:41 +02:00
Denrage
c5d35ab787 removed mods binding passthrough 2021-04-20 12:40:22 +02:00
Denrage
4e6cd8082e WIP refresh BPM-Label on mod change 2021-04-20 12:00:04 +02:00
Denrage
6e72ee5f76 Added bindable stardifficulty to StarRatingDisplay 2021-04-20 10:37:53 +02:00
Denrage
505a117862 splitted updateable part of wedge 2021-04-20 10:37:52 +02:00
Denrage
6bf6084ae9 fixed according to suggestions 2021-04-19 19:24:46 +02:00
Denrage
9f24cdb355 Added Author Link in BeatmapInfoWedge 2021-04-19 16:54:09 +02:00
Dean Herbert
dfe3240b45
Merge pull request #12353 from nekodex/songselect-hoversamples
Add a hover sample type for SongSelect buttons
2021-04-10 01:45:47 +09:00
Jamie Taylor
ffacd38e57 Reduce the randomised pitch range of hover sounds 2021-04-09 23:03:14 +09:00
Jamie Taylor
8a0da06e89 Add a hover sample type for SongSelect buttons 2021-04-09 23:00:40 +09:00
Dean Herbert
0f2c03d54b Add back "rewind" text, showing temporarily after a rewind occurs 2021-04-07 18:29:45 +09:00
Dean Herbert
afc745f999 Merge branch 'master' into rebind-song-select 2021-04-07 17:13:25 +09:00
Dean Herbert
3113eefcf6 Don't attempt to load content when not online 2021-04-06 17:12:00 +09:00
Dean Herbert
899d708dac Move loading layer up one level to correct padding 2021-04-06 17:09:51 +09:00
Dean Herbert
1934e8e1fe Fix loading layer being in the wrong place 2021-04-06 16:30:47 +09:00
Dean Herbert
59e6c46644 Remove unnecessary online state logic 2021-04-06 16:23:27 +09:00
Dean Herbert
dafa8bbe4e Refactor BeatmapDetails to use GridContainer to keep a consistent layout 2021-04-06 16:21:20 +09:00
PercyDan54
a5a19319cc
Fix code style 2021-04-02 21:15:28 +08:00
PercyDan54
1ff77754fd
Use OnlineViewContainer 2021-04-02 20:14:31 +08:00
Dean Herbert
6cb14e91c9 Make Player abstract and introduce SoloPlayer 2021-03-23 18:18:49 +09:00
Bartłomiej Dach
12b7d9e06d Simplify custom filter criteria retrieval 2021-03-06 12:16:01 +01:00
Bartłomiej Dach
f733d1ec1f Expose and document query parser and helpers 2021-03-03 22:03:01 +01:00
Bartłomiej Dach
f9148eec20 Refactor filter query parsing helper methods
In preparation for exposition as public.
2021-03-03 21:34:14 +01:00
Bartłomiej Dach
42c3309d49 Use ruleset criteria in parsing and filtering 2021-03-02 20:11:21 +01:00
Bartłomiej Dach
c375be6b07 Instantiate ruleset criteria 2021-03-02 20:10:03 +01:00
Bartłomiej Dach
e46543a4a9 Constrain operator parsing better 2021-03-02 19:56:36 +01:00
Bartłomiej Dach
26736d990f Enable filter parsing extensibility 2021-03-02 19:42:47 +01:00
Bartłomiej Dach
d0decc73be Merge branch 'master' into beatmap-difficulty-cache-nullable 2021-02-25 19:40:38 +01:00
Dean Herbert
a792c3f13c
Merge pull request #11900 from peppy/update-bpm-with-mods
Update the displayed BPM at song select with rate adjust mods
2021-02-26 00:25:55 +09:00
smoogipoo
01a4815412 Make labels disappear on null beatmap/no hitobjects 2021-02-25 23:36:02 +09:00
Dan Balasescu
46ea0f44eb
Merge branch 'master' into beatmap-difficulty-cache-nullable 2021-02-25 22:52:15 +09:00
smoogipoo
c1f27ba938 Merge branch 'master' into fix-song-select-star-rating-display-zero-flashing 2021-02-25 22:13:48 +09:00
smoogipoo
c3eb44137b Move ValueChanged bind back to load() 2021-02-25 22:09:41 +09:00
smoogipoo
649ce20e35 Fix up super weird and super wrong DI 2021-02-25 22:01:53 +09:00
smoogipoo
b090a82b35 Merge branch 'master' into update-bpm-with-mods 2021-02-25 21:58:54 +09:00
smoogipoo
de417a660d Make BPM update with changes in mod settings 2021-02-25 21:51:32 +09:00
smoogipoo
98313a98bf DI mods in parent class and pass them down 2021-02-25 21:48:02 +09:00
Dean Herbert
2db4b793d7 Also handle most common BPM display 2021-02-25 17:05:00 +09:00
Dean Herbert
31c52bd585 Update the displayed BPM at song select with rate adjust mods
This only covers constant rate rate adjust mods. Mods like wind up/wind
down will need a more complex implementation which we haven't really
planned yet.
2021-02-25 17:00:44 +09:00
Dean Herbert
03771ce8ec Allow determining a BeatmapDifficultyCache's bindable return's completion state via nullability 2021-02-25 16:19:01 +09:00
Dean Herbert
9f3ceb99eb Fix the star rating display at song select flashing to zero when changing mods
Due to the use of bindable flow provided by `BeatmapDifficultyCache` in
this usage, the display would briefly flash to zero while difficulty
calculation was still running (as there is no way for a consumer of the
provided bindable to know whether the returned 0 is an actual 0 SR or a
"pending" calculation).

While I hope to fix this by making the bindable flow return nullable
values, I think this particular use case works better with non-bindable
flow so have switched across to that.
2021-02-25 16:05:13 +09:00
Dean Herbert
e82eaffaed Flip order back to original for romanisable strings 2021-02-25 14:14:07 +09:00
Dean Herbert
a362382d38 Add back more correct null checks 2021-02-25 14:06:21 +09:00
Dean Herbert
8a97e2e28d Update LocalisedString usages to RomanisedString 2021-02-22 19:01:42 +09:00
Dean Herbert
1fd76ea3fb Apply changes to UI components overriding functions with changing signatures 2021-02-22 19:01:42 +09:00
Dan Balasescu
6240d3964c
Merge pull request #11817 from peppy/fix-collection-dropdown-cross-thread-manipulation
Fix potential crash from cross-thread drawable manipulation in CollectionFilterDropdown
2021-02-19 10:06:42 +09:00
Dan Balasescu
46b67dd7bc
Merge pull request #11821 from peppy/fix-carousel-border-additive-alplha
Fix carousel items' borders getting blown out when selected and hovered
2021-02-18 17:45:58 +09:00
Dean Herbert
b713eb2eae Make field readonly 2021-02-18 17:13:48 +09:00
Dean Herbert
c3a98b6ad1 Fix carousel items' borders getting blown out when selected and hovered
I tried restructuring the hierarchy to avoid needing this added property
(moving the hover layer out of the border container) but this leads to
some subpixel leakage outside the borders which looks even worse.

Closes #6915.
2021-02-18 16:59:44 +09:00
Dean Herbert
421cdb6650 Consume new method in existing usages (and remove some unnecessary set/unset code) 2021-02-18 15:01:11 +09:00
Dean Herbert
90dce52042 Fix potential crash from cross-thread drawable manipulation in CollectionFilterDropdown 2021-02-18 14:10:28 +09:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Dean Herbert
cd01591dda Consume new debounce logic in carousel header 2021-02-12 12:22:35 +09:00
Dean Herbert
98c5b0220c
Merge pull request #11725 from smoogipoo/freemods-user-settings
Add local user customisation for freemod mod settings
2021-02-11 16:02:24 +09:00
Dean Herbert
eaa7b4cb93 Rename second usage variable name to match 2021-02-11 14:54:50 +09:00
smoogipoo
6fff7c39da Ensure tracker is disposed 2021-02-10 20:09:45 +09:00
smoogipoo
393cd6c74a Add helper class for tracking changes to mod settings 2021-02-10 19:40:07 +09:00
Jamie Taylor
bc7f4a4f88 Use a single sample for CarouselHeader on-hover with randomised pitch instead of multiple samples 2021-02-10 17:53:47 +09:00
smoogipoo
69ca440ae5 Merge branch 'master' into more-accurate-most-common-bpm 2021-02-08 18:40:58 +09:00
Dean Herbert
3e750feaa4 Subclass LocalPlayerModSelectOverlay to correctly deselect incompatible mods on free mod selection 2021-02-05 16:42:35 +09:00
smoogipoo
97e3023df9 Renamespace/rename MatchSongSelect -> PlaylistsSongSelect 2021-02-01 20:16:58 +09:00
smoogipoo
9c4c47599f Merge branch 'master' into freemods 2021-02-01 19:28:10 +09:00
smoogipoo
89a42d60fb General cleanup 2021-02-01 18:50:32 +09:00
smoogipoo
426569c2a9 Move common song select implementation for online play 2021-02-01 14:57:39 +09:00
smoogipoo
230b347c1e Move ModSelectOverlay.IsValidMod to a property 2021-02-01 12:18:11 +09:00
smoogipoo
45e41aaeac Initial implementation of freemod selection overlay 2021-01-27 22:15:53 +09:00
smoogipoo
4019cc38e5 Allow footer buttons to be customised 2021-01-27 22:03:51 +09:00
smoogipoo
91d34d86f7 Abstractify ModSelectOverlay 2021-01-27 22:02:23 +09:00
Dean Herbert
a6516e3be5 Merge branch 'master' into scroll-to-20 2021-01-21 14:28:17 +09:00
Dean Herbert
7c4a072568 Merge branch 'master' into scroll-to-20 2021-01-21 13:48:26 +09:00
smoogipoo
eb85efcea2 Add check to playlists too 2021-01-20 20:59:28 +09:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
Dean Herbert
0b165dce4b Fix multiplayer mod select showing autoplay as a choice 2021-01-18 17:50:32 +09:00
smoogipoo
24e991a5ef Actually return beat length and not BPM 2021-01-15 14:35:09 +09:00
smoogipoo
c6e9a6cd5a Make most common BPM more accurate 2021-01-15 14:28:49 +09:00
Dean Herbert
0a65ae8f1e Fix the beatmap carousel playing the difficulty change sample on beatmap change 2021-01-15 14:07:24 +09:00
Dean Herbert
4973e23003 Merge branch 'master' into fix-transform-mutation-mod-selection 2021-01-08 11:16:15 +09:00
Bartłomiej Dach
4998aaaa98 Remove outdated warning disable
Does not trigger any more on Rider 2020.3.2.
2021-01-06 18:38:25 +01:00
Bartłomiej Dach
7651d4554a
Merge branch 'master' into fix-transform-carousel 2021-01-06 13:49:05 +01:00
Bartłomiej Dach
43b9fde457 Add some nullability annotations for good measure 2021-01-06 13:15:15 +01:00
Dean Herbert
99701a6d9b Add null check on beatmapContainer for safety 2021-01-06 21:06:33 +09:00
Dean Herbert
ffafdf2209 Merge branch 'master' into fix-transform-carousel 2021-01-06 21:03:22 +09:00
Bartłomiej Dach
25b4628672
Merge branch 'master' into fix-transform-mutation-from-background 2021-01-06 11:04:51 +01:00
Bartłomiej Dach
52687fc37c Merge branch 'master' into fix-transform-mutation-loading-layer 2021-01-05 23:10:51 +01:00
Dean Herbert
4b539b01c1 Match code between updateSelectedBeatmap/Ruleset 2021-01-05 20:38:58 +09:00
Dean Herbert
83dbba3cbf Fix carousel beatmap set panels applying transforms to difficulties while they are loading 2021-01-05 18:41:45 +09:00
Dean Herbert
54982dcdd7 Refactor LoadingLayer to avoid applying effects to external drawables
In theory this seemed like a good idea (and an optimisation in some
cases, due to lower fill rate), but in practice this leads to weird edge
cases.

This aims to do away with the operations on external drawables by
applying a dim to the area behind the `LoadingLayer` when required.
I went over each usage and ensured they look as good or better than
previously.

The specific bad usage here was the restoration of the colour on dispose
(if the `LoadingLayer` was disposed in a still-visible state).

I'm aware that the `BeatmapListingOverlay` will now dim completely during
load. I think this is fine for the time being.
2021-01-05 17:31:45 +09:00
Dean Herbert
9bac791a57 Fix deselection of autoplay mod failing 2021-01-05 16:17:58 +09:00
Dean Herbert
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +09:00
Dean Herbert
a3e4e2f6c3 Switch ResultsScreen and SongSelect inheritance and remove local implementation 2021-01-05 15:22:50 +09:00
Dean Herbert
53e6a349bb Fix incorrect initial conditional
Turns out this wasn't actually required.
2021-01-03 22:44:32 +09:00
Dean Herbert
efb71713ef Fix null condition inhibiting deselection events 2021-01-03 22:43:02 +09:00
Dean Herbert
a6d4992997 Ensure SelectionChanged events are only sent once when selection is null 2021-01-03 12:53:25 +09:00
Dean Herbert
caa5109e3a Add precautionary null checks to update methods in SongSelect 2021-01-03 12:18:35 +09:00
Dean Herbert
e2de5bb8f9 Fix the beatmap carousel not returning to centre correctly after resizing window 2021-01-02 22:05:41 +09:00
Bartłomiej Dach
4c43a67b68 Rename I{Multiplayer -> OnlinePlay}SubScreen 2020-12-25 18:07:34 +01:00
Bartłomiej Dach
83fb7c7a1a Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
Dean Herbert
5d4b73baa5 RealtimeMultiplayer -> Multiplayer 2020-12-25 14:10:59 +09:00
Endrik Tombak
78c14fd696 Refactor code into UserTrackingScrollContainer 2020-12-22 17:36:44 +02:00
Dean Herbert
df5e1d83bd Allow recommender to potentially be null 2020-12-22 14:36:52 +09:00
Dean Herbert
8cc2ed3fae Move from OsuGameBase to OsuGame
Also moves to a more suitable namespace.
2020-12-22 14:28:27 +09:00
Dean Herbert
626b7615ad Move and rename some fields for better readability 2020-12-22 14:23:33 +09:00
Dean Herbert
dff865f335 Tidy up comments, code, and multiple linq enumeration 2020-12-22 14:12:02 +09:00
Dean Herbert
d229fbba6e
Merge branch 'master' into present-recommended 2020-12-22 13:52:29 +09:00
Endrik Tombak
c25e2c3dd5 Select recommended beatmap if last selection is filtered 2020-12-03 23:13:14 +02:00
Endrik Tombak
49be4978bd Avoid calling ToList twice 2020-12-03 19:53:41 +02:00
Endrik Tombak
4cd2e207ac Document getBestRulesetOrder 2020-12-03 19:53:06 +02:00
Endrik Tombak
48dad61a46 Apply review suggestions 2020-12-03 19:44:12 +02:00
Endrik Tombak
cbbcf36eaa Merge branch 'master' of https://github.com/ppy/osu into present-recommended 2020-12-03 19:38:32 +02:00
Dan Balasescu
1d92800761
Merge pull request #11068 from peppy/fix-carousel-edge-masking
Fix beatmap carousel panels getting masked away when out of scroll bounds
2020-12-03 20:40:44 +09:00
smoogipoo
31f7f7072d Fix song select panels not loading if partially offscreen 2020-12-03 15:13:20 +09:00
Dean Herbert
897f593b37 Fix beatmap carousel panels getting masked away when out of scroll bounds
Regressed in https://github.com/ppy/osu/pull/10973 due to removed masking specification.

Closes #11067.
2020-12-03 13:26:28 +09:00
Dean Herbert
a852a27dfb Fix current beatmap temporarily becoming empty during ruleset change
When changing the ruleset at song select, there was a scenario where it
would be set to default (empty) for one debounce length where this was
not actually required. This occurs when the currently selected beatmap
set has other difficulties which match the target ruleset, specifically.
2020-11-30 19:36:30 +09:00
Dean Herbert
792934f2c4 Allow scroll type to be specified
This brings back the ability for the carousel to scroll in a classic
way. It turns out this is generally what we want for "seek" operations
like "random", else it's quite hard to get the expected animation.

I did experiment with applying the animation after the pooled panels are
retrieved, but in a best-case scenario there is still a gap where no
panels are displayed during the random seek operation.
2020-11-27 13:54:38 +09:00
Dean Herbert
0a48dd8f76 Delegate scroll animation to panels themselves 2020-11-26 18:42:51 +09:00
Dean Herbert
ad258e2e52 Update scroll position before applying any panel animations
In the case of automatic scroll requirements (ie. scroll to selected) we
are delegating the animation logic to the panels themselves. In order to
make this work correctly, the scroll operation needs to take effect
before any animation updates are run.
2020-11-26 18:33:41 +09:00
Dean Herbert
6058c66edb Move drawable carousel set movement logic into panels themselves 2020-11-26 18:32:43 +09:00
Dean Herbert
f8db7a9902 Remove ScrollableContent container from carousel
This was causing multiple issues with masking and sizing and really
didn't need to exist in the first place. Also not sure why the pool was
nested inside the scroll container, but it isn't any more. Probably for
the best.
2020-11-26 18:28:54 +09:00
Endrik Tombak
72d9da5fac Apply review suggestions 2020-11-21 14:26:09 +02:00
Endrik Tombak
6c5a6b42e5 Only calculate recommended SR once 2020-11-21 14:09:32 +02:00
Endrik Tombak
944f3480c2 Merge branch 'master' of https://github.com/ppy/osu into present-recommended
 Conflicts:
	osu.Game/OsuGameBase.cs
	osu.Game/Screens/Select/DifficultyRecommender.cs
	osu.Game/Screens/Select/SongSelect.cs
2020-11-21 14:01:01 +02:00
Dean Herbert
2db42f8e67 Remove default allowRetry parameter value from ResultsScreen 2020-11-20 14:35:44 +09:00
Dean Herbert
5113d4af8f Rename BeatmapDifficultyManager to BeatmapDifficultyCache 2020-11-06 13:14:29 +09:00
Dan Balasescu
98c992004b
Merge pull request #10660 from peppy/fix-song-select-first-track-looping
Fix looping mode not being set on first track after entering song select
2020-11-04 14:37:27 +09:00
Dean Herbert
cfe3218239 Move scheduler call to inside method itself for added safety 2020-11-04 10:23:06 +09:00
Dean Herbert
d788931661 Fix LoadComponentAsync calls potentially occuring after beatmap wedge disposal
As seen in https://ci.appveyor.com/project/peppy/osu/builds/36109658/tests.

Also adds cancellation logic for good measure.
2020-11-03 19:53:45 +09:00
Dean Herbert
df9ff76f23 Reduce assert to guard in the outwards direction 2020-11-03 16:49:13 +09:00
Dean Herbert
d5c95a8b46 Centralise into methods and add assertions for safety 2020-11-03 00:45:55 +09:00
Dean Herbert
c3d3856a64 Fix looping mode not being set on first track after entering song select
Closes #10656.
2020-11-02 23:51:02 +09:00
smoogipoo
6f623d8cca Rename IsUserPaused -> UserPauseRequested 2020-11-02 16:08:59 +09:00