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