Dean Herbert
3d3f0a89c2
Remove legacy RulesetID
property from BeatmapInfo
2022-02-16 16:46:53 +09:00
Dan Balasescu
215da7e933
Reimplement as extension method on IBeatmap
...
Implementation has changed slightly to support arbitrary levels of
nested hitobjects.
2022-02-16 12:06:49 +09:00
Bartłomiej Dach
e45a2ae0fc
Restructure difficulty copy flow to adapt to latest changes
2022-02-14 22:02:37 +01:00
Bartłomiej Dach
6221447164
Append copy suffix on creating copy of difficulty
2022-02-14 20:19:12 +01:00
Bartłomiej Dach
40cfee3421
Explicitly reset online ID and beatmap status on copy
2022-02-14 19:54:40 +01:00
Bartłomiej Dach
7e75fa7117
Revert "Change BeatmapInfo
copy logic to be opt-in rather than opt-out"
...
This reverts commit 5dabc9282c
.
2022-02-14 19:52:08 +01:00
Bartłomiej Dach
5dabc9282c
Change BeatmapInfo
copy logic to be opt-in rather than opt-out
2022-02-13 19:04:11 +01:00
Bartłomiej Dach
ecd6a68c6f
Clear hash when creating copy of existing difficulty
2022-02-13 14:01:23 +01:00
Bartłomiej Dach
6fd663a718
Apply some renames to convey difference between creation options better
2022-02-13 14:01:23 +01:00
Bartłomiej Dach
a144d6f8d6
Fix beatmap skin properties not copying
2022-02-13 14:01:22 +01:00
Bartłomiej Dach
1bf5375e74
Fix BeatmapInfo
-associated member not copying
2022-02-13 14:01:21 +01:00
Bartłomiej Dach
a2c2b2bbb3
Add flow for copying existing difficulty content
2022-02-13 14:01:20 +01:00
Salman Ahmed
6f0e32826c
Standardise ordering/grouping of IRulesetInfo
/RulesetInfo
s
2022-02-11 04:27:11 +03:00
Bartłomiej Dach
6dc0f3fd96
Merge difficulty creation methods into one
...
One of them wasn't really doing much anymore and was more obfuscating
what was actually happening at this point.
2022-02-03 18:14:30 +01:00
Dean Herbert
bef0a2da21
Remove return type from AddDifficultyToBeatmapSet
...
Also removes a pointless realm encapsulation.
2022-02-03 19:43:43 +09:00
Dean Herbert
ad47649d1c
Make BeatmapModelManager.Save
non-virtual
2022-02-03 19:38:53 +09:00
Bartłomiej Dach
a8ffc4fc2a
Add editor override to respect IsolateSavingFromDatabase
2022-02-02 21:57:21 +01:00
Bartłomiej Dach
47429fb0c6
Fix same-name safety firing wrongly
2022-02-02 21:57:21 +01:00
Bartłomiej Dach
4f1aac9345
Add safeties preventing creating multiple difficulties with same name
2022-02-02 21:57:09 +01:00
Bartłomiej Dach
54bb6ad40c
Fix working beatmaps not seeing new difficulties after add
2022-02-02 21:55:34 +01:00
Bartłomiej Dach
dc96c4888b
Add support for creating new blank difficulties
2022-02-02 21:55:33 +01:00
Dean Herbert
6d962e7925
Merge pull request #16726 from dekrain/leaderboard-score-tooltip
...
Add basic tooltip for leaderboard scores
2022-02-02 13:56:45 +09:00
Bartłomiej Dach
3d7af805a3
Fix BeatmapMetadata
not using its user param correctly
2022-02-01 21:16:28 +01:00
Dean Herbert
8eace12fe3
Synchronise (roughly) backgrounds of all custom tooltips
2022-02-01 16:35:25 +09:00
Dean Herbert
142a67e163
Fix approach rate not being transferred from OD on older beatmaps
2022-01-28 18:53:28 +09:00
Bartłomiej Dach
6674567af1
Use -1 as the default preview time globally in metadata
2022-01-27 21:51:51 +01:00
Bartłomiej Dach
1b8136e3e0
Change some BeatmapInfo
defaults in a backwards compatible manner
2022-01-27 21:49:37 +01:00
Dean Herbert
5288eedd31
Update all usages of RulesetID
and Ruleset.ID
to use Ruleset.OnlineID
2022-01-27 15:38:03 +09:00
Dean Herbert
68ee80c5de
Merge pull request #16623 from frenzibyte/refactor-editor-save-test
...
Refactor editor saving test scene for scalability
2022-01-26 15:40:39 +09:00
Salman Ahmed
064468faad
Refactor editor saving test scene for scalability
2022-01-26 07:57:46 +03:00
Dean Herbert
cd71ec0edd
Remove ILive<>
interface (and use abstract Live<>
instead)
2022-01-26 13:38:56 +09:00
Dean Herbert
778d2a71b4
Remove Task
from the inner-most Import
method in RealmArchiveModelImporter
...
One of my pending work items for post-realm merge.
The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.
Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Dan Balasescu
05a2d7fbfe
Merge pull request #16591 from peppy/fix-editor-slider-velocity-saving
...
Don't include nested hit objects' `DifficultyControlPoints` in legacy encoder logic
2022-01-25 14:50:09 +09:00
Dean Herbert
e23b10e6a5
Update remaining cases of clashing variable name in realm.Run(realm..
2022-01-25 13:04:05 +09:00
Dean Herbert
3e5c9e8436
Fix cases of Access
instead of Realm
2022-01-25 12:58:15 +09:00
Dean Herbert
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
Dean Herbert
c3758047fd
Don't include nested hit objects' DifficultyControLPoints
in legacy encoder logic
...
The editor doesn't currently propagate velocity to nested objects. We're
not yet sure whether it should or not. For now, let's just ignore nested
objects' `DifficultyControlPoints` for simplicity.
Note that this only affects osu! ruleset due to the pre-check on
`isOsuRuleset`.
2022-01-24 19:54:08 +09:00
Dean Herbert
d7db6fa918
Merge branch 'master' into custom-meter
2022-01-24 15:46:44 +09:00
Bartłomiej Dach
838a9f69ed
Fix saved beatmap filename depending on ToString()
implementation
2022-01-23 20:28:30 +01:00
Bartłomiej Dach
4e5a1f27a8
Initialise Simple{Triple,Quadruple}
only once ever rather than create every time
2022-01-23 15:21:25 +01:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures
enum with struct for storage of arbitrary meter
2022-01-22 20:50:31 +01:00
Dean Herbert
495636538f
Add forced refresh on GetAllUsableBeatmapSets()
...
This is commonly used in tests in a way where it's not feasible to
guarantee correct results unless a refresh is called. This method
shouldn't really be used outside of tests anyway, but that's for a
folow-up effort.
2022-01-21 17:33:29 +09:00
Dean Herbert
114c9e8c1f
Update all usages of CreateContext
to use either Run
or Write
2022-01-21 17:27:08 +09:00
Dean Herbert
a5d2047f05
Fix various cases of creating realm contexts from update thread when not necessary
2022-01-21 01:44:56 +09:00
Dean Herbert
6c10531df2
Avoid constructor overhead for realm BeatmapMetadata
parameterless constructor
2022-01-20 17:14:51 +09:00
Dean Herbert
deb108816c
Fix some regressions in json output (we need to make all these explicit instead)
2022-01-20 17:09:31 +09:00
Dean Herbert
ccddf9b47d
Avoid constructor overhead for realm BeatmapSetInfo
parameterless constructor
2022-01-20 17:03:44 +09:00
Dean Herbert
3faf980fed
Avoid constructor overhead for realm BeatmapInfo
parameterless constructor
2022-01-20 16:47:27 +09:00
Bartłomiej Dach
247c557eaf
Fix expanded content scrollbar inadvertently hiding expanded content
2022-01-19 22:30:49 +01:00
Bartłomiej Dach
77748a5f93
Show scrollbar on expanded card content where applicable
2022-01-19 22:21:08 +01:00
Dan Balasescu
3e5d29ed00
Merge pull request #16505 from peppy/remove-base-difficulty-usage
...
Remove all usage of `BaseDifficulty` (and access `Difficulty` instead)
2022-01-19 13:53:55 +09:00
Dan Balasescu
2556f1cb87
Merge branch 'master' into optimise-set-detach-part-2
2022-01-19 13:20:38 +09:00
Dean Herbert
2363130f8b
Add back BaseDifficulty
with obsoletion counter to account for custom rulesets
2022-01-19 12:33:56 +09:00
Dean Herbert
60b80c88b6
Avoid file retrieval overhead when detaching BeatmapSetInfo
...
It seems that no usages of `BeatmapSetInfo` detaches require files - a
`WorkingBeatmap` is always obtained before doing further lookups.
Therefore we can omit this include unless the detaching object is a
`BeatmapInfo`. A refetch is performed when retrieving a
`WorkingBeatmap` to complete the equation.
2022-01-19 00:49:18 +09:00
Dean Herbert
67bf95bc91
Remove all usage of AuthorString
2022-01-18 23:30:40 +09:00
Dean Herbert
3596c6ed5d
Add some missing IgnoredAttributes
to reduce automapper overhead
2022-01-18 23:25:30 +09:00
Dean Herbert
7f65f3a47f
Remove all usage of BaseDifficulty
(and access Difficulty
instead)
2022-01-18 22:57:39 +09:00
Dean Herbert
9a43ed742b
Update automapper spec in line with v11
...
See https://docs.automapper.org/en/latest/11.0-Upgrade-Guide.html for
more details.
2022-01-18 15:23:28 +09:00
Dean Herbert
381174e482
Give the placeholder ruleset better defaults to allow tests to work again
2022-01-17 14:40:00 +09:00
Dean Herbert
744084b418
Initialise all parameters is paramaterless constructor for now for added safety
2022-01-17 13:51:30 +09:00
Bartłomiej Dach
e75d21507c
Fix GetDisplayTitleRomanisable()
relying on ToString()
implementation
2022-01-15 15:26:41 +01:00
Dean Herbert
dea2e1fac0
Return immediately on failed web request in synchronous BeatmapOnlineLookupQueue
flow
2022-01-14 13:20:51 +09:00
Dean Herbert
8424d86e9a
Remove unused cancellationToken
parameter in synchronous BeatmapOnlineLookupQueue
flow
2022-01-14 13:19:00 +09:00
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 Beatmap
s 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 ControlPoint
s
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 DifficultyControlPoint
s from HitObject
s
2021-09-03 16:58:16 +09:00
Dean Herbert
db3fc1d4af
Move DifficultyControlPoint
s 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