Dean Herbert
c179127670
Remove unused bindable retrieval flow
2022-06-24 17:09:56 +09:00
Dean Herbert
0755430006
Use AddOnce
for update calls
2022-06-24 17:09:56 +09:00
Dean Herbert
8912f07745
Merge branch 'master' into difficulty-icon-refactor-pass
2022-06-24 16:34:35 +09:00
Dean Herbert
28837693e5
Nuke calculating everything
...
The whole component is pointless so I'm just going to nuke for now I
guess. Kind of makes the whole refactor effort pointless but oh well?
To expand on this, the implementation was actually incorrect as pointed
out at https://github.com/ppy/osu/pull/18819#pullrequestreview-1017886035 .
2022-06-24 14:24:06 +09:00
Dean Herbert
12ea8369ee
Update retriever to be relatively sized
2022-06-24 14:06:31 +09:00
Dean Herbert
d9c1a9d71f
Use new property to specify no tooltip, rather than passing only ruleset
2022-06-24 14:06:18 +09:00
Dean Herbert
129c907092
Remove unused parameters
2022-06-24 13:58:02 +09:00
Dean Herbert
ef258122d2
Move GetDifficultyRating
helper method to StarDifficulty
2022-06-23 19:51:58 +09:00
Dean Herbert
b068df2149
Enable NRT on BeatmapDiffiultyCache
2022-06-23 19:51:58 +09:00
Dean Herbert
01da6f20b3
Tidy up all remaining usages
2022-06-23 19:27:35 +09:00
Dean Herbert
7dec530ca5
Split out simple DifficultyIcon
with no calculation overhead and update usages
2022-06-23 19:27:35 +09:00
Dean Herbert
3a83e5684c
Tidy up DifficultyIcon
2022-06-23 19:27:35 +09:00
Dean Herbert
d6b073ebad
Move DifficultyRetrieve
to own class and split both pathways into separate constructors
2022-06-23 19:27:35 +09:00
Dean Herbert
97fcf8cec9
Merge pull request #18668 from smoogipoo/editor-controlpoint-undo-redo
2022-06-23 04:02:24 +09:00
Dan Balasescu
6a26461683
Compare by reference in ControlPoint.Equals()
2022-06-21 12:05:28 +09:00
Dean Herbert
dbae4c6f5a
PostImport
-> PresentImport
2022-06-20 18:36:29 +09:00
Dan Balasescu
c402e90598
Merge pull request #18777 from peppy/output-directory-on-import-failure
...
Silence exception and provide more log output when import fails due to empty `.osu` files
2022-06-20 17:36:21 +09:00
Dan Balasescu
16281f4a48
Properly annotate method to allow null
2022-06-20 16:56:19 +09:00
Dean Herbert
d38defada4
Silence exception and provide more log output when import fails due to empty .osu
files
2022-06-20 16:07:10 +09:00
Dan Balasescu
03ab6fc141
Implement IEquatable on ControlPoint
2022-06-20 15:27:43 +09:00
Dean Herbert
92f1a2958c
Rename Import(TModel)
to ImportModel
to differentiate from other import methods
2022-06-20 15:18:07 +09:00
Dean Herbert
a6c8a832aa
Remove Import(ArchiveReader)
and redirect existing usages to Import(ImportTask)
2022-06-20 15:14:57 +09:00
Dan Balasescu
468e5fcbed
Merge branch 'master' into editor-controlpoint-undo-redo
2022-06-20 13:47:01 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
d48fbdb439
Merge branch 'bmm-cleanup' into bmm-cleanup-2
2022-06-16 19:48:54 +09:00
Dean Herbert
e66ccfd980
Add back missing notification flow
2022-06-16 19:48:18 +09:00
Dean Herbert
3860f0b3e5
Remove unused GetWorkingBetamap
method
2022-06-16 19:08:59 +09:00
Dean Herbert
ce3d3a967c
Reimplement missing methods
2022-06-16 19:05:25 +09:00
Bartłomiej Dach
a635664a86
Fix invalid method reference in comment
...
`BeatmapModelManager.Save()` was moved to `BeatmapManager`, not to
`BeatmapImporter`.
2022-06-16 12:01:53 +02:00
Dean Herbert
72c5b9009d
Remove local realm
fields in manager classes
2022-06-16 18:56:53 +09:00
Dean Herbert
f3984d98e6
Remove RealmArchiveModelManager
from hierarchy
2022-06-16 18:53:13 +09:00
Dean Herbert
04e4c5ef88
Move and adjust implementation regions to restore sanity
2022-06-16 18:26:13 +09:00
Dean Herbert
1f3e1b2d97
Combine BeatmapManager
and BeatmapModelManager
into one class
2022-06-16 18:07:04 +09:00
Dean Herbert
8ea3042435
Move file extensions specification to common class
2022-06-16 18:00:27 +09:00
Dean Herbert
84dba36cf5
Update usages of BeatmapModelManager
which only require importing to use BeatmapImporter
2022-06-16 17:59:24 +09:00
Dean Herbert
4c372539a1
Consolidate remaining methods in BeatmapModelManager
2022-06-16 17:59:24 +09:00
Dean Herbert
f23ddfe6cc
Move remaining realm classes out of Stores
namespace
2022-06-15 21:56:00 +09:00
Dean Herbert
23d7667f39
Move BeatmapImporter
to correct namespace
2022-06-15 21:47:52 +09:00
Dean Herbert
9edc4fc181
Remove unnecessary ShouldDeleteArchive
override (already done in base implementation)
2022-06-15 21:47:52 +09:00
Dean Herbert
88d5e074a8
Rename lowPriority
to batchImport
2022-06-15 00:46:00 +09:00
Dean Herbert
2f8290831a
Skip quick import clause when importing a single item
...
Closes https://github.com/ppy/osu/issues/18600 .
2022-06-15 00:26:34 +09:00
Dean Herbert
94ba71aa13
Remove one more usage of lowPriority
2022-06-14 20:21:28 +09:00
Dean Herbert
9f599a5ab4
Remove unused lowPriority
flag from one Import
method
2022-06-14 19:52:30 +09:00
Dan Balasescu
7e7716f942
Support undo/redo for control points
2022-06-13 15:45:08 +09:00
Dan Balasescu
c9dfffbc0e
Merge pull request #18619 from peppy/fix-collection-performance
...
Fix performance overhead of large collections
2022-06-10 15:01:31 +09:00
Endrik Tombak
c90b285861
Change variable name and inline it
2022-06-08 21:10:27 +03:00
Endrik Tombak
bf67b35ade
Use new own profile statistics in difficulty recommender
2022-06-08 17:44:57 +03:00
Dean Herbert
cf438b1a44
Add index on MD5Hash
property
...
Reduces actual query overhead significantly
2022-06-08 18:01:55 +09:00
Dean Herbert
3b4b35c51e
Remove unnecessary string interpolation
2022-06-06 20:18:57 +09:00
Dean Herbert
f96340e37d
Improve messaging of deletion progress / completion
2022-06-06 20:18:32 +09:00
Dean Herbert
b104b7a90d
Rename method to mention "all"
2022-06-06 20:12:20 +09:00
Dean Herbert
da000ee5f0
Centralise video file extensions
2022-06-06 20:11:43 +09:00
Dean Herbert
cb383d4bdc
Merge branch 'master' into delete-all-beatmap-videos-sbs
2022-06-06 20:08:05 +09:00
Joseph Madamba
30cf6bffad
Add tooltips to beatmap card icon pills
2022-06-03 21:41:52 -07:00
Jamie Taylor
365819865e
Remove 'submit' sample usages
2022-06-03 22:31:35 +09:00
Dean Herbert
5bd9d88219
Fix tutorial download state not matching correctly when already available locally
...
Closes https://github.com/ppy/osu/issues/18468 .
This doesn't stop the tutorial from downloading a second time, but at
least displays the correct status afterwards. Avoiding the download is a
bit more involved and requires a change to the flow. Probably not worth
it just yet.
To test, recommend switching to production environment, as dev server
doesn't have correct metadata for tutorial resulting in weirdness.
2022-06-02 16:34:24 +09:00
Dean Herbert
e53c8518de
Don't output beatmap parse failures in a visible manner
...
The user can't do much about this. When a user reports a beatmap issue,
the logs will still contain this useful information. Should be fine I
think.
As mentioned in
https://github.com/ppy/osu/discussions/18426
https://github.com/ppy/osu/issues/750
https://github.com/ppy/osu/issues/18372
etc.
2022-05-27 19:18:38 +09:00
Dean Herbert
588c5d1583
Add initial waveform comparison display
2022-05-24 14:36:44 +09:00
Dan Balasescu
f111d33b25
Merge pull request #18339 from peppy/editor-timing
...
Add first pieces of editor timing UI
2022-05-23 11:12:22 +09:00
Dean Herbert
267bef959f
Remove unnecessary cache type specification
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-05-23 02:00:04 +09:00
Dean Herbert
3a7233bd6e
Move interface to more appropriate namespace
2022-05-22 22:49:24 +09:00
Salman Ahmed
a17eed64f9
Use Track
to ensure its loaded before transferring
2022-05-21 16:52:16 +03:00
Salman Ahmed
a42f5ea34e
Bring back virtual track condition given its cheapness
...
Will still keep the override in `ClockBackedTestWorkingBeatmap` because
it still relies on a local track store and will fail the moment it uses
a non-virtual track.
2022-05-21 16:51:56 +03:00
Salman Ahmed
466ed3c791
Fix wrong return xmldoc
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-05-21 16:43:31 +03:00
Salman Ahmed
c78d90ccbd
Refactor track transferring logic for ability to override and disallow
2022-05-20 14:43:07 +03:00
Dean Herbert
16075d2a2f
Merge pull request #18321 from smoogipoo/legacy-catmull
...
Fix compatibility issues with legacy Catmull sliders
2022-05-19 15:42:21 +09:00
Noah M
d1fcd73c87
Convert extension checking to checking against string array
2022-05-18 16:25:10 -05:00
Noah M
60eb0ea69e
Remove unnecessary parameters from DeleteVideos
2022-05-18 15:40:46 -05:00
Noah M
a93a2fcafb
Move implementation of DeleteVideos to BeatmapModelManager
2022-05-18 15:37:46 -05:00
Dan Balasescu
731f0960ec
Don't merge adjacent legacy Catmull segments
2022-05-18 17:16:24 +09:00
Noah M
69351d2cdf
Implement button to delete all beatmap videos
2022-05-18 01:20:57 -05:00
Dean Herbert
8112416335
Assert that downloads are queued early enough to work
2022-05-17 17:33:54 +09:00
Salman Ahmed
88ba84ac9c
Replace Pill
with Badge
everywhere
2022-05-14 20:52:38 +03:00
Salman Ahmed
9bac33ec9f
Integrate spotlight beatmap badge in listing cards
2022-05-14 19:47:31 +03:00
Dan Balasescu
3b4fdf20f9
Prevent throwing exceptions on first run without internet
2022-05-09 12:15:54 +09:00
ekrctb
dcf0d5a9d5
Fix slider velocity wrongly decoded as scrolling speed in osu!catch
2022-05-08 21:49:42 +09:00
ekrctb
3eeedd8024
Fix per-hit object slider velocity ignored in osu!catch
2022-05-08 13:45:21 +09:00
Dan Balasescu
39d10487b9
Merge branch 'master' into snapping-tidy-distance
2022-05-05 19:55:55 +09:00
Salman Ahmed
67341db0e7
Wrap BeatmapOnlineLookupQueue
cache request in a task
2022-05-05 12:40:02 +03:00
Dean Herbert
6227e3f876
Add comprehensive documentation of BeatmapInfo.DistanceSpacing
2022-05-05 16:25:45 +09:00
Dean Herbert
faeefc5e18
Merge pull request #16576 from frenzibyte/osu-distance-spacing
...
Add "distance spacing" support in editor for osu! ruleset
2022-05-03 12:15:18 +09:00
Salman Ahmed
fef94d49f4
Revert "Convert data type of DistanceSpacing
to float"
...
This reverts commit 7aaa88cac2
.
2022-04-29 08:02:07 +03:00
Dean Herbert
92d4463e55
Add "always bundled" beatmaps
2022-04-29 11:45:18 +09:00
Dean Herbert
804848c9fb
Allow bundled downloader to not post notifications
2022-04-28 19:01:21 +09:00
Dean Herbert
3c9e520188
Update bundle logic to match stable
2022-04-28 19:01:21 +09:00
Dean Herbert
d056465742
Remove explicit dependency on INotificationOverlay
2022-04-28 19:01:21 +09:00
Dean Herbert
58399a5113
Add tutorial download support and improve the visuals "slightly"
2022-04-28 19:01:21 +09:00
Dean Herbert
973dd4bfa9
Add initial flow for download button / progress display
2022-04-28 19:01:21 +09:00
Dean Herbert
99d2d7b805
Add very basic implementation of bundled beatmap downloader
2022-04-28 19:01:21 +09:00
Salman Ahmed
7aaa88cac2
Convert data type of DistanceSpacing
to float
2022-04-28 10:24:36 +03:00
Salman Ahmed
dacca73838
Set default value of DistanceSpacing
to 1
2022-04-28 07:14:43 +03:00
Dean Herbert
e9ec406046
Remove weird code
2022-04-27 19:20:08 +09:00
Dean Herbert
c44f7d9f93
Fix high star ratings not being easily visible on tooltips
...
Resolves issue mentioned in https://github.com/ppy/osu/discussions/17920 .
2022-04-22 15:59:52 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Dean Herbert
e010dfb150
Handle virtual track string to avoid throwing later in lookup
2022-04-14 17:33:42 +09:00
Dean Herbert
552ec5282f
Change WorkingBeatmap.GetVirtualTrack
to use length provided by BeatmapInfo
...
A lot of tests are using test resources that populate the length field,
but do not populate hitobjects. The general expectation is that
components should be using the cached length in cases where hitobjects
are not relevant, but `GetVirtualTrack` was doing its own local
calculation.
This could cause tests to fail due to `MusicController` changing track
in the background.
2022-04-06 14:51:15 +09:00
Dan Balasescu
32e55e7d78
Merge branch 'master' into osu-diff-calc-max-combo
2022-03-31 15:08:08 +09:00
Dan Balasescu
478174dd58
Merge pull request #17416 from peppy/skin-fuck
...
Refactor skin construction
2022-03-25 15:36:06 +09:00
Dean Herbert
a7554dcdf7
Use a constant for the early version timing offset
2022-03-24 16:43:41 +09:00
Dean Herbert
a7f63fb034
Make providing a custom ResourceStore
to LegacyBeatmapSkin
optional (for tests only)
2022-03-23 14:57:42 +09:00
Salman Ahmed
b9859f9f21
Obsolete BeatmapInfo.MaxCombo
and suppress in usages
2022-03-20 16:30:29 +03:00
Salman Ahmed
c2063f415d
Remove unnecessary MaxCombo
migration between unmapped database fields
2022-03-20 16:27:54 +03:00
Salman Ahmed
c5cc7eec79
Add explicit todo about removing BeatmapInfo.MaxCombo
...
Using that property is a trap basically.
2022-03-20 05:38:14 +03:00
Bartłomiej Dach
e1610b5d32
Merge branch 'master' into ruleset-leaderboard-unavailable
2022-03-03 22:52:20 +01:00
Dean Herbert
42e07b7308
Convert to extension method to avoid recursive calls
2022-03-03 14:15:37 +09:00
Dean Herbert
fab9323707
Replace all legacy ruleset checks with a helper property call
2022-03-03 14:08:48 +09:00
Dean Herbert
acf8db13ac
Store user settings to realm
2022-03-01 18:44:15 +09:00
Bartłomiej Dach
d0c01afc2e
Add flow for changing set of valid divisors between presets
2022-02-27 15:37:51 +01:00
Dean Herbert
c869be87d1
Update FlatFileWorkingBeatmap
to not require a ruleset store
2022-02-19 20:53:04 +09:00
Dan Balasescu
567da9214e
Merge branch 'master' into osu-diff-calc-max-combo
2022-02-18 18:35:24 +09:00
Dean Herbert
a029e418cf
Use internal
instead of protected internal
2022-02-18 17:06:04 +09:00
Dean Herbert
cf1dd1ebd3
Disallow registering a null RulesetStore
2022-02-18 16:52:34 +09:00
Dean Herbert
420e2c538f
Automatically use an AssemblyRulesetStore
if no custom store is registered
2022-02-18 16:52:34 +09:00
Dean Herbert
631c23ea3a
Merge branch 'master' into beatmap-decoder-ruleset-store
2022-02-18 16:52:33 +09:00
Bartłomiej Dach
8a08bb7aaf
Use best-name-finding helper in new difficulty creation flow
2022-02-17 00:28:18 +01:00
Dean Herbert
5477af08c5
Register an AssemblyRulesetStore
in tests which don't use OsuGameBase
2022-02-16 17:21:57 +09:00
Dean Herbert
13086541f0
Add static RulesetStore
to LegacyBeatmapDecoder
2022-02-16 17:13:54 +09:00
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