Dan Balasescu
338115ff6a
Move check to LegacyDifficultyControlPoint
2022-10-13 15:05:15 +09:00
Dean Herbert
3da54814f8
Merge pull request #20641 from pfgithub/patch-fix-save-collections
...
Preserve collections when saving a beatmap
2022-10-12 18:36:45 +09:00
sw1tchbl4d3
df0501235d
Introduce BpmMultiplierMania
, remove after the fact clamps
2022-10-12 11:14:01 +02:00
Dean Herbert
db148d145b
Fix incorrect offset logic for beatmaps without a preview point specified
2022-10-12 14:47:37 +09:00
Dean Herbert
721bfb5369
Rename parameter to read better
2022-10-12 14:46:35 +09:00
Dean Herbert
9bab02fab4
Remove unused using statement
2022-10-11 16:23:05 +09:00
Dean Herbert
eba3d37a11
Add xmldoc and simplify calling
2022-10-11 15:50:02 +09:00
pfg
e619c9c1e6
fix style
2022-10-10 21:48:41 -04:00
pfg
de8d485305
Move 'transferCollections' to a shared location
2022-10-10 21:45:33 -04:00
NotGumballer91
3cd6ce8e3f
Update WorkingBeatmap.cs
2022-10-11 01:48:55 +08:00
NotGumballer91
749dc40062
Update WorkingBeatmap.cs
2022-10-10 21:03:11 +08:00
NotGumballer91
e3b405cc23
Update IWorkingBeatmap.cs
2022-10-10 21:02:23 +08:00
sw1tchbl4d3
f8036658c7
Move clamps directly to the usages in the conversion algorithm
2022-10-10 09:36:18 +02:00
sw1tchbl4d3
e0904e263f
Fix legacy BpmMultiplier clamp value
2022-10-09 11:25:47 +02:00
pfg
edec613724
Remove unnecessary '?'
2022-10-08 13:58:42 -04:00
pfg
ff14453c2b
Preserve collections when saving a beatmap
2022-10-08 12:42:29 -04:00
o-dasher
feadac1f79
Cleanup all other leftover binding instantiation
2022-09-25 16:02:40 -04:00
Dean Herbert
992441b9de
Disable alpha component parsing in beatmap / skin colour sections
2022-09-21 16:11:41 +09:00
Dean Herbert
5ce67345ae
Catch against sqlite initialisation failures
2022-09-16 01:02:38 +09:00
Dean Herbert
28b15e232d
Remove all EF models
2022-09-15 16:59:36 +09:00
Dean Herbert
0aa92c78ec
Add local sqlite initialisation to BeatmapUpdaterMetadataLookup
for now
2022-09-15 16:58:58 +09:00
Dean Herbert
40a60f7145
Remove all entity framework code and migrations
2022-09-15 16:58:58 +09:00
Salman Ahmed
07f577a0c6
Fix beatmap listing potentially showing duplicate beatmap cards
2022-09-13 01:39:21 +03:00
andy840119
e62999fb16
Merge branch 'master' of https://github.com/ppy/osu into remove-the-nullable-disable-in-the-ruleset
...
# Conflicts:
# osu.Game.Rulesets.Catch/CatchRuleset.cs
# osu.Game.Rulesets.Osu/OsuRuleset.cs
# osu.Game.Rulesets.Taiko/TaikoRuleset.cs
# osu.Game/Rulesets/Ruleset.cs
2022-09-10 10:40:12 +08:00
Dean Herbert
e9ce968ae3
Merge branch 'master' into fix-play-button-touch
2022-09-09 18:08:18 +09:00
Dean Herbert
d6748d6921
Avoid double call to ProcessFrame
2022-09-09 14:35:47 +09:00
Dean Herbert
64cf6b9014
Compare with decoupled clock directly to avoid including offsets
2022-09-09 14:35:35 +09:00
Dean Herbert
20ffbc4676
Fix beat sync stopping after returning to menu from a failed play
...
Closes #20193 .
Explanation is inline comment.
2022-09-09 14:13:03 +09:00
Dean Herbert
ed81297611
Fix playlist items showing download button briefly during initial local presence checks
2022-09-08 17:10:45 +09:00
Dean Herbert
db15bd56e8
Invalidate working beatmap cache when calling DeleteDifficultyImmediately
rather than in editor code
2022-09-06 18:12:47 +09:00
Dean Herbert
579e7e1f17
Fix deleting a difficulty not updating the beatmap set hash
2022-09-06 18:12:47 +09:00
Dean Herbert
605108c938
Refactor/rename deletion method to read better
2022-09-02 16:59:01 +09:00
Dean Herbert
b388428e1c
Merge branch 'master' into feature/EditorDeleteDiff
2022-09-02 16:48:38 +09:00
Dean Herbert
d3ae60ec6d
Fix tournament population failure when beatmap is not found on server
2022-09-01 22:03:01 +09:00
Dan Balasescu
837b19ab24
Merge pull request #19919 from khang06/nan-sv
...
Emulate osu!stable's NaN slider velocity behavior
2022-08-31 19:06:49 +09:00
Dan Balasescu
0491addbbd
Merge pull request #19974 from peppy/no-gameplay-clock-editor-offset
...
Fix editor not applying offsets
2022-08-29 21:10:29 +09:00
Dean Herbert
3eda284b03
Always reprocess beatmaps after a user update request
...
This covers the rare case where metadata may have changed server-side but not
the beatmap itself.
Tested with the provided user database to resolve the issue.
Closes #19976 .
2022-08-29 18:17:42 +09:00
Dean Herbert
2dafa041a7
Account for offset being applied to editor clock time in TestSceneEditorClock
2022-08-29 16:42:50 +09:00
Dan Balasescu
cf6bb3b030
Merge pull request #19958 from peppy/fix-fail-freq-stuck
...
Ensure fail animation sequence isn't run after the player exit sequence has started
2022-08-27 00:58:41 +09:00
Dean Herbert
ad3dd1c700
Fix a couple of oversights regarding track
nullability
2022-08-25 14:45:00 +09:00
Khang
adea29c106
Fix test failures
2022-08-24 03:37:33 -04:00
Khang
c9f364d6a0
Document why beatLength can be NaN
2022-08-24 02:10:19 -04:00
Khang
c1ced85b5e
Move GenerateTicks to LegacyDifficultyControlPoint and remove support for NaN slider velocity support for other rulesets (at least for now)
2022-08-23 14:07:18 -04:00
Dean Herbert
29fed0c4a3
Avoid setting the source clock until gameplay is ready to start
...
Without this change, the audio track may audibly seek during load
proceedings.
2022-08-23 18:34:17 +09:00
Khang
fbe8de2757
Disable the GetHashCode warning instead of using bindables
2022-08-23 00:57:25 -04:00
Khang
8f708c1dcf
Turn GenerateTicks into a bindable to pass code quality tests
2022-08-22 22:43:44 -04:00
Khang
9f08c474ca
Treat NaN slider velocity timing points as 1.0x but without slider ticks
2022-08-22 21:58:38 -04:00
Khang
e8d4bc4497
Allow NaN during beatmap parsing if desired
2022-08-22 21:04:26 -04:00
Dean Herbert
17a1df281c
Fix incorrect implicit null specification for user audio offset bindable
2022-08-22 14:03:51 +09:00
Dean Herbert
ba23ce75c2
Make FramedBeatmapClock.Track
non-null
2022-08-22 14:02:41 +09:00
Dean Herbert
85d0b7fc57
Reword class xmldoc to better explain that offset application is optional
2022-08-22 14:02:20 +09:00
Dean Herbert
bcc153f738
Add xmldoc and reorganise FramedBeatmapClock
2022-08-18 18:54:10 +09:00
Dean Herbert
6003afafc7
Use FramedBeatmapClock
in GameplayClockContainer
2022-08-18 18:54:10 +09:00
Dean Herbert
32e127a6fa
Add FramedBeatmapClock
...
Expose `IsCoupled` in `FramedBeatmapClock` for now to provide editor compatibility
2022-08-18 18:54:10 +09:00
Dean Herbert
37799e3b31
Allow preparing preview point without looping
2022-08-17 13:20:24 +09:00
Dean Herbert
11f38e539f
Rename property to LastLocalUpdate
2022-08-16 16:01:19 +09:00
Dean Herbert
c7db4a532c
Merge branch 'master' into store-modified-time
2022-08-16 15:53:51 +09:00
Dan Balasescu
69cbf4185b
Match class name to file
2022-08-10 19:53:40 +09:00
Dean Herbert
ac99c1ad69
Migrate the majority of existing file lookups to use new extension methods
2022-08-10 16:01:16 +09:00
Dean Herbert
5f10ec1955
Add extension methods for case insensitive file lookups
2022-08-10 15:48:25 +09:00
Dean Herbert
e1189da824
Merge branch 'master' into irenderer-glwrapper
2022-08-08 12:31:53 +09:00
Dan Balasescu
cf362a6b4f
Merge pull request #19529 from peppy/locally-modified-pill
...
Show "locally modified" pill when local modifications have been made
2022-08-05 21:12:13 +09:00
Dan Balasescu
c4b9b2a14b
Merge branch 'master' into irenderer-glwrapper
2022-08-05 20:35:06 +09:00
Dean Herbert
94ec653420
Add same load-cancel safeties to ensure tracks are disposed in card PlayButton
2022-08-05 14:26:01 +09:00
Dean Herbert
094eaafd43
Split out common conditional check into local static
method
2022-08-04 17:26:54 +09:00
Salman Ahmed
844430502b
Replace parantheses with nullable-bool equality operation
2022-08-03 20:11:08 +03:00
Dean Herbert
a32149fda1
Convert interface methods to extension methods
2022-08-03 20:07:55 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
Dean Herbert
258ad7c6b9
Tidy up kiai time access
2022-08-02 18:18:40 +09:00
Dean Herbert
cc4cde2c79
Improve IBeatSyncProvider
interface and reduce beatmap track dependence
2022-08-02 17:59:18 +09:00
Dean Herbert
7022c6382d
Add localisation support for local modification strings
2022-08-02 16:30:14 +09:00
Dean Herbert
8cb02f47eb
Mark BeatmapSet.Status
as modified when any beatmap is modified, rather than all
2022-08-02 16:08:58 +09:00
Dean Herbert
df76f9f4da
Fix some additional metadata being updated when it shouldn't (with local changes)
2022-08-02 15:49:22 +09:00
Dean Herbert
4adc8375e9
Add more xmldoc and avoid BeatmapSet
status being set when it shouldn't be
2022-08-02 12:12:02 +09:00
Dean Herbert
d7a06abcab
Add BeatmapInfo.LastUpdate
to track the time of local changes
2022-08-02 00:53:07 +09:00
Dean Herbert
013cf7a80a
Fix DateAdded
not being set to a sane value when creating a new beatmap in the editor
2022-08-02 00:53:07 +09:00
Dean Herbert
0fcae08d38
Show "locally modified" pill when local modifications have been made
2022-08-02 00:52:38 +09:00
Dean Herbert
cb52b696ed
Merge branch 'master' into bypass-local-metadata-cache
2022-07-29 16:05:54 +09:00
Dean Herbert
2ff6ff06d3
Use tuple to better explain new bool
parameter
2022-07-29 16:05:41 +09:00
Dan Balasescu
a59d7f6710
Merge branch 'master' into collections-track-beatmap-updates
2022-07-28 22:05:34 +09:00
Dean Herbert
a21aee4e9c
Reduce calls to LoadTrack
by implicitly running on test/dummy classes
2022-07-28 18:11:40 +09:00
Dan Balasescu
1da9830145
Merge pull request #19435 from peppy/remove-beatmap-manager-ruleset-store
...
Remove unused `RulesetStore` from `BeatmapManager` constructor
2022-07-28 17:46:12 +09:00
Dean Herbert
8cb4fb35e0
Rename parameter to read better (and still use local cache if no online API is available)
2022-07-28 17:08:59 +09:00
Dean Herbert
c35da62224
Add flow for bypassing local cache lookups when refreshing beatmap metadata
2022-07-28 16:33:51 +09:00
Dean Herbert
17a3fd30fb
Move scheduler from OnlineLookupQueue
to BeatmapUpdater
2022-07-28 16:32:22 +09:00
Dean Herbert
2b9d46d803
Remove unused RulesetStore
from BeatmapManager
constructor
2022-07-28 16:19:05 +09:00
Dan Balasescu
c1aaf27c54
Link to correct model in xmldoc
2022-07-28 16:02:19 +09:00
Dean Herbert
452d82f292
Add more comprehensive xmldoc for beatmap model classes
2022-07-28 15:41:28 +09:00
Dean Herbert
070f56c30c
Add collection transfer logic to beatmap import-as-update flow
2022-07-28 15:03:23 +09:00
Micahel Kelly
dd315ff97b
Adds hard-delete for a beatmap diff
2022-07-27 21:21:16 +10:00
Dean Herbert
41393616d8
Replace BeatmapCollection
with RealmBeatmapCollection
2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48
Remove CollectionManager
2022-07-27 18:45:33 +09:00
Dean Herbert
6b73f7c7ec
Split out legacy import path from realm manager
2022-07-27 15:04:09 +09:00
Dean Herbert
4c22b55ce3
Fix incorrect handling if an update is processed with no changes
2022-07-26 17:00:28 +09:00
Dean Herbert
9939866f7d
Revert one more missed change
2022-07-26 15:54:10 +09:00
Dean Herbert
8370ca9765
Add ImportAsUpdate
method to IModelImporter
to avoid otehr changes
2022-07-26 15:49:04 +09:00
Dean Herbert
d41ac36a69
Fix scenario where import is expected to be empty
2022-07-25 23:59:27 +09:00
Dean Herbert
8a0c8f5fd8
Fix some realm pieces not being cleaned up
2022-07-25 19:51:19 +09:00
Dean Herbert
2e14d8730c
Move implementation of updating a beatmap to BeatmapImporter
2022-07-25 19:51:19 +09:00
Dean Herbert
2363a3fb7b
Persist DateAdded
over beatmap updates
2022-07-25 19:51:19 +09:00
Dean Herbert
e5ad07454c
Ensure previous version prior to update loses online info after marked pending delete
2022-07-25 19:51:19 +09:00
Dean Herbert
912218e123
Ensure scores are transferred after beatmap update if difficulty hash didn't change
2022-07-25 19:51:19 +09:00
Dean Herbert
b7f6413bce
Fix old version of beatmap potentially not being deleted during update flow
...
This can happen if the online IDs are not present in the `.osu` files.
Previously this was only working due to the early logic in the import
process (that relies on matching all online IDs perfectly).
2022-07-25 19:51:19 +09:00
Dean Herbert
6a3e8e31de
Centralise calls to reset online info of a BeatmapInfo
2022-07-25 19:51:19 +09:00
Dan Balasescu
068063a43a
Merge pull request #19371 from peppy/fix-working-cache-invalidation
...
Fix calls to `GetWorkingBeatmap` invalidating cache too often
2022-07-25 18:29:46 +09:00
Dean Herbert
6bf2645b1a
Fix StarRatingDisplay
not handling negative numbers as "pending"
2022-07-25 15:44:54 +09:00
Dean Herbert
2ec90e37bb
Fix calls to GetWorkingBeatmap
invalidating cache too often
...
With recent changes, the pathway between refetching (on request) and
refetching (on requirement due to unpopulated files) was combined.
Unfortunately this pathway also added a forced invalidation, which
should not have been applied to the second case.
Closes https://github.com/ppy/osu/issues/19365 .
2022-07-25 15:30:49 +09:00
Dean Herbert
d5e0dba9da
Change default value of StarRating
to -1
2022-07-21 18:20:46 +09:00
Dan Balasescu
2b399ec7ad
Merge branch 'master' into date-submitted-ranked
2022-07-20 18:36:57 +09:00
Dan Balasescu
de29078db2
Remove nullable disables
2022-07-20 15:16:40 +09:00
Dean Herbert
6357223341
Fix incorrect DI fetch and apply nullability to ModelDownloader
2022-07-19 20:06:34 +09:00
Dean Herbert
30daa0fd44
Add ranked and submitted date storage and filtering
2022-07-19 19:55:56 +09:00
Dean Herbert
07874efa7f
Set last online update to actual value provided by data source
2022-07-19 19:39:51 +09:00
Dean Herbert
eaf4f6dbb7
Add beatmap update button
2022-07-19 18:29:36 +09:00
Dean Herbert
6adcf82d2e
Add change ingester to handle passing of online changes to correct target components
2022-07-19 17:57:01 +09:00
Dean Herbert
6ea380d649
Add new properties to BeatmapInfo
to track online hash and updates
2022-07-19 17:57:01 +09:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Dean Herbert
22a9e7e275
Fix audio/background equality not correctly using BeatmapInfo
local filenames
2022-07-18 17:05:21 +09:00
Dean Herbert
51071be315
Don't show "missing background" messages to user
...
Bit of an oversight.
As reported on [twitter](https://twitter.com/emyl___/status/1548627793075998720 ) and somewhere else i forgot.
2022-07-17 21:20:51 +09:00
Dean Herbert
ebe0cfefd8
Ensure that multiple BeatmapSetInfo
already in realm don't cause import failures
...
Really this shouldn't happen but I managed to make it happen. Until this
comes up again in a way that matters, let's just fix the LINQ crash from
`SingleOrDefault`.
I've tested this to work as expected in the broken scenario.
2022-07-14 18:21:41 +09:00
Dan Balasescu
7ed05277f8
Merge pull request #19098 from peppy/last-played
...
Add "last played" sort mode to song select
2022-07-13 22:44:50 +09:00
Dean Herbert
1cfdea911b
Fix audio and background file equality incorrectly comparing BeatmapSet.Hash
2022-07-13 19:41:38 +09:00
Dean Herbert
8820ea4006
Add last played date to BeatmapInfo
2022-07-13 16:36:43 +09:00
為什麼
57c6763556
Mark the CreateBeatmapProcessor()
as nullable.
...
Also, should add the null check in the working beatmap.
2022-07-10 10:15:27 +08:00
Dean Herbert
c53dd4a703
Fix editor saving not updating BeatmapSetInfo
's hash
2022-07-08 02:33:14 +09:00
Dean Herbert
b5c703b62c
Remove unused using statement
2022-07-07 17:59:55 +09:00
Dean Herbert
e2c4c94993
Simplify BeatmapUpdater
transaction handling using nested transaction support
2022-07-07 17:37:46 +09:00
Dean Herbert
79bed0abdf
Merge branch 'realm-nested-writes' into metadata-client
2022-07-07 17:37:06 +09:00
Dean Herbert
e81cebf27d
Change storyboard parsing logic to not completely fail if only .osb
read fails
...
Changes to allow the storyboard to exist if only the `.osu` is
available. Reads better IMO.
2022-07-07 14:33:20 +09:00
Dean Herbert
c4b6893709
Add local handling of cases where a beatmap's file cannot be found on disk
2022-07-07 14:29:19 +09:00
Dean Herbert
a52ea3cabe
Enable NRT and simplify LineBufferedReader
2022-07-06 14:57:56 +09:00
Dean Herbert
59d0bac728
Hook up update flow to metadata stream
2022-07-05 21:32:00 +09:00
Dean Herbert
aab4dcefbd
Remove unnecessary invalidation handling flow
2022-06-30 17:13:26 +09:00
Dean Herbert
0698471627
Move BeatmapOnlineLookupQueue
to inside BeatmapUpdater
2022-06-30 17:03:19 +09:00
Dean Herbert
ef42c6ecdf
Add missing xmldoc
2022-06-30 16:51:31 +09:00
Dean Herbert
e34c2f0aca
Remove unnecessary nullable-enable
2022-06-30 16:47:26 +09:00
Dean Herbert
82134ad1a6
Allow null
parameter to GetWorkingBeatmap
for now
2022-06-30 16:46:28 +09:00
Dean Herbert
98938821e5
Merge branch 'master' into beatmap-update-flow
2022-06-30 16:44:17 +09:00
Dean Herbert
18d465eff7
Guard against NaN
star difficulty results
2022-06-29 21:02:29 +09:00
Dan Balasescu
396e7fc166
Merge pull request #18862 from peppy/empty-beatmap-file-fix-2
...
Fix second case of empty beatmaps being reported to sentry as errors
2022-06-27 20:37:57 +09:00
Dan Balasescu
f6a6538e96
Add more properties to IBeatmapOnlineInfo
2022-06-27 16:07:15 +09:00
Dean Herbert
13c8d33009
Fix second case of empty beatmaps being reported to sentry as errors
2022-06-27 15:29:01 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
7692bac35a
Simplify refetch (and ensure to invalidate after processing)
2022-06-24 21:02:38 +09:00
Dean Herbert
0c3d890f76
Fix reprocessing not working on import due to realm threading woes
2022-06-24 21:02:38 +09:00
Dean Herbert
30b3973c9f
Difficulty cache invalidation flow
2022-06-24 21:02:38 +09:00
Dean Herbert
66a01d1ed2
Allow song select to refresh the global WorkingBeatmap
after an external update
2022-06-24 21:02:38 +09:00
Dean Herbert
6999933d33
Split updater process into realm transaction and non-transaction
2022-06-24 21:02:38 +09:00
Dean Herbert
021b16f2f3
Ensure WorkingBeatmap
is invalidated after update
2022-06-24 21:02:38 +09:00
Dean Herbert
fe570d8052
Queue beatmaps for update after editing
2022-06-24 21:02:38 +09:00
Dean Herbert
06d59b717c
Move beatmap processing tasks to new BeatmapUpdater
class
2022-06-24 21:02:37 +09:00
Dean Herbert
2ca4184eda
Merge pull request #18834 from bdach/ban-implicit-to-lower-upper
...
Disallow usage of `string.To{Upper,Lower}()` without explicit culture
2022-06-24 20:39:58 +09:00
Dan Balasescu
7eb49dac7a
Merge pull request #18832 from peppy/bdc-remove-unused-path
...
Remove unused bindable retrieval flow in `BeatmapDifficultyCache`
2022-06-24 20:20:23 +09:00
Dean Herbert
823b3c1c0f
Ensure WorkingBeatmap
is always using a detached instance
2022-06-24 19:07:54 +09:00
Dean Herbert
2ae48d5a87
Rename incorrect parameter name in BeatmapManager.GetWorkingBeatmap
2022-06-24 19:07:54 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}()
2022-06-24 11:57:45 +02:00
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
Joseph Madamba
1107e267e3
Fix beatmap card play button not working with touch inputs when not hovered
2022-06-10 22:03:51 -07: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
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