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

2879 Commits

Author SHA1 Message Date
Dean Herbert
9b33fbbee5 Ensure detached when performing model Clone operations on BeatmapInfo/ScoreInfo 2022-01-14 13:08:20 +09:00
Dean Herbert
b610d2db12 Add EF to realm beatmap migration 2022-01-13 18:23:18 +09:00
Dean Herbert
069d6d2954 Remove pointless compatibility parameter BeatmapSetInfoID 2022-01-13 18:02:10 +09:00
Dean Herbert
93c78253d6 Add synchronous fetch flow to BeatmapOnlineLookupQueue
The async flow doesn't work great with the realm import process. We
might be able to improve on this going forward, but for the time being
adding a synchronous path seems safest.

After all, we are already an an asynchronous (dedicated) thread pool at
this point.
2022-01-13 16:36:54 +09:00
Dean Herbert
b77cb344d5 Use ctor rather than MemberwiseClone to guarantee a safer clone of BeatmapDifficulty 2022-01-13 13:23:41 +09:00
Dean Herbert
86b2ac3217 Remove unnecessary Ruleset null check in BeatmapDifficultyCache 2022-01-13 13:19:49 +09:00
Dean Herbert
eb70a1eeb7 Replace compatibility properties with direct references 2022-01-12 18:13:14 +09:00
Dean Herbert
34aa1bf21d Sanitise and remove some usages of Detach which are no longer required 2022-01-12 17:49:11 +09:00
Dean Herbert
5f7365e8f3 Ensure scores are cleaned up alongside beatmap so they don't have a null reference 2022-01-12 17:49:11 +09:00
Dean Herbert
f24b2b1be3 Make copying detached changes to realm only exposed for BeatmapSet
Also fixes remaining issues with the copy process.
2022-01-12 17:49:11 +09:00
Dean Herbert
a4de0f93fa Move manager Update methods to be explicit to where they are still used by legacy code
Also fixes skin hash repopulation being completely broken.
2022-01-12 17:49:11 +09:00
Dean Herbert
51d6db1bca Add equatable support to IUser and RealmUser
Not sure this will stick, but let's add it for now to make testing
detach support work nicely.
2022-01-12 17:49:11 +09:00
Dean Herbert
157dfdaa82 Fix protected beatmap sets getting deleted 2022-01-12 17:49:11 +09:00
Dean Herbert
72656ae01e Fix beatmap restore/undelete flows 2022-01-12 17:49:11 +09:00
Dean Herbert
46206f70d6 Fix beatmap mass deletion flow 2022-01-12 17:49:11 +09:00
Dean Herbert
d5239d550a Add refetch for non-managed hide/restore attempts 2022-01-12 17:49:11 +09:00
Dean Herbert
46e92c3b60 Clean up BeatmapManager query methods 2022-01-12 17:49:11 +09:00
Dean Herbert
9beabad6a4 Remove hide/restore event flow 2022-01-12 17:49:11 +09:00
Dean Herbert
c06b5951fd Fix multiple remaining warnings 2022-01-12 17:49:11 +09:00
Dean Herbert
7509a9ff8f Update BeatmapModelManager.Save to work for editor scenarios 2022-01-12 17:49:11 +09:00
Dean Herbert
8c3dc4333d Fix incorrect realm access after new beatmap import 2022-01-12 17:49:11 +09:00
Dean Herbert
2ce80cc030 Add back caching in WorkingBeatmapCache 2022-01-12 17:49:11 +09:00
Dean Herbert
286994a808 Fix BeatmapDifficulty cloning regression 2022-01-12 17:49:11 +09:00
Dean Herbert
f451560203 Update null allowances across beatmaps and scores 2022-01-12 17:49:11 +09:00
Dean Herbert
6033a825ed Ensure BeatmapInfo Difficulty and Metadata is non-null 2022-01-12 17:49:11 +09:00
Dean Herbert
a0f8debafe Add note about BeatmapMetadata.Author being weird 2022-01-12 17:49:10 +09:00
Dean Herbert
83ccbc1d13 Mention safety failures of Beatmap/Score constructors 2022-01-12 17:00:17 +09:00
Dean Herbert
c831e9107a Fix BeatmapInfo.Clone potentially not cloning if already detached 2022-01-12 17:00:17 +09:00
Dean Herbert
e5af673b01 Fix incorrect BeatmapInfo.ToString implementation 2022-01-12 17:00:17 +09:00
Dean Herbert
e74a5022c9 Fix multiple tests via null checks and changing ToLive to Detach
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
76670a8faa Fix BeatmapDifficultyCache not working with detached beatmaps 2022-01-12 17:00:17 +09:00
Dean Herbert
aaefd72c69 Handle ignored mappings locally in Detach configuration 2022-01-12 17:00:17 +09:00
Dean Herbert
8461eaab46 BeatmapSetInfo detach support 2022-01-12 17:00:16 +09:00
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
0793b0f0ab Fix Max lookup methods not checking for zero beatmap count 2022-01-12 17:00:16 +09:00
Dean Herbert
dcd69e852e Add back settable RulesetID for now 2022-01-12 17:00:16 +09:00
Dean Herbert
2a980cc474 Fix BeatmapInfo file lookup not handling the case where no files exist
Quite common for test scenes.
2022-01-12 17:00:16 +09:00
Dean Herbert
99e46cd26b Fix missing BeatmapMetadata.ToString
This is relied on by a few usages.
2022-01-12 17:00:16 +09:00
Dean Herbert
fe8a5e867d Remove updated/removed flow method mapping 2022-01-12 17:00:16 +09:00
Dean Herbert
1f9318265e Update ToLive usages in line with recent changes 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
b91f309879 Inline query methods from BeatmapModelManager to BeatmapManager where possible 2022-01-12 17:00:16 +09:00
Dean Herbert
1d536fd0bc Start introducing ILive 2022-01-12 17:00:16 +09:00
Dean Herbert
8696f82627 Fix intro screen
Fix things
2022-01-12 17:00:16 +09:00
Dean Herbert
c4a9211179 Apply NRT to BeatmapManager and move Hide/Restore methods across 2022-01-12 17:00:16 +09:00
Dean Herbert
8d943b5709 Fix many shortcomings and compatibility issues with EF classes post-rename 2022-01-12 17:00:16 +09:00
Dean Herbert
d7fe3584cd Don't persist Countdown to realm for now
It's another enum which is a pain to handle, and not actually being
consumed anywhere.
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
a5df01ff47 Add score importer 2022-01-12 16:57:27 +09:00
Dean Herbert
8c0db79ec1 Remove BeatmapStore and update surrounding code 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
b77bb2f12b Switch BeatmapModelManager to use RealmArchiveModelManager base class 2022-01-12 16:39:36 +09:00
Dean Herbert
116f35c52a Remove EF FileStore 2022-01-12 16:39:36 +09:00
Dean Herbert
89d6ffa7f3 Use RealmContextFactory instead of EF 2022-01-12 16:39:36 +09:00
Dean Herbert
df088f96f4 Fix incorrect Metadata-related null checks 2022-01-12 16:39:36 +09:00
Dean Herbert
6a671b0a52 Remove unnecessary assigns of BeatmapSetInfo.Metadata 2022-01-12 16:39:36 +09:00
Dean Herbert
fda529de26 Update usages of APIUser to RealmUser 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
Dean Herbert
c3df58e01c Add required properties to make realm models backwards compatible 2022-01-12 16:39:36 +09:00
Dean Herbert
618903c217 Rename realm to become imposter classes 2022-01-12 16:39:36 +09:00
Dean Herbert
0b6c4497bd Rename EF classes to allow for shit to hit the fan 2022-01-12 16:39:36 +09:00
Dan Balasescu
38a51b9ce0 Add comment 2022-01-11 13:54:12 +09:00
Dan Balasescu
81fed4c6bf Use time=0 as for the first control point 2022-01-11 12:55:17 +09:00
Dean Herbert
3cd996eb4a Merge branch 'master' into async-deadlock-safety 2022-01-07 17:28:59 +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
374dac57f2 Change expanded card content height to 200 2022-01-04 13:22:00 +09:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
Bartłomiej Dach
0ad555e9f7
Remove surplus blank line 2022-01-03 18:33:32 +01:00
Dean Herbert
b9851b278d Add padding to the bottom of the beatmap listing overlay to avoid hovered panels exceeding visible bounds
Closes https://github.com/ppy/osu/issues/16120.
2022-01-03 13:18:28 +09:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Bartłomiej Dach
3ca238825b
Unify width of normal and extra card sizes 2021-12-24 09:17:07 +01:00
Bartłomiej Dach
a49a4329ee
Add capability to switch between card sizes 2021-12-23 15:55:37 +01:00
Bartłomiej Dach
cd4c1bc678
Add factory method for various card sizes 2021-12-23 15:55:36 +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
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
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
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
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
Bartłomiej Dach
c6d0b5d200
Merge branch 'master' into beatmap-card/extra-wip 2021-12-17 11:11:36 +01:00
Bartłomiej Dach
54790bb758
Merge branch 'master' into fix-realm-post-storage-migration-failure 2021-12-17 00:19:46 +01:00
Dean Herbert
ad430a6277 Centralise hover state handling (and fix back-to-front conditionals) 2021-12-15 16:44:58 +09:00
Dean Herbert
6a1f535257 Refactor cancellation of expand to be more explicit 2021-12-15 16:38:19 +09:00
Dean Herbert
94d1a2aaca Remove unnecessary collapse call from BeatmapCard
This is already handled at the `BeatmapCardContent` level. This call
actually causes the buggy behaviour reported in
https://github.com/ppy/osu/discussions/16085.
2021-12-15 16:37:47 +09:00
Dean Herbert
7a9db22c52 Tidy up method naming and structure for expanded state changes 2021-12-15 16:29:12 +09:00
Dean Herbert
ef4ab74565 Also only expose Expanded state of BeatmapCard as read-only 2021-12-15 16:26:19 +09:00
Dean Herbert
41e6c24dad Expose Expanded state of BeatmapCardContent as read-only bindable
This is just to reduce complexity of these interactions by ensuring that
the expanded state can only be changed by the class itself.
2021-12-15 16:26:19 +09:00
Dean Herbert
f9a2db5ec6 Add accessibility to realm factory via IStorageResourceProvider
We might need to rename this class..
2021-12-14 14:19:49 +09:00
Bartłomiej Dach
083ee92dee
Adjust button vertical padding 2021-12-08 22:56:28 +01:00
Bartłomiej Dach
2d739c95ea
Lay out extra card statistics in grid as per design 2021-12-08 22:56:28 +01:00
Bartłomiej Dach
3ecfaa532c
Add source field to extra beatmap card 2021-12-08 22:56:28 +01:00
Bartłomiej Dach
419fee1380
Move mapper link to bottom content 2021-12-08 22:54:11 +01:00
Bartłomiej Dach
61e04f75cc
Resize extra card to design size 2021-12-08 22:54:10 +01:00
Bartłomiej Dach
a32492cdd5
Duplicate BeatmapCard{-> Extra} as blueprint for extra card size 2021-12-08 22:53:51 +01:00
Dean Herbert
8d9c37a825 Merge branch 'master' into primary-key-consistency 2021-12-08 21:34:38 +09:00
Dean Herbert
25a0505c97 Scale card when expanding to better distinguish hovered card from other cards in listing 2021-12-07 23:48:14 +09:00
Bartłomiej Dach
82ed8eae6b
Ensure hover handling container always calls base on hover events 2021-12-06 21:02:40 +01:00
Bartłomiej Dach
ccfc361626
Apply naming suggestions 2021-12-06 21:02:38 +01:00
Bartłomiej Dach
0f74389389
Add scrolling for long difficulty lists in beatmap card 2021-12-05 20:17:59 +01:00
Bartłomiej Dach
af35652b8b
Disable beatmap card expansion on solo spectator screen 2021-12-05 20:07:58 +01:00
Bartłomiej Dach
e451e43b90
Implement input handling behaviour of beatmap card dropdown 2021-12-05 16:31:45 +01:00
Bartłomiej Dach
250e5b47b7
Move "extra info" beatmap card row to separate component 2021-12-05 15:52:19 +01:00
Bartłomiej Dach
3fea8d5e62
Implement visual behaviour of expanded card state 2021-12-05 15:48:02 +01:00
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
Dean Herbert
ebe58cee11 Rename BeatmapInfo.StarDifficulty to StarRating to match underlying interface 2021-11-11 17:19:46 +09:00
Bartłomiej Dach
222846290e
Update download progress bar appearance to match intended design 2021-11-10 18:38:52 +01:00
Bartłomiej Dach
91baaa73f3
Show download progress on card body rather than in button 2021-11-10 16:03:48 +01:00
Bartłomiej Dach
f090e5ca75
Restyle card buttons to resemble buttons more 2021-11-10 15:24:36 +01:00
Bartłomiej Dach
343318c6f9
Merge branch 'master' into display-string 2021-11-10 11:10:38 +01:00
Dean Herbert
f4ef841972 Add fallback for cases where beatmap has no author/title/artist specified 2021-11-10 18:29:05 +09:00
Bartłomiej Dach
3d148aea40
Fix GetDisplayTitle() implementations relying on ToString() themselves 2021-11-09 13:53:08 +01:00
Dean Herbert
3b485b5f37 Rewrite PreviewTrackManager to avoid constructing TrackBass locally
This paves the way for the framework code quality change
(https://github.com/ppy/osu-framework/pull/4873) which stops exposing
the constructor.

Most of the restructuring here is required to give `PreviewTrackManager`
an adjustable target to apply the global mute.
2021-11-09 17:38:12 +09:00
Bartłomiej Dach
704ff47a0e
Swap icon for "go to beatmap" state 2021-11-09 08:07:56 +01:00
Bartłomiej Dach
2186b51676
Implement detailed download button behaviour 2021-11-08 22:18:14 +01:00
Bartłomiej Dach
a60cceeda6
Implement basic appearance of download button 2021-11-08 22:18:14 +01:00
Bartłomiej Dach
c65e7a4436
Add test coverage for download button 2021-11-08 22:17:56 +01:00
Dean Herbert
2b518035da
Merge pull request #15522 from bdach/taiko-slider-multiplier-saving
Fix taiko beatmap scroll speed increasing after every save in editor
2021-11-08 22:51:43 +09:00
Bartłomiej Dach
74603253d2
Store full model rather than online ID only 2021-11-08 13:42:56 +01:00
Dean Herbert
72489b32f9 Move toggle code into own method for readability 2021-11-08 21:39:16 +09:00
Dean Herbert
9a2425f316 Remove unused field for now to appease inspectcode 2021-11-08 21:36:28 +09:00
Bartłomiej Dach
540b7e1b38
Fix taiko editor not unapplying slider multiplier changes on save 2021-11-08 13:28:42 +01:00
Bartłomiej Dach
f4b8dee2d0
Update favourite statistic value on favourite button clicks 2021-11-08 11:53:54 +01:00
Bartłomiej Dach
b5cbdcf981
Implement basic behaviour of favourite button 2021-11-08 11:53:54 +01:00
Bartłomiej Dach
0faa26fc13
Add basic structure for buttons 2021-11-08 11:53:53 +01:00
Dean Herbert
8b85c2c8de
Merge pull request #15491 from peppy/remove-stupid-weak-reference-bindable-events
Revert weird event flow in model manager/importers
2021-11-08 15:19:58 +09:00
Dean Herbert
a2dfb5fd8c
Merge pull request #15513 from bdach/beatmap-card/statistics
Add statistics display to beatmap card
2021-11-08 14:45:56 +09:00
Dean Herbert
97345ac9e6 Remove unnecessary TimeSpan timeout parameter (CancellationToken can now be used) 2021-11-08 14:33:32 +09:00
Dean Herbert
e338340c6a Merge branch 'master' into beatmap-cancellation-token 2021-11-08 14:32:56 +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
1589b50d6e Merge branch 'master' into beatmap-card/statistics 2021-11-08 13:28:31 +09:00
Dean Herbert
fb495d77ce Implement TooltipText directly 2021-11-08 13:22:57 +09:00
Bartłomiej Dach
0e09edfce2
Do not show nomination info if hype info not present to match web 2021-11-07 21:33:42 +01:00
Bartłomiej Dach
1f405a7e71
Display extended statistics on card hover 2021-11-07 21:33:41 +01:00
Bartłomiej Dach
c0b5b0e909
Add new statistic types to online info 2021-11-07 21:33:41 +01:00
Bartłomiej Dach
04c2a9cd59
Display basic statistics on card hover 2021-11-07 21:03:06 +01:00
Tollii
d5f5d74a89 Rename CancellationToken variable 2021-11-07 13:41:54 +01:00
Dean Herbert
f0809801c5 Update remaining actions to events 2021-11-07 11:34:37 +09:00
Dean Herbert
0ecf5f201c Rename User to APIUser and move to correct namespace 2021-11-07 11:26:01 +09:00
Tollii
cf0b757b16 Fix PR comments.
Nitpick, more cancellation token checks.
2021-11-06 16:03:53 +01:00
Dean Herbert
89cc2523ef Fix incorrectly specified events 2021-11-06 22:31:49 +09:00
Dean Herbert
2881ce0f5a Merge branch 'master' into remove-stupid-weak-reference-bindable-events 2021-11-06 14:08:39 +09:00
Tollii
eb7d04bc77 Add cancellation token support for beatmap difficulty calculation. 2021-11-06 00:21:29 +01:00
Tollii
f0caa10066 Add support for a provided cancellation token for GetPlayableBeatmap() 2021-11-05 23:53:48 +01:00
Dean Herbert
9a7c75508e Merge branch 'master' into user-class-cleanup 2021-11-05 19:56:18 +09:00
Dean Herbert
54f72d68ca Revert weird event flow in model manager/importers 2021-11-05 19:12:49 +09:00
Dean Herbert
6c385ccd29 Move second generic to abstract model downloader rather than interface type 2021-11-05 17:37:05 +09:00
Dean Herbert
1fe9bca819 Change ModelDownloader's requirement to an IModelImporter rather than IModelManager 2021-11-05 16:47:18 +09:00
Dean Herbert
b90f44493c Remove importer inheritance from IModelManager
Now only exists in legacy implementations, to reduce inheritance
complexity of interfaces which are going to be used going forwards.
2021-11-05 16:45:38 +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
7547810979 Change IBeatmapMetadataInfo.Author to be an IUser 2021-11-04 18:32:42 +09:00
Dean Herbert
b9983add15 Rename User to APIUser and move to correct namespace 2021-11-04 18:21:31 +09:00
Dean Herbert
4b1b92cde6 Stop BeatmapInfo from implementing IBeatmapOnlineInfo and remove all usages 2021-11-04 15:23:04 +09:00
Dean Herbert
9c926e5514 Remove BeatmapSetInfo.OnlineInfo and all usages 2021-11-04 15:23:04 +09:00
Dean Herbert
0d0eab90bc Merge branch 'beatmap-refactor/playlist-use-api-beatmap-extended' into beatmap-refactor/remove-online-info 2021-11-04 15:23:02 +09:00
Dean Herbert
84d36cbae7 Add fallback for cases where BeatmapSet may be null
Seems to only happen in tests, but better safe than sorry.
2021-11-04 15:22:33 +09:00
Dean Herbert
a49366ff84 Remove nullability from IBeatmapInfo.Metadata 2021-11-04 14:28:39 +09:00
Dean Herbert
1e73b09e57 Fix another couple of cases of incorrect string null/empty checking 2021-11-04 14:22:28 +09:00
Dean Herbert
41854f2e16 Fix incorrect check on AudioFile presence 2021-11-04 14:02:09 +09:00
Dean Herbert
67d9590a79 Fix new inspections 2021-11-04 14:02:09 +09:00
Dean Herbert
772b6c6dcd Enable nullable support on BeatmapMetadata 2021-11-04 12:11:42 +09:00
Dean Herbert
ca438a102d Fix beatmap paths including invalid slash/backslash characters 2021-11-03 16:46:05 +09:00
Bartłomiej Dach
cf7545e36c
Merge branch 'master' into beatmap-card-basics 2021-11-03 00:11:03 +01:00
Bartłomiej Dach
1813681fac
Move private method below protected 2021-11-03 00:10:50 +01:00
Bartłomiej Dach
75e89f17ad
Rewrite BeatmapCardContentBackground 2021-11-03 00:07:03 +01:00
Dean Herbert
5ea901da2e
Merge pull request #15429 from peppy/fix-beatmap-download-notifications
Fix beatmap download notifications not showing beatmap name correctly
2021-11-03 04:36:59 +09:00
Dean Herbert
392559ae3e Fix beatmap download notifications not showing beatmap name correctly 2021-11-03 03:23:41 +09:00
Dean Herbert
6efd3d3115 Don't perform background difficulty calculation for multiplayer panels
There are cases these are shown in a long list. They shouldn't be
running calculations.
2021-11-03 03:12:52 +09:00
Dean Herbert
08b0ffad50 Fix incorrect check for local beatmap in BeatmapDifficultyCache
This was correct in the WIP branch I have, but pulled out alone (where
usages of `ToBeatmapInfo` still exist) it was not enough.
2021-11-03 03:12:52 +09:00
Dean Herbert
15c770e155 Remove no longer used Section.None 2021-11-02 14:01:41 +09:00
Dean Herbert
ab28948744 Default legacy decoder to General section, rather than none
This is mainly to reach parity with how stable handles such cases for
skins specifically. It was brought to our attention after finding a skin
with a malformed `\[General]` tag which did not break further parsing of
the file on stable, but did on lazer.

Note that stable defaults to an "unknown" section for beatmaps, but
functionally I can't think of a regression case from changing this to a
"general" default.
2021-11-02 13:59:13 +09:00
Bartłomiej Dach
f671ee28c5
Use buffered container to eliminate gaps near foreground border 2021-11-01 20:17:27 +01:00
Bartłomiej Dach
a59f2d7b83
Implement basic hover card state 2021-11-01 19:41:11 +01:00
Bartłomiej Dach
5962f16b1c
Implement basic card appearance 2021-11-01 19:41:11 +01:00
Dan Balasescu
9e633a1b17
Merge pull request #15321 from peppy/beatmap-refactor/download-tracker
Replace `DownloadTrackingComposite` with instantiable `DownloadTracker` components
2021-11-01 15:48:12 +09:00
Dean Herbert
10a9266956 Fix beatmap creator showing twice in tournament map pool panels 2021-11-01 14:33:24 +09:00
Dean Herbert
19feae4a8e
Merge branch 'master' into beatmap-refactor/download-tracker 2021-11-01 13:15:36 +09:00
Bartłomiej Dach
b0c4fa662d
Merge branch 'master' into long-online-id-score-info 2021-10-30 14:35:30 +02:00
Dean Herbert
07e3ced315 Fix test scene and remove "impossible" nullable coalesce 2021-10-29 18:22:23 +09:00
Dean Herbert
7db8bdfb7c Fix fallback logic not considering case where ruleset is not available
Occurs only in tests.
2021-10-29 18:16:54 +09:00
Dean Herbert
be0564f732 Update DifficultyIcon classes to use IBeatmapInfo 2021-10-29 17:05:06 +09:00
Dean Herbert
7583435901 Refactor BeatmapDifficultyCache to work with IBeatmapInfo 2021-10-29 16:45:10 +09:00
Dean Herbert
3b095e1626 Merge branch 'master' into beatmap-refactor/download-tracker 2021-10-29 11:50:54 +09:00
Dean Herbert
34d4715220 Allow for long online IDs and implement in ScoreInfo 2021-10-29 11:48:36 +09:00
Dean Herbert
65a7b6776e Add note regarding OnlineInfo being temporary 2021-10-28 05:50:22 +09:00
Dean Herbert
7245baba69 Remove IBeatmapSetOnlineInfo implementation from BeatmapSetInfo to avoid null cases 2021-10-28 00:50:45 +09:00
Dean Herbert
617e6febb6 Refactor ModelDownloader to allow for different OnlineID matching 2021-10-27 21:00:46 +09:00
Dean Herbert
f268363924 Update UpdateableBeatmapBackgroundSprite to accept IBeatmapInfo 2021-10-27 16:38:48 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Bartłomiej Dach
3de994449d
Add support for changing dimensions of difficulty spectrum display 2021-10-26 23:06:52 +02:00
Bartłomiej Dach
1a77e98537
Implement difficulty spectrum display 2021-10-26 23:06:52 +02:00
Dean Herbert
e92def0ba2 Fix LegacyBeatmapEncoder using incorrect path length value 2021-10-26 17:34:52 +09:00
Dan Balasescu
efe6763226
Merge branch 'master' into move-online-beatmap-metrics 2021-10-26 14:24:40 +09:00
Bartłomiej Dach
5a03e1736e
Merge branch 'master' into update-beatmap-set-status-pill-appearance 2021-10-25 20:26:49 +02:00
Bartłomiej Dach
6802e9ec10
Remove FixedWidth and add AutoSizeAxes specs to all usages 2021-10-25 20:24:48 +02:00
Dean Herbert
6adb0f068b Fix multiple issues with json serialisation of online info (causing tournament failures) 2021-10-25 16:52:50 +09:00
Dean Herbert
2c308f3008 Rename BeatmapMetrics to APIFailTimes 2021-10-25 15:34:41 +09:00
Dean Herbert
4969ab0599 Add forgotten JsonIgnore rules on interface types
Just to avoid them getting serialised as part of the "new" .osu
serialisation format.
2021-10-25 15:32:18 +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
78edc7554e Fix BeatmapSetInfo's Status value being marked as non-databased 2021-10-25 12:05:34 +09:00
Bartłomiej Dach
feedd53a53
Add support for setting fixed size of status pill 2021-10-24 21:37:00 +02:00
Bartłomiej Dach
5ab3337a10
Update beatmap set status pill appearance 2021-10-24 20:40:34 +02:00
Dean Herbert
cc1d759290 Remove unnecessary setters from IBeatmapSetOnlineInfo interface 2021-10-22 17:48:09 +09:00
Dean Herbert
c580ec865f APIBeatmapSet.Covers is never null 2021-10-21 19:34:01 +09:00
Dean Herbert
0fe0b5dc09 APIBeatmap implements IBeatmapInfo 2021-10-21 19:14:31 +09:00
Dean Herbert
69e7810dad Enable nullable and switch classes to structs 2021-10-21 18:54:36 +09:00
Dean Herbert
0335ed6f27 Add missing licence header 2021-10-21 17:14:29 +09:00
Dean Herbert
ff674ca913 Remove unnecessary access modifiers from interface 2021-10-21 17:01:57 +09:00
Dean Herbert
b73bd54ab2 Split out individual pieces into own files 2021-10-21 16:58:42 +09:00
Dean Herbert
32d01f022f Rename usages which rely on online backing 2021-10-21 16:58:42 +09:00
Dean Herbert
0706ad70fb Move BeatmapSetOnlineInfo to an interface type 2021-10-21 16:58:42 +09:00
Dean Herbert
ff2eae4597 Rename confusing variable 2021-10-19 11:37:46 +09:00
Dean Herbert
b3219bb592 Update usages of OnlineID 2021-10-18 16:16:36 +09:00
Dean Herbert
2c5ba1d8e2 Change OnlineID to non-nullable to allow for indexing in Realm 2021-10-18 15:53:40 +09:00
Dan Balasescu
3604a762d0
Merge branch 'master' into fix-editor-difficulty-name-update 2021-10-15 16:58:01 +09:00
Dean Herbert
e9c3d09e0e Remove redundant specs 2021-10-15 16:27:16 +09:00
Dean Herbert
a90f40e831 Update one missed instance of PresentImport 2021-10-15 16:00:09 +09:00
Dean Herbert
874d722820
Merge branch 'master' into fix-editor-difficulty-name-update 2021-10-15 11:14:45 +09:00
Dean Herbert
8a4c0c0ac8 Lock one more case of usage 2021-10-14 16:22:43 +09:00
Dean Herbert
060bb1afbd Add locking around async beatmap (task) retrieval 2021-10-14 15:39:53 +09:00
Dean Herbert
09536cd733 Add logging of WorkingBeatmapCache.Invalidate calls 2021-10-14 14:05:33 +09:00
Dan Balasescu
e49f1f6e6b
Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-13 20:17:57 +09:00
Dean Herbert
02689a1b60 Use actual BeatmapInfo rather than PlayableBeatmap.BeatmapInfo for editor writes 2021-10-13 14:50:12 +09:00
Dean Herbert
1373cc02d7 Shallow clone BeatmapInfo during conversion process to avoid overwriting fields 2021-10-12 16:43:56 +09:00
Dean Herbert
6b35ccae95 Fix some cases where interface specifications can be used but weren't 2021-10-11 15:06:24 +09:00
smoogipoo
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert
ee66414e4f Move difficulty copy inside context retrieval 2021-10-07 17:49:13 +09:00
Dean Herbert
d3efec3c04 Remove unnecessary clone operations 2021-10-07 17:22:10 +09:00
Dean Herbert
0df409c050 Move difficulty copy to BeatmapModelManager.Save 2021-10-07 17:16:45 +09:00
Dean Herbert
4ca97bc60a
Merge branch 'master' into difficulty-move-to-beatmap 2021-10-06 16:14:21 +09:00
Dean Herbert
0ab8dcc2a0 Fix taiko weird difficulty multiplier failing on double convert 2021-10-06 15:18:06 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dan Balasescu
80c8612630
Merge pull request #14977 from peppy/fix-working-beatmap-cache-invalidation
Fix changes not being reflected immediately after exiting the editor
2021-10-06 13:51:21 +09:00
Dean Herbert
8ffaa491e7 Fix BeatmapModelManager not receiving WorkingBeatmapCache 2021-10-06 12:55:04 +09:00
Dean Herbert
007b33cd88 Add missing methods to interfaces 2021-10-06 12:55:04 +09:00
Dan Balasescu
e837a3511d
Merge branch 'master' into beatmap-difficulty-more-interface-usage 2021-10-06 12:18:51 +09:00
Dan Balasescu
4bbff2ebf7
Merge branch 'master' into new-interfaces 2021-10-06 11:38:17 +09:00
Dan Balasescu
9491e5a547
Merge pull request #14954 from peppy/rename-result-response
Rename `APIRequest.Result` to `Response`
2021-10-06 10:52:33 +09:00
Dean Herbert
4f59fc15a5 Mark BeatmapSet as nullable for the time being 2021-10-06 05:54:37 +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
599d82e383 Avoid returning a live IEnumerable 2021-10-05 17:01:07 +09:00
Dean Herbert
a5aa32811a Remove null check suppression and add non-null fallback 2021-10-05 14:49:59 +09:00
Dean Herbert
d3b9660148 Move common interface implementations to extension methods 2021-10-05 14:41:14 +09:00
Dean Herbert
b41fa41c85 Rename APIRequest.Result to Response 2021-10-05 14:28:56 +09:00
smoogipoo
593da79bbc Further asyncify load process 2021-10-05 11:26:13 +09:00
Dean Herbert
1d99bc280f Merge branch 'master' into new-interfaces 2021-10-04 20:42:40 +09:00
smoogipoo
031c5a441e Merge branch 'master' into realtime-pp-display 2021-10-04 20:19:37 +09:00
smoogipoo
4871db2f86 Merge branch 'master' into importer-returns-live 2021-10-04 19:42:36 +09:00
Dean Herbert
f293e008d9 Move BeatmapInfo's SearchableTerms implementation to interface 2021-10-04 17:01:02 +09:00
Dean Herbert
51b7dce16f Remove reference to osu-web-10 2021-10-04 16:55:51 +09:00
Dean Herbert
4df5f93152 Inline single usage of StoryboardFile to avoid interface default method woes 2021-10-04 16:55:02 +09:00
Dean Herbert
8bfdfe3672
Add literal string marker
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-10-04 16:54:00 +09:00
Dean Herbert
63f0b0c932 Rename out of place interface name 2021-10-04 16:35:55 +09:00
Dean Herbert
916342c837 Merge branch 'master' into importer-returns-live 2021-10-04 16:24:26 +09:00
smoogipoo
69c2b7dc59 Merge branch 'master' into rename-beatmap-info-beatmap-fields 2021-10-04 16:03:22 +09:00
smoogipoo
4e1322effa Fix typo 2021-10-04 16:02:45 +09:00
Dean Herbert
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
Dean Herbert
20e3f7fec4 Merge branch 'new-interfaces' into beatmap-difficulty-more-interface-usage 2021-10-02 13:08:02 +09:00
Dean Herbert
dcd7d7a709 Add JsonIgnore rule for StoryboardFile
Not sure why this is required, doesn't make much sense.
2021-10-02 03:05:06 +09:00
Dean Herbert
d6dbdc911f
Merge branch 'master' into storyboard-fixes 2021-10-02 00:35:51 +09:00
Dan Balasescu
6a172d54d5
Merge branch 'master' into model-downloader-split 2021-10-01 22:34:39 +09:00
Dan Balasescu
154c412f34
Merge branch 'master' into beatmap-manager-split 2021-10-01 21:46:27 +09:00
Dean Herbert
4c28749d73 Fix incorrect legacy decoder usage 2021-10-01 19:05:08 +09:00
Dean Herbert
3faafd7200 Rename parameter to repeatCount and add guards 2021-10-01 18:26:29 +09:00
Dean Herbert
0daf8937e3 Add missing xmldoc 2021-10-01 17:36:44 +09:00
Dean Herbert
d6618a99a3 Redirect more methods to interface implementations 2021-10-01 17:36:44 +09:00
Dean Herbert
9dae92e78c Add missing backlink to BeatmapSet from Beatmap and fix non-explicit implementations 2021-10-01 17:22:25 +09:00
Dean Herbert
00e33a1da7 Fix incorrect OnlineID mappings 2021-10-01 17:06:09 +09:00
Dean Herbert
05996cc2e9 Add changes that got forgotted in branch surgery 2021-10-01 17:04:53 +09:00
Dean Herbert
a92d499d7a Convert usages of BeatmapDifficulty to IBeatmapDifficultyInfo 2021-10-01 16:55:50 +09:00
Dean Herbert
8595eb2d11 Switch BeatmapDifficulty usages to use interface type 2021-10-01 16:55:50 +09:00
Dean Herbert
d309636460 Update all EF based models to implement new read only interfaces 2021-10-01 16:55:50 +09:00
Dean Herbert
619dfe0690 Add new interface base types for models 2021-10-01 16:55:47 +09:00
Dean Herbert
c71cf1e220 Fix incomplete xmldoc 2021-10-01 01:51:31 +09:00
Dean Herbert
3ddb348252 Merge branch 'online-lookup-cache-separation' into beatmap-manager-split 2021-10-01 01:49:31 +09:00
Dean Herbert
2ed28f625a Pass whole queue in rather than function 2021-10-01 01:46:37 +09:00
Dean Herbert
428c7830d9 Pass online lookup queue in as a whole, rather than function 2021-10-01 01:45:21 +09:00
Dean Herbert
dde19f2e81
Fix unbalanced brackets
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-10-01 01:37:51 +09:00
Dean Herbert
a2e61883e3 Initial push to use ILive in import process 2021-09-30 22:55:25 +09:00
Dean Herbert
3e3b9bc963 Split out IModelDownloader and also split apart ScoreManager 2021-09-30 18:25:20 +09:00
Dean Herbert
fd13142a15 Add missing interface to BeatmapManager 2021-09-30 18:21:24 +09:00
Dean Herbert
7a72747d88 Add back optional online lookups 2021-09-30 17:18:39 +09:00
Dean Herbert
90225f2082 Hook up all required interfaces to new BeatmapManager 2021-09-30 17:18:39 +09:00
smoogipoo
84bddf0885 Initial PP counter implementation 2021-09-30 17:00:24 +09:00
Dean Herbert
d21139b03e Split out database portion from BeatmapManager 2021-09-30 15:43:49 +09:00
Dean Herbert
e7e0473323 Split out WorkingBeatmapCache from BeatmapManager 2021-09-30 15:40:41 +09:00
Dean Herbert
8a6501fa58 Add basic component level xmldoc 2021-09-30 14:46:07 +09:00
Dean Herbert
6ffd9fdcfa Split out BeatmapOnlineLookupQueue from BeatmapManager 2021-09-30 14:46:01 +09:00
Dean Herbert
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
Dean Herbert
d4310f5d9a Move database connection string operations local
In line with framework changes in
https://github.com/ppy/osu-framework/pull/4793.
2021-09-27 17:32:41 +09:00
Bartłomiej Dach
80197bae48
Revert not decoding legacy difficulty points on scrolling rulesets for now 2021-09-18 15:32:08 +02:00
Bartłomiej Dach
76ccdd1340
Collect and sort points from nested objects before extracting 2021-09-18 14:38:38 +02:00
Bartłomiej Dach
8026968939
Move difficulty -> effect point conversion back to decoder 2021-09-18 14:38:38 +02:00
Bartłomiej Dach
5969e2b852
Add TODO comment about lack of in-gameplay support 2021-09-13 00:13:07 +02:00
Bartłomiej Dach
1be8cb452f
Make new beatmaps' samples match playback rate by default 2021-09-12 16:57:21 +02:00
Bartłomiej Dach
af7c2b93e6
Add encoding support for SamplesMatchPlaybackRate 2021-09-12 16:47:38 +02:00
Bartłomiej Dach
cd181452be
Add decoding support for SamplesMatchPlaybackRate 2021-09-12 16:45:27 +02:00
Bartłomiej Dach
925b455330
Add "samples match playback rate" setting to beatmap info 2021-09-12 16:40:52 +02:00
Dean Herbert
943e0d49f7 Handle control point flattening of nested hit objects 2021-09-10 17:29:09 +09:00
Dean Herbert
34f875187c Copy time between ControlPoints 2021-09-10 14:36:38 +09:00
Dean Herbert
212c3c699c Reword xmldoc slightly 2021-09-10 12:58:12 +09:00
ekrctb
7543f9dfb0 Add featured artist track ID online info 2021-09-08 12:21:24 +09:00
Dean Herbert
eabca016d4 Throw rather than ignore on invalid control point addition 2021-09-06 22:04:37 +09:00
Dean Herbert
693ecdf62a Refactor some incorrect/outdated terminology 2021-09-06 21:32:43 +09:00
Dean Herbert
3c7a34bdbd Move mania-specific conversion to converter 2021-09-06 21:06:13 +09:00
Dean Herbert
766d789845 Rename ApproachRate to ScrollSpeed for now (to reduce complexity/confusion) 2021-09-06 21:06:13 +09:00
Dean Herbert
0e6660da30 Replace todo with permanent comment 2021-09-03 17:11:12 +09:00
Dean Herbert
8f24ea54ee Change SamplePoints to be SortedList for conformity 2021-09-03 17:11:12 +09:00
Dean Herbert
2b9157987e Fix regression in SampleControlPoint add logic 2021-09-03 17:11:12 +09:00
Dean Herbert
d587dc6203 Populate new approach rate where required 2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e Move approach rate to EffectControlPoint 2021-09-03 16:58:16 +09:00
Dean Herbert
4eb09ea1a9 Update decoder to also extract DifficultyControlPoints from HitObjects 2021-09-03 16:58:16 +09:00
Dean Herbert
db3fc1d4af Move DifficultyControlPoints list to LegacyControlPointInfo 2021-09-03 16:58:16 +09:00
Dan Balasescu
6c649b7bbe
Merge branch 'master' into no-more-sample-control-points-info 2021-09-02 18:09:05 +09:00
Dean Herbert
f0b128b6ec
Merge pull request #14592 from frenzibyte/cleanup-tooltips
Update remaining tooltip implementations to use generics
2021-09-01 17:03:59 +09:00
Dean Herbert
edf29e405b
Merge pull request #14581 from bdach/setup-screen-countdown-settings
Add countdown settings to setup screen
2021-09-01 15:35:46 +09:00
Dan Balasescu
e715b21ca7
Merge pull request #14586 from peppy/remove-ijsonserializable
Remove IJsonSerializable interface
2021-09-01 14:17:32 +09:00
Bartłomiej Dach
1e4fa87648
Merge branch 'master' into setup-screen-countdown-settings 2021-08-31 22:43:18 +02:00
Salman Ahmed
505824d8ea Constrain difficulty icon tooltip to internal accessibility"
This reverts the reverted commit cd356b8eae.

Sorry for the revert-unrevert, rushly pushed without realizing it
doesn't even build.
2021-08-31 21:16:17 +03:00
Salman Ahmed
cd356b8eae Revert "Constrain difficulty icon tooltip to internal accessibility"
This reverts commit 4a590a041c.
2021-08-31 20:57:47 +03:00
Salman Ahmed
4a590a041c Constrain difficulty icon tooltip to internal accessibility 2021-08-31 20:57:36 +03:00
Salman Ahmed
da7ff4b160 Update remaining tooltip implementations to use generics 2021-08-31 20:01:13 +03:00
Dean Herbert
a254624373 Avoid performing beatmap metadata lookups when entering the editor
If none of the lookup parameters are available, skip the lookup
completely.
2021-08-31 17:18:05 +09:00
Dean Herbert
d988aa1680 Actually serialise SampleControlPoints along with HitObjects 2021-08-31 15:14:03 +09:00
Dean Herbert
448c58c35d
Remove unnecessary variable discard
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-08-31 15:08:07 +09:00
Dean Herbert
9fa8bee094 Remove outdated TODO 2021-08-31 14:51:19 +09:00
Dean Herbert
ce0d7cce2d Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info 2021-08-31 14:40:54 +09:00
Dean Herbert
c25ab6835c Remove IJsonSerializable interface
Was pretty pointless and made it hard to use the custom serialisation
terms arbitrarily in tests.
2021-08-31 14:39:20 +09:00
Bartłomiej Dach
b43ee2d61c
Add descriptions to enum members 2021-08-30 22:51:42 +02:00
Dean Herbert
a2cff75fc0 Fix editor not cloning control points as expected 2021-08-30 21:55:08 +09:00
Dan Balasescu
b95da3ca27
Merge pull request #14576 from peppy/update-framework
Update framework
2021-08-30 21:09:58 +09:00
Dean Herbert
1aaea7011a Fix early return causing event loss in case of multiple control points in group 2021-08-30 18:33:05 +09:00
Dean Herbert
015df282fe Simplify copy operations 2021-08-30 18:32:55 +09:00
Dean Herbert
d35c4da906 Add new control point to legacy regeneration logic 2021-08-30 17:14:53 +09:00