1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-19 15:42:59 +08:00
Commit Graph

2754 Commits

Author SHA1 Message Date
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/RulesetInfos 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