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

2410 Commits

Author SHA1 Message Date
Bartłomiej Dach
a07f8c74dc
Add basic structure for composable card dropdown 2021-12-05 15:26:37 +01:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store 2021-12-04 15:05:39 +01:00
Dean Herbert
e75e209053 Cache and consume IRulesetStore where feasible 2021-12-03 18:16:01 +09:00
Dean Herbert
9c717ce7ec
Merge branch 'master' into diffcalc-cli-arg 2021-12-03 15:10:55 +09:00
Bartłomiej Dach
45656c3599
Fix difficulty spectrum display not ordering ruleset groups by ID 2021-11-29 22:06:11 +01:00
Bartłomiej Dach
0fc4d6dc2a
Implement beatmap card difficulty list 2021-11-29 22:04:09 +01:00
Dean Herbert
a7e4e7be3a Remove the ability to specify a filename in ReplaceFile 2021-11-29 18:11:51 +09:00
Dan Balasescu
e5dcfc3113 Use console IPC 2021-11-28 14:03:21 +09:00
Bartłomiej Dach
05f7ea6b6d
Remove mentions of "panel" and "direct" from names of old download buttons 2021-11-27 15:08:03 +01:00
Bartłomiej Dach
a043d1e427
Move old beatmap download button to more general namespace 2021-11-27 15:06:57 +01:00
Bartłomiej Dach
7419682334
Move icon pill to beatmap card-specific namespace 2021-11-27 15:01:48 +01:00
Dean Herbert
f16ef1ee69 Reapply schedule workaround for PreviewTrack 2021-11-26 22:34:05 +09:00
Dean Herbert
bf443a5a7a Switch unnecessary return to break instead 2021-11-26 15:36:16 +09:00
Dean Herbert
5de2f6211d Show a spinner instead of the download button on the new card during beatmap download 2021-11-26 15:32:33 +09:00
Bartłomiej Dach
84a36ab4a9
Add integration with beatmap set overlay 2021-11-25 22:30:46 +01:00
Dan Balasescu
f712aeee01
Merge pull request #15795 from peppy/realm-integration/separate-download-flow
Split out download logic from main manager classes
2021-11-25 20:59:23 +09:00
Dan Balasescu
d7a960212f
Merge pull request #15794 from peppy/realm-integration/stable-export-flow
Split out legacy model export logic into `LegacyModelExporter` classes
2021-11-25 20:20:18 +09:00
Dan Balasescu
2b85738384
Merge pull request #15797 from peppy/remove-pointless-i-beatmap-model-manager
Remove pointless interface class for `IBeatmapModelManager`
2021-11-25 19:07:19 +09:00
Dean Herbert
a6ee0eec0d Remove pointless interface class for IBeatmapModelManager
Was originally going to be used but serves no purpose any more.
2021-11-25 18:15:10 +09:00
Dean Herbert
eeccf836ec Remove unnecessary GameHost parameter 2021-11-25 17:42:41 +09:00
Dean Herbert
716543b5b3 Move beatmap download logic out of BeatmapManager 2021-11-25 17:29:41 +09:00
Dean Herbert
cc1b91e4bd Split out legacy model export logic into LegacyModelExporter classes 2021-11-25 16:41:12 +09:00
Dean Herbert
7488ccd5fe Update all models to implement IHasNamedFiles 2021-11-25 16:41:12 +09:00
Dean Herbert
416ee2447a Move archive filename helper method to extension method 2021-11-25 16:35:54 +09:00
Dean Herbert
6cab7b877d Move stable import handling into its own class 2021-11-25 15:36:58 +09:00
Dean Herbert
1533e245de
Merge pull request #15767 from bdach/beatmap-card/track-preview
Add preview track playback function to beatmap card
2021-11-25 12:08:03 +09:00
Dan Balasescu
ce8500a732
Merge branch 'master' into remove-model-file-list-inits 2021-11-24 19:46:42 +09:00
Dean Herbert
b739b6a725
Merge branch 'master' into beatmap-card/track-preview 2021-11-24 18:54:25 +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
ddbd4f9473 Merge branch 'master' into remove-model-file-list-inits 2021-11-24 18:39:01 +09:00
Dan Balasescu
5ff62a8e04
Merge pull request #15779 from peppy/remaining-misc-fixes
Apply some various code quality fixes that don't fit elsewhere
2021-11-24 16:59:49 +09:00
Dan Balasescu
74b6c33fab
Merge pull request #15778 from peppy/ruleset-info-id-usage
Update usages of `RulesetInfo.ID` to use `OnlineID` instead
2021-11-24 16:55:28 +09:00
Dan Balasescu
834bdd8e5c
Merge pull request #15776 from peppy/non-null-beatmapset-metadata
Make `BeatmapSet.Metadata` non-null
2021-11-24 16:48:28 +09:00
Dan Balasescu
8ce5324c8b
Merge pull request #15772 from peppy/remove-model-list-inits
Initialise `BeatmapSet.Beatmaps` list at construction time
2021-11-24 16:41:19 +09:00
Dean Herbert
3e0e01abdb Move bookmark parsing logic into LegacyBeatmapDecoder 2021-11-24 16:29:51 +09:00
Dean Herbert
9c61ec217b Remove unnecessary mainTrackMixer parameter from BeatmapManager 2021-11-24 16:27:17 +09:00
Dean Herbert
bbd3ea5b77 Update all actual usages of RulesetInfo.ID to use OnlineID instead 2021-11-24 15:50:26 +09:00
Dean Herbert
3946a39b65 Make BeatmapSet.Metadata non-null 2021-11-24 15:03:34 +09:00
Dean Herbert
a7853fc9cc Fix cases of known-non-null 2021-11-24 14:26:25 +09:00
Dean Herbert
99a139dc98 Initialise all file lists at construction time (and remove setter) 2021-11-24 13:56:21 +09:00
Dan Balasescu
6183d1cd46
Merge pull request #15769 from peppy/model-equality-consistency
Update cases where equality can be used instead of primary key equality
2021-11-24 13:45:57 +09:00
Dean Herbert
a3fdab34d5 Avoid json serialisation of aggregate helper properties
Also avoids `throw`ing when there are no beatmaps available. Until now
this wasn't an issue due to the `Beatmaps` list being null instead of empty.
2021-11-24 13:36:34 +09:00
Dean Herbert
8c60f37508 Fix cases of dynamically assigning Beatmaps to BeatmapSetInfo using list assignment 2021-11-24 13:27:37 +09:00
Dean Herbert
49c2cb9125 Initialise BeatmapSet.Beatmaps list to line up with realm expectations 2021-11-24 13:25:55 +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
Dean Herbert
0eea026afb Remove null checks on CreateInstance() calls 2021-11-24 12:23:09 +09:00
Bartłomiej Dach
1a1603f0db
Implement preview track playback 2021-11-23 23:17:30 +01:00
Bartłomiej Dach
9164f006aa
Implement basic behaviour of play button 2021-11-23 22:44:09 +01:00
Bartłomiej Dach
5d13686cdf
Add play button for card preview 2021-11-23 22:44:08 +01:00
Bartłomiej Dach
4011da033b
Split off thumbnail to separate component 2021-11-23 22:44:07 +01:00
Dean Herbert
b9923e5396 Remove subclassing of RulesetInfo 2021-11-22 16:39:17 +09:00
Bartłomiej Dach
975744d26c
Remove no longer used [Cached] attribute 2021-11-21 13:19:16 +01:00
Dean Herbert
c0962b1c4f
Merge branch 'master' into beatmap-card/download-button 2021-11-21 20:04:26 +09:00
Bartłomiej Dach
bb8e8bc4f0
Use consistent type for mod collection in all overloads 2021-11-21 11:30:45 +01:00
Dean Herbert
63642450a4
Merge branch 'master' into fix-working-beatmap-wrong-exception-type 2021-11-21 15:50:07 +09:00
Dan Balasescu
a06b361fe2
Merge pull request #15705 from bdach/fix-difficulty-cache-caching-zeroes
Fix zero star difficulty values being cached when diffcalc was interrupted
2021-11-21 15:45:29 +09:00
Bartłomiej Dach
297de27a6a
Use BindTarget from card rather than caching & resolving download tracker 2021-11-20 18:48:26 +01:00
Bartłomiej Dach
b3606f4a21
Rename {Play -> GoToBeatmap}Button 2021-11-20 18:36:39 +01:00
Bartłomiej Dach
a7e45a9098
Log all non-cancellation errors in difficulty cache 2021-11-20 17:32:40 +01:00
Bartłomiej Dach
6100bf66a6
Clean up cancellation handling in WorkingBeatmap
After the recent changes introducing cancellation support to
`WorkingBeatmap`, it turned out that if the cancellation support was
used, `GetPlayableBeatmap()` would raise timeout exceptions rather than
the expected `OperationCanceledException`.

To that end, split off a separate overload for the typical usage, that
catches `OperationCanceledException` and converts them to beatmap load
timeout exceptions, and use normal `OperationCanceledException`s in the
overload that requires a cancellation token to work.
2021-11-20 17:23:55 +01: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
eecf6ad558 Add IsManaged helper method to EF classes to match realm implementation 2021-11-19 21:56:06 +09:00
Dean Herbert
59e763467f Move StoragePath implementation to an extension method 2021-11-19 16:08:38 +09:00
Dean Herbert
6e5918a100 Add slight scale to icon buttons 2021-11-19 15:28:03 +09:00
Dean Herbert
741c27c1f2 Always populate action to make button behave better in testing scenarios 2021-11-19 15:27:38 +09:00
Dean Herbert
5034cb1025
Merge branch 'master' into beatmap-card/download-button 2021-11-19 14:59:42 +09:00
Bartłomiej Dach
0eaf450204
Make field readonly 2021-11-18 22:50:41 +01:00
Bartłomiej Dach
8a1d6757af
Merge branch 'master' into beatmap-card/download-button 2021-11-18 22:37:35 +01:00
Bartłomiej Dach
412abf30d9
Refactor buttons again to work with latest design guidelines 2021-11-18 22:34:40 +01:00
Bartłomiej Dach
761d1e45f2
Use lime background on right side of card to signify downloaded sets 2021-11-18 21:36:41 +01:00
Dean Herbert
bf8507c7b9 Only apply default timeout when debugger not attached 2021-11-18 23:26:45 +09:00
Bartłomiej Dach
1c13b39104
Revert incorrect ordering change 2021-11-17 22:10:46 +01:00
Bartłomiej Dach
8b134914cf
Merge branch 'master' into beatmap-cancellation-token 2021-11-17 21:52:30 +01:00
Dean Herbert
7c2e79f911 Update all simple cases of switching to IWorkingBeatmap 2021-11-17 20:56:57 +09:00
Dean Herbert
0715d40ea0 Merge branch 'master' into beatmap-cancellation-token 2021-11-17 11:16:10 +09:00
Dean Herbert
13f3e2eea9 Add back default timeout to GetPlayableBeatmap 2021-11-17 11:06:31 +09:00
Dean Herbert
f5c52755c9 Merge branch 'master' into i-working-beatmap/difficulty-calculator 2021-11-16 16:19:22 +09:00
Dean Herbert
726a0cc091 Merge branch 'master' into beatmap-collection-inteface-types 2021-11-16 15:31:10 +09:00
Dean Herbert
d2a7670494 Remove no longer used helper method 2021-11-16 14:48:02 +09:00
Dean Herbert
6cca657a2d Standardise naming of CancellationToken parameters 2021-11-16 14:45:51 +09:00
Dean Herbert
53c0682a08 Merge branch 'master' into beatmap-cancellation-token 2021-11-16 14:43:13 +09:00
Dean Herbert
9207b87b76 Add back interface equality but limit to only matching types 2021-11-16 12:35:18 +09:00
Dan Balasescu
1d87b47fec Remove now-unnecessary R# disables 2021-11-15 19:40:31 +09:00
Dean Herbert
a90cfb4a2f Implement remaining properties via implicit implementation rather than interface methods 2021-11-15 19:30:46 +09:00
Dean Herbert
369b4ba789 Update DifficultyCalculator to take an IRulesetInfo 2021-11-15 19:16:48 +09:00
Dean Herbert
62d670a3ca Update DifficultyCalculator to take an IWorkingBeatmap 2021-11-15 19:16:48 +09:00
Dean Herbert
960cecf3db Merge branch 'beatmap-collection-inteface-types' into i-working-beatmap/difficulty-calculator 2021-11-15 19:16:47 +09:00
Dean Herbert
a0e25d18cd Expose more of WorkingBeatmap via interface 2021-11-15 18:25:48 +09:00
Dean Herbert
0b4822b552 Remove newly added equality 2021-11-15 14:35:01 +09:00
Bartłomiej Dach
b58fe2d80a
Restructure card to use single tracker at the top level 2021-11-13 15:39:03 +01:00
Bartłomiej Dach
c38c95b373
Merge branch 'master' into beatmap-card/download-button 2021-11-13 14:59:59 +01:00
Dean Herbert
9f7e2750a5 Merge branch 'master' into beatmap-collection-inteface-types 2021-11-12 19:41:29 +09:00
Dean Herbert
5e88d59a26 Switch BeatmapInfo.OnlineID delegation to use property getter for conformity 2021-11-12 19:06:12 +09:00
Dean Herbert
1d962648c2 Standardise implementations 2021-11-12 19:00:27 +09:00
Dean Herbert
54cd1158a4 Add IBeatmapSetInfo equality support 2021-11-12 18:16:36 +09:00
Dean Herbert
a67e156883 Add IBeatmapInfo equality support 2021-11-12 18:11:33 +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
Dean Herbert
51a353e12d Rename BeatmapInfo.Version to DifficultyName to match underlying interface 2021-11-11 17:20:53 +09:00