Dean Herbert
7db8bdfb7c
Fix fallback logic not considering case where ruleset is not available
...
Occurs only in tests.
2021-10-29 18:16:54 +09:00
Dean Herbert
be0564f732
Update DifficultyIcon
classes to use IBeatmapInfo
2021-10-29 17:05:06 +09:00
Dean Herbert
7583435901
Refactor BeatmapDifficultyCache
to work with IBeatmapInfo
2021-10-29 16:45:10 +09:00
Dean Herbert
3b095e1626
Merge branch 'master' into beatmap-refactor/download-tracker
2021-10-29 11:50:54 +09:00
Dean Herbert
34d4715220
Allow for long
online IDs and implement in ScoreInfo
2021-10-29 11:48:36 +09:00
Dean Herbert
65a7b6776e
Add note regarding OnlineInfo
being temporary
2021-10-28 05:50:22 +09:00
Dean Herbert
7245baba69
Remove IBeatmapSetOnlineInfo
implementation from BeatmapSetInfo
to avoid null cases
2021-10-28 00:50:45 +09:00
Dean Herbert
617e6febb6
Refactor ModelDownloader
to allow for different OnlineID matching
2021-10-27 21:00:46 +09:00
Dean Herbert
f268363924
Update UpdateableBeatmapBackgroundSprite
to accept IBeatmapInfo
2021-10-27 16:38:48 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Bartłomiej Dach
3de994449d
Add support for changing dimensions of difficulty spectrum display
2021-10-26 23:06:52 +02:00
Bartłomiej Dach
1a77e98537
Implement difficulty spectrum display
2021-10-26 23:06:52 +02:00
Dean Herbert
e92def0ba2
Fix LegacyBeatmapEncoder
using incorrect path length value
2021-10-26 17:34:52 +09:00
Dan Balasescu
efe6763226
Merge branch 'master' into move-online-beatmap-metrics
2021-10-26 14:24:40 +09:00
Bartłomiej Dach
5a03e1736e
Merge branch 'master' into update-beatmap-set-status-pill-appearance
2021-10-25 20:26:49 +02:00
Bartłomiej Dach
6802e9ec10
Remove FixedWidth
and add AutoSizeAxes
specs to all usages
2021-10-25 20:24:48 +02:00
Dean Herbert
6adb0f068b
Fix multiple issues with json serialisation of online info (causing tournament failures)
2021-10-25 16:52:50 +09:00
Dean Herbert
2c308f3008
Rename BeatmapMetrics
to APIFailTimes
2021-10-25 15:34:41 +09:00
Dean Herbert
4969ab0599
Add forgotten JsonIgnore
rules on interface types
...
Just to avoid them getting serialised as part of the "new" .osu
serialisation format.
2021-10-25 15:32:18 +09:00
Dean Herbert
20baae9094
Move online metrics out of BeatmapInfo
model
2021-10-25 15:32:18 +09:00
Dean Herbert
045dd94a6e
Move online metrics out of BeatmapSetInfo
model
2021-10-25 15:12:39 +09:00
Dean Herbert
78edc7554e
Fix BeatmapSetInfo
's Status
value being marked as non-databased
2021-10-25 12:05:34 +09:00
Bartłomiej Dach
feedd53a53
Add support for setting fixed size of status pill
2021-10-24 21:37:00 +02:00
Bartłomiej Dach
5ab3337a10
Update beatmap set status pill appearance
2021-10-24 20:40:34 +02:00
Dean Herbert
cc1d759290
Remove unnecessary setters from IBeatmapSetOnlineInfo
interface
2021-10-22 17:48:09 +09:00
Dean Herbert
c580ec865f
APIBeatmapSet.Covers
is never null
2021-10-21 19:34:01 +09:00
Dean Herbert
0fe0b5dc09
APIBeatmap
implements IBeatmapInfo
2021-10-21 19:14:31 +09:00
Dean Herbert
69e7810dad
Enable nullable
and switch classes to structs
2021-10-21 18:54:36 +09:00
Dean Herbert
0335ed6f27
Add missing licence header
2021-10-21 17:14:29 +09:00
Dean Herbert
ff674ca913
Remove unnecessary access modifiers from interface
2021-10-21 17:01:57 +09:00
Dean Herbert
b73bd54ab2
Split out individual pieces into own files
2021-10-21 16:58:42 +09:00
Dean Herbert
32d01f022f
Rename usages which rely on online backing
2021-10-21 16:58:42 +09:00
Dean Herbert
0706ad70fb
Move BeatmapSetOnlineInfo
to an interface type
2021-10-21 16:58:42 +09:00
Dean Herbert
ff2eae4597
Rename confusing variable
2021-10-19 11:37:46 +09:00
Dean Herbert
b3219bb592
Update usages of OnlineID
2021-10-18 16:16:36 +09:00
Dean Herbert
2c5ba1d8e2
Change OnlineID
to non-nullable to allow for indexing in Realm
2021-10-18 15:53:40 +09:00
Dan Balasescu
3604a762d0
Merge branch 'master' into fix-editor-difficulty-name-update
2021-10-15 16:58:01 +09:00
Dean Herbert
e9c3d09e0e
Remove redundant specs
2021-10-15 16:27:16 +09:00
Dean Herbert
a90f40e831
Update one missed instance of PresentImport
2021-10-15 16:00:09 +09:00
Dean Herbert
874d722820
Merge branch 'master' into fix-editor-difficulty-name-update
2021-10-15 11:14:45 +09:00
Dean Herbert
8a4c0c0ac8
Lock one more case of usage
2021-10-14 16:22:43 +09:00
Dean Herbert
060bb1afbd
Add locking around async beatmap (task) retrieval
2021-10-14 15:39:53 +09:00
Dean Herbert
09536cd733
Add logging of WorkingBeatmapCache.Invalidate
calls
2021-10-14 14:05:33 +09:00
Dan Balasescu
e49f1f6e6b
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-13 20:17:57 +09:00
Dean Herbert
02689a1b60
Use actual BeatmapInfo
rather than PlayableBeatmap.BeatmapInfo
for editor writes
2021-10-13 14:50:12 +09:00
Dean Herbert
1373cc02d7
Shallow clone BeatmapInfo
during conversion process to avoid overwriting fields
2021-10-12 16:43:56 +09:00
Dean Herbert
6b35ccae95
Fix some cases where interface specifications can be used but weren't
2021-10-11 15:06:24 +09:00
smoogipoo
bc37cb6f43
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-08 18:41:17 +09:00
Dean Herbert
ee66414e4f
Move difficulty copy inside context retrieval
2021-10-07 17:49:13 +09:00
Dean Herbert
d3efec3c04
Remove unnecessary clone operations
2021-10-07 17:22:10 +09:00
Dean Herbert
0df409c050
Move difficulty copy to BeatmapModelManager.Save
2021-10-07 17:16:45 +09:00
Dean Herbert
4ca97bc60a
Merge branch 'master' into difficulty-move-to-beatmap
2021-10-06 16:14:21 +09:00
Dean Herbert
0ab8dcc2a0
Fix taiko weird difficulty multiplier failing on double convert
2021-10-06 15:18:06 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dan Balasescu
80c8612630
Merge pull request #14977 from peppy/fix-working-beatmap-cache-invalidation
...
Fix changes not being reflected immediately after exiting the editor
2021-10-06 13:51:21 +09:00
Dean Herbert
8ffaa491e7
Fix BeatmapModelManager
not receiving WorkingBeatmapCache
2021-10-06 12:55:04 +09:00
Dean Herbert
007b33cd88
Add missing methods to interfaces
2021-10-06 12:55:04 +09:00
Dan Balasescu
e837a3511d
Merge branch 'master' into beatmap-difficulty-more-interface-usage
2021-10-06 12:18:51 +09:00
Dan Balasescu
4bbff2ebf7
Merge branch 'master' into new-interfaces
2021-10-06 11:38:17 +09:00
Dan Balasescu
9491e5a547
Merge pull request #14954 from peppy/rename-result-response
...
Rename `APIRequest.Result` to `Response`
2021-10-06 10:52:33 +09:00
Dean Herbert
4f59fc15a5
Mark BeatmapSet
as nullable for the time being
2021-10-06 05:54:37 +09:00
Dean Herbert
bd84a8b749
Merge branch 'new-interfaces' into beatmap-difficulty-more-interface-usage
2021-10-05 18:21:21 +09:00
Dean Herbert
599d82e383
Avoid returning a live IEnumerable
2021-10-05 17:01:07 +09:00
Dean Herbert
a5aa32811a
Remove null check suppression and add non-null fallback
2021-10-05 14:49:59 +09:00
Dean Herbert
d3b9660148
Move common interface implementations to extension methods
2021-10-05 14:41:14 +09:00
Dean Herbert
b41fa41c85
Rename APIRequest.Result
to Response
2021-10-05 14:28:56 +09:00
smoogipoo
593da79bbc
Further asyncify load process
2021-10-05 11:26:13 +09:00
Dean Herbert
1d99bc280f
Merge branch 'master' into new-interfaces
2021-10-04 20:42:40 +09:00
smoogipoo
031c5a441e
Merge branch 'master' into realtime-pp-display
2021-10-04 20:19:37 +09:00
smoogipoo
4871db2f86
Merge branch 'master' into importer-returns-live
2021-10-04 19:42:36 +09:00
Dean Herbert
f293e008d9
Move BeatmapInfo
's SearchableTerms
implementation to interface
2021-10-04 17:01:02 +09:00
Dean Herbert
51b7dce16f
Remove reference to osu-web-10
2021-10-04 16:55:51 +09:00
Dean Herbert
4df5f93152
Inline single usage of StoryboardFile
to avoid interface default method woes
2021-10-04 16:55:02 +09:00
Dean Herbert
8bfdfe3672
Add literal string marker
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-10-04 16:54:00 +09:00
Dean Herbert
63f0b0c932
Rename out of place interface name
2021-10-04 16:35:55 +09:00
Dean Herbert
916342c837
Merge branch 'master' into importer-returns-live
2021-10-04 16:24:26 +09:00
smoogipoo
69c2b7dc59
Merge branch 'master' into rename-beatmap-info-beatmap-fields
2021-10-04 16:03:22 +09:00
smoogipoo
4e1322effa
Fix typo
2021-10-04 16:02:45 +09:00
Dean Herbert
ec61c3c5ee
Rename all remaining cases
2021-10-03 00:55:29 +09:00
Dean Herbert
20e3f7fec4
Merge branch 'new-interfaces' into beatmap-difficulty-more-interface-usage
2021-10-02 13:08:02 +09:00
Dean Herbert
dcd7d7a709
Add JsonIgnore
rule for StoryboardFile
...
Not sure why this is required, doesn't make much sense.
2021-10-02 03:05:06 +09:00
Dean Herbert
d6dbdc911f
Merge branch 'master' into storyboard-fixes
2021-10-02 00:35:51 +09:00
Dan Balasescu
6a172d54d5
Merge branch 'master' into model-downloader-split
2021-10-01 22:34:39 +09:00
Dan Balasescu
154c412f34
Merge branch 'master' into beatmap-manager-split
2021-10-01 21:46:27 +09:00
Dean Herbert
4c28749d73
Fix incorrect legacy decoder usage
2021-10-01 19:05:08 +09:00
Dean Herbert
3faafd7200
Rename parameter to repeatCount
and add guards
2021-10-01 18:26:29 +09:00
Dean Herbert
0daf8937e3
Add missing xmldoc
2021-10-01 17:36:44 +09:00
Dean Herbert
d6618a99a3
Redirect more methods to interface implementations
2021-10-01 17:36:44 +09:00
Dean Herbert
9dae92e78c
Add missing backlink to BeatmapSet
from Beatmap
and fix non-explicit implementations
2021-10-01 17:22:25 +09:00
Dean Herbert
00e33a1da7
Fix incorrect OnlineID
mappings
2021-10-01 17:06:09 +09:00
Dean Herbert
05996cc2e9
Add changes that got forgotted in branch surgery
2021-10-01 17:04:53 +09:00
Dean Herbert
a92d499d7a
Convert usages of BeatmapDifficulty
to IBeatmapDifficultyInfo
2021-10-01 16:55:50 +09:00
Dean Herbert
8595eb2d11
Switch BeatmapDifficulty
usages to use interface type
2021-10-01 16:55:50 +09:00
Dean Herbert
d309636460
Update all EF based models to implement new read only interfaces
2021-10-01 16:55:50 +09:00
Dean Herbert
619dfe0690
Add new interface base types for models
2021-10-01 16:55:47 +09:00
Dean Herbert
c71cf1e220
Fix incomplete xmldoc
2021-10-01 01:51:31 +09:00
Dean Herbert
3ddb348252
Merge branch 'online-lookup-cache-separation' into beatmap-manager-split
2021-10-01 01:49:31 +09:00
Dean Herbert
2ed28f625a
Pass whole queue in rather than function
2021-10-01 01:46:37 +09:00
Dean Herbert
428c7830d9
Pass online lookup queue in as a whole, rather than function
2021-10-01 01:45:21 +09:00
Dean Herbert
dde19f2e81
Fix unbalanced brackets
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-10-01 01:37:51 +09:00
Dean Herbert
a2e61883e3
Initial push to use ILive
in import process
2021-09-30 22:55:25 +09:00
Dean Herbert
3e3b9bc963
Split out IModelDownloader
and also split apart ScoreManager
2021-09-30 18:25:20 +09:00
Dean Herbert
fd13142a15
Add missing interface to BeatmapManager
2021-09-30 18:21:24 +09:00
Dean Herbert
7a72747d88
Add back optional online lookups
2021-09-30 17:18:39 +09:00
Dean Herbert
90225f2082
Hook up all required interfaces to new BeatmapManager
2021-09-30 17:18:39 +09:00
smoogipoo
84bddf0885
Initial PP counter implementation
2021-09-30 17:00:24 +09:00
Dean Herbert
d21139b03e
Split out database portion from BeatmapManager
2021-09-30 15:43:49 +09:00
Dean Herbert
e7e0473323
Split out WorkingBeatmapCache
from BeatmapManager
2021-09-30 15:40:41 +09:00
Dean Herbert
8a6501fa58
Add basic component level xmldoc
2021-09-30 14:46:07 +09:00
Dean Herbert
6ffd9fdcfa
Split out BeatmapOnlineLookupQueue
from BeatmapManager
2021-09-30 14:46:01 +09:00
Dean Herbert
46bafb6252
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-28 13:53:56 +09:00
Dean Herbert
d4310f5d9a
Move database connection string operations local
...
In line with framework changes in
https://github.com/ppy/osu-framework/pull/4793 .
2021-09-27 17:32:41 +09:00
Bartłomiej Dach
80197bae48
Revert not decoding legacy difficulty points on scrolling rulesets for now
2021-09-18 15:32:08 +02:00
Bartłomiej Dach
76ccdd1340
Collect and sort points from nested objects before extracting
2021-09-18 14:38:38 +02:00
Bartłomiej Dach
8026968939
Move difficulty -> effect point conversion back to decoder
2021-09-18 14:38:38 +02:00
Bartłomiej Dach
5969e2b852
Add TODO comment about lack of in-gameplay support
2021-09-13 00:13:07 +02:00
Bartłomiej Dach
1be8cb452f
Make new beatmaps' samples match playback rate by default
2021-09-12 16:57:21 +02:00
Bartłomiej Dach
af7c2b93e6
Add encoding support for SamplesMatchPlaybackRate
2021-09-12 16:47:38 +02:00
Bartłomiej Dach
cd181452be
Add decoding support for SamplesMatchPlaybackRate
2021-09-12 16:45:27 +02:00
Bartłomiej Dach
925b455330
Add "samples match playback rate" setting to beatmap info
2021-09-12 16:40:52 +02:00
Dean Herbert
943e0d49f7
Handle control point flattening of nested hit objects
2021-09-10 17:29:09 +09:00
Dean Herbert
34f875187c
Copy time between ControlPoint
s
2021-09-10 14:36:38 +09:00
Dean Herbert
212c3c699c
Reword xmldoc slightly
2021-09-10 12:58:12 +09:00
ekrctb
7543f9dfb0
Add featured artist track ID online info
2021-09-08 12:21:24 +09:00
Dean Herbert
eabca016d4
Throw rather than ignore on invalid control point addition
2021-09-06 22:04:37 +09:00
Dean Herbert
693ecdf62a
Refactor some incorrect/outdated terminology
2021-09-06 21:32:43 +09:00
Dean Herbert
3c7a34bdbd
Move mania-specific conversion to converter
2021-09-06 21:06:13 +09:00
Dean Herbert
766d789845
Rename ApproachRate
to ScrollSpeed
for now (to reduce complexity/confusion)
2021-09-06 21:06:13 +09:00
Dean Herbert
0e6660da30
Replace todo with permanent comment
2021-09-03 17:11:12 +09:00
Dean Herbert
8f24ea54ee
Change SamplePoints
to be SortedList
for conformity
2021-09-03 17:11:12 +09:00
Dean Herbert
2b9157987e
Fix regression in SampleControlPoint
add logic
2021-09-03 17:11:12 +09:00
Dean Herbert
d587dc6203
Populate new approach rate where required
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e
Move approach rate to EffectControlPoint
2021-09-03 16:58:16 +09:00
Dean Herbert
4eb09ea1a9
Update decoder to also extract DifficultyControlPoint
s from HitObject
s
2021-09-03 16:58:16 +09:00
Dean Herbert
db3fc1d4af
Move DifficultyControlPoint
s list to LegacyControlPointInfo
2021-09-03 16:58:16 +09:00
Dan Balasescu
6c649b7bbe
Merge branch 'master' into no-more-sample-control-points-info
2021-09-02 18:09:05 +09:00
Dean Herbert
f0b128b6ec
Merge pull request #14592 from frenzibyte/cleanup-tooltips
...
Update remaining tooltip implementations to use generics
2021-09-01 17:03:59 +09:00
Dean Herbert
edf29e405b
Merge pull request #14581 from bdach/setup-screen-countdown-settings
...
Add countdown settings to setup screen
2021-09-01 15:35:46 +09:00
Dan Balasescu
e715b21ca7
Merge pull request #14586 from peppy/remove-ijsonserializable
...
Remove IJsonSerializable interface
2021-09-01 14:17:32 +09:00
Bartłomiej Dach
1e4fa87648
Merge branch 'master' into setup-screen-countdown-settings
2021-08-31 22:43:18 +02:00
Salman Ahmed
505824d8ea
Constrain difficulty icon tooltip to internal
accessibility"
...
This reverts the reverted commit cd356b8eae
.
Sorry for the revert-unrevert, rushly pushed without realizing it
doesn't even build.
2021-08-31 21:16:17 +03:00
Salman Ahmed
cd356b8eae
Revert "Constrain difficulty icon tooltip to internal
accessibility"
...
This reverts commit 4a590a041c
.
2021-08-31 20:57:47 +03:00
Salman Ahmed
4a590a041c
Constrain difficulty icon tooltip to internal
accessibility
2021-08-31 20:57:36 +03:00
Salman Ahmed
da7ff4b160
Update remaining tooltip implementations to use generics
2021-08-31 20:01:13 +03:00
Dean Herbert
a254624373
Avoid performing beatmap metadata lookups when entering the editor
...
If none of the lookup parameters are available, skip the lookup
completely.
2021-08-31 17:18:05 +09:00
Dean Herbert
d988aa1680
Actually serialise SampleControlPoint
s along with HitObject
s
2021-08-31 15:14:03 +09:00
Dean Herbert
448c58c35d
Remove unnecessary variable discard
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-08-31 15:08:07 +09:00
Dean Herbert
9fa8bee094
Remove outdated TODO
2021-08-31 14:51:19 +09:00
Dean Herbert
ce0d7cce2d
Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info
2021-08-31 14:40:54 +09:00
Dean Herbert
c25ab6835c
Remove IJsonSerializable interface
...
Was pretty pointless and made it hard to use the custom serialisation
terms arbitrarily in tests.
2021-08-31 14:39:20 +09:00
Bartłomiej Dach
b43ee2d61c
Add descriptions to enum members
2021-08-30 22:51:42 +02:00
Dean Herbert
a2cff75fc0
Fix editor not cloning control points as expected
2021-08-30 21:55:08 +09:00
Dan Balasescu
b95da3ca27
Merge pull request #14576 from peppy/update-framework
...
Update framework
2021-08-30 21:09:58 +09:00
Dean Herbert
1aaea7011a
Fix early return causing event loss in case of multiple control points in group
2021-08-30 18:33:05 +09:00
Dean Herbert
015df282fe
Simplify copy operations
2021-08-30 18:32:55 +09:00
Dean Herbert
d35c4da906
Add new control point to legacy regeneration logic
2021-08-30 17:14:53 +09:00
Dean Herbert
6ee4a6526c
Don't block sample points from still being added to ControlPointInfo
2021-08-30 17:14:53 +09:00
Dean Herbert
6fd24a5d92
Remove redundant null coalesce
2021-08-30 17:14:53 +09:00
Dean Herbert
ccacf56dd8
Move to legacy namespace
2021-08-30 17:14:53 +09:00
Dean Herbert
7257aae7f2
Move samples to LegacyControlPointInfo
2021-08-30 17:14:53 +09:00
Dean Herbert
da7a871afa
Update inline comment to point to new variable location
...
Co-authored-by: PercyDan <50285552+PercyDan54@users.noreply.github.com>
2021-08-30 16:27:24 +09:00
Dean Herbert
fa2bf42188
Update tooltip implementations
2021-08-30 16:05:00 +09:00
Dean Herbert
6a6dac609c
Fix instability of taiko double conversion
...
Until now, the taiko speed multiplier was potentially applied more than
once if conversion was run multiple times.
2021-08-30 15:30:18 +09:00
Dean Herbert
ee49305cad
Move taiko legacy speed multiplier to osu.Game
project
...
Allows it to be used in local case in `LegacyBeatmapEncoder`.
2021-08-30 15:13:31 +09:00
Salman Ahmed
e374ef163d
Update localisable formattable extensions usages inline with framework change
2021-08-29 15:00:28 +03:00
Dean Herbert
6dcd9427ac
Remove bindable usage in PathControlPoint
...
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.
I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
Dean Herbert
414457ba57
Add basic xmldoc explaining CountdownOffset
2021-08-25 13:24:52 +09:00
Bartłomiej Dach
a6c2cbd2e5
Add countdown settings to beatmap info model
2021-08-24 21:55:10 +02:00
Dan Balasescu
dfd61e413a
Merge branch 'master' into difficulty-cache-difficulty-adjust
2021-08-24 12:08:52 +09:00
Dean Herbert
d17f7b5c8b
Side WidescreenStoryboard
to on by default for new beatmaps
2021-08-23 17:40:41 +09:00
Bartłomiej Dach
d602dc9d90
Enable epilepsy warning setting persistence in encoder
2021-08-22 17:43:20 +02:00
Bartłomiej Dach
995338029c
Fix difficulty cache lookups sharing underlying mod instances
...
`DifficultyCacheLookup`s were storing raw `Mod` instances into their
`OrderedMods` field. This could cause the cache lookups to wrongly
succeed in cases of mods with settings. The particular case that
triggered this fix was Difficulty Adjust.
Because the difficulty cache is backed by a dictionary, there are two
stages to the lookup; first `GetHashCode()` is used to find the
appropriate hash bucket to look in, and then items from that hash bucket
are compared against the key being searched for via the implementation
of `Equals()`.
As it turns out, the first hashing step ended up being the saving grace
in most cases, as the hash computation included the values of the mod
settings. But the Difficulty Adjust failure case was triggered by the
quirk that `GetHashCode(0) == GetHashCode(null) == 0`.
In such a case, the `Equals()` fallback was used. But as it turns out,
because the `Mod` instance stored to lookups was not cloned and
therefore potentially externally mutable, it could be polluted after
being stored to the dictionary, and therefore breaking the equality
check. Even though all of the setting values were compared, the hash
bucket didn't match the actual contents of the lookup anymore (because
they were mutated externally, e.g. by the user changing the mod setting
values in the mod settings overlay).
To resolve, clone out the mod structure before creating all difficulty
lookups.
2021-08-21 15:50:33 +02:00
Dean Herbert
77149044a5
Allow intro screen to retrieve beatmap even if rulesets is not loaded
2021-08-20 19:43:48 +09:00
Salman Ahmed
6d57a240ac
Add animation support for the star rating display
2021-08-19 07:17:43 +03:00
Salman Ahmed
102320f8ae
Merge branch 'master' into mod-settings-difficulty-cache
2021-08-19 06:35:13 +03:00
Salman Ahmed
d2df09432f
Center the star rating display text rather than left
2021-08-18 11:49:33 +03:00
Salman Ahmed
5e91ec73e3
Handle star rating range display sizing
2021-08-18 11:36:27 +03:00
Dean Herbert
9d2664cbb1
Merge branch 'master' into star-rating-display-v2
2021-08-18 17:22:33 +09:00
Salman Ahmed
74d6c26520
Refactor star rating display layout with flexibility in mind
2021-08-18 11:03:35 +03:00
Salman Ahmed
32ba525555
Track changes to mod settings in beatmap difficulty cache with 100ms debouncing
2021-08-17 05:46:05 +03:00
Salman Ahmed
0291cd5ae2
Consider mod equality in difficulty cache lookup rather than acronym
2021-08-17 04:27:43 +03:00
Bartłomiej Dach
e744629a41
Fix broken obsoletion message
2021-08-16 01:01:56 +02:00
Bartłomiej Dach
6108451449
Retrieve separated skin instance from working beatmap for editing
2021-08-15 21:18:09 +02:00
Bartłomiej Dach
7c88a1c6de
Add a way to change custom combo colours via IHasComboColours
...
`IHasComboColours` was already mutable (via a strange
`AddComboColours()` method) and exposing a straight list is easier to
work with. `IHasCustomColours` is also similarly externally mutable (in
a way which is not easily removable).
2021-08-15 20:06:06 +02:00
Salman Ahmed
b01893d3f2
Merge branch 'master' into star-rating-display-v2
2021-08-06 13:51:34 +03:00
Dean Herbert
7d670c6d35
Fix gap in fill colour
2021-08-06 18:05:24 +09:00
Salman Ahmed
b63d472594
Adjust font size to match designs
...
Looks silly when using `12f`, I've added a todo comment so that this specific case does not get forgotten when CSS-compatible font sizing gets supported.
The todo comment may not be 100% required but very unsure about silently changing it and forgetting about it.
2021-08-04 18:19:37 +03:00
Salman Ahmed
b2332eb5b3
Use new difficulty colours permanently
2021-08-04 18:19:37 +03:00
Salman Ahmed
284fa49646
Bring margins of components closer to existing designs
2021-08-04 18:19:28 +03:00
Salman Ahmed
42370e48ec
Disable shadow on star display text
2021-08-04 18:19:28 +03:00
Salman Ahmed
d4399f10f9
Merge both variants of the star rating display
2021-08-04 18:19:28 +03:00
Salman Ahmed
14da5ab813
Remove defined size from the star rating display
2021-08-04 17:12:20 +03:00
Salman Ahmed
95b134f3d8
Use OsuColour.Orange1
instead of pure yellow
2021-08-04 17:12:20 +03:00
Salman Ahmed
19d54ee751
Update light background handling to Color4.Yellow
instead
...
Confirmed to be the way forward in
https://github.com/ppy/osu-web/pull/7855#issuecomment-880959644 .
2021-08-04 17:12:20 +03:00
Salman Ahmed
a01402664f
Add redesigned star rating display
...
Matching the same design as the one in the latest figma designs.
2021-08-04 17:12:20 +03:00
Salman Ahmed
9a5e052dc0
Use star difficulty colour spectrum game-wide
2021-08-03 15:02:18 +03:00
Salman Ahmed
3409bc6b27
Update mapper usages with LocalisableDescription
2021-07-31 01:47:14 +03:00
Dean Herbert
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
...
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
Lucas A
ea4f9b2ac7
Localise beatmap online status pill.
2021-07-21 13:15:07 +02:00
Dean Herbert
399c3b0be8
Rename property, reword xmldoc and improve readability of update code
2021-07-21 17:32:56 +09:00
Salman Ahmed
9d92b795fa
Revert making ComboOffset
s legacy and define BeatmapSkinComboIndex
instead
2021-07-20 14:15:43 +03:00
Salman Ahmed
554652b033
Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset
2021-07-20 10:11:52 +03:00
Dan Balasescu
f3bcaf7f11
Merge pull request #13929 from peppy/i-deep-cloneable
...
Create a deep clone of score for score submission purposes
2021-07-19 21:58:27 +09:00
Dean Herbert
3c028ce05c
Add IDeepCloneable
interface and update existing CreateCopy
methods to use it
2021-07-19 12:54:17 +09:00
ekrctb
7f432665e5
Preserve Y position of hit objects in osu!catch
2021-07-14 14:38:38 +09:00
Dan Balasescu
6b76c54aee
Merge pull request #13756 from PercyDan54/playlist-empty-romanised
...
Fix playlist item displays empty string if no unicode title is present
2021-07-05 13:53:50 +09:00
PercyDan54
12371f7424
Fix playlist item displays as empty string if no unicode title is present
2021-07-04 08:09:38 +08:00
Dean Herbert
0be75cc4ed
Fix incorrect base
call causing import optimisation to not work
2021-07-03 22:35:46 +09:00
Dan Balasescu
697b07acb1
Merge branch 'master' into fix-beatmap-import-fk-failure
2021-06-29 11:36:31 +09:00
Dan Balasescu
92fcf90768
Merge branch 'master' into import-early-checksum-abort
2021-06-28 19:29:08 +09:00
Dean Herbert
90b87cbb9e
Add back unidirectional online id check
2021-06-28 10:11:27 +09:00
Dean Herbert
9a96cd4a1d
Revert "Remove comparison of online beatmap IDs during dedupe checks"
...
This reverts commit 15af28d2a0
.
2021-06-28 09:54:18 +09:00
Dean Herbert
15af28d2a0
Remove comparison of online beatmap IDs during dedupe checks
2021-06-27 14:48:57 +09:00
Dean Herbert
46f8100f43
Remove overly verbose logging during beatmap imports
2021-06-27 14:29:02 +09:00
Dean Herbert
dcba7bf779
Fix import flow potentially hitting foreign key constraint
2021-06-23 17:34:56 +09:00
ekrctb
e1b2c63e09
Add IApplicableToBeatmapProcessor
mod interface
2021-06-23 14:46:30 +09:00
Dean Herbert
5944c45f55
Specify types explicitly and don't handle non-nullable values with fallbacks
2021-06-16 16:24:30 +09:00
smoogipoo
6be41e497a
Fix possible nullref in difficulty recommender
2021-06-16 11:27:38 +09:00
Bartłomiej Dach
375f64ffd1
Check empty string more explicitly in IsRomanised()
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-06-11 06:38:53 +02:00
Bartłomiej Dach
e41a5a0fcd
Add romanised author & title fields
2021-06-10 22:17:45 +02:00
Dean Herbert
00b3eea840
Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup
2021-05-31 21:39:04 +09:00
Dean Herbert
17fa2426d4
Merge branch 'master' into legacy-skin-resource-improvements
2021-05-31 19:36:09 +09:00
Dean Herbert
b16d10bd95
Provide game-wide resources via IStorageResourceProvider
2021-05-31 18:57:47 +09:00
Dean Herbert
675fe37446
Change check order around to ensure re-fetches which return no results don't nullref
2021-05-31 18:35:18 +09:00
Dean Herbert
de0e51a81d
Merge branch 'master' into fix-skin-sample-lookup
2021-05-31 15:27:39 +09:00
Dean Herbert
06bd696cc2
Remove previous
consumption logic in GetWorkingBeatmap
...
This should not be required since the introduction of `workingCache`,
which does the same thing in a more global way.
2021-05-31 14:11:58 +09:00
Bartłomiej Dach
ab077c6656
Merge branch 'master' into non-nullable-beatmapset-files
2021-05-31 00:10:03 +02:00
Bartłomiej Dach
78213e09d4
Merge branch 'master' into editor-exit-stability
2021-05-30 23:03:50 +02:00
Dean Herbert
dac1a98d8a
Merge branch 'master' into fix-skin-sample-lookup
2021-05-30 15:19:47 +09:00
Dean Herbert
8652ac05db
Merge branch 'editor-exit-stability' into non-nullable-beatmapset-files
2021-05-28 18:58:35 +09:00
Dean Herbert
ee5eb9576f
Fix completely wrong conditional logic
2021-05-28 18:38:50 +09:00
Dean Herbert
581a86b91a
Revert "Revert "Fix editor tests failing due to empty files being specified""
...
This reverts commit 1af684c4b2
.
2021-05-28 14:33:06 +09:00
Dean Herbert
41733af0ed
Revert "Revert "Make BeatmapSetInfo.Files
non-nullable""
...
This reverts commit 9c4f39e968
.
2021-05-28 14:33:05 +09:00
Dean Herbert
b349ff8693
Revert "Add temporary accounting for tests with null files"
...
This reverts commit e52c0a34f8
.
2021-05-28 14:33:04 +09:00
Dean Herbert
f1b5aced6f
Merge branch 'master' into editor-exit-stability
2021-05-28 14:32:32 +09:00
Dean Herbert
e52c0a34f8
Add temporary accounting for tests with null files
2021-05-28 14:31:26 +09:00
Dean Herbert
9c4f39e968
Revert "Make BeatmapSetInfo.Files
non-nullable"
...
This reverts commit c24712642c
.
2021-05-28 14:15:28 +09:00
Dean Herbert
1af684c4b2
Revert "Fix editor tests failing due to empty files being specified"
...
This reverts commit fdbd421040
.
2021-05-28 14:15:28 +09:00
Dean Herbert
b13b732e02
Remove incorrect DefaultSkin
usage
2021-05-27 14:50:56 +09:00
Dean Herbert
14a4095140
Merge branch 'master' into beatmap-skin
2021-05-26 18:39:47 +09:00
Dean Herbert
29e1737f0d
Merge branch 'master' into mbd-beatmap-set-cover
2021-05-24 15:51:03 +09:00
Salman Ahmed
4f6de6fdc6
Implement GetSkin()
for other working beatmaps
2021-05-21 20:21:29 +03:00
Salman Ahmed
318e5fc60b
Mark WorkingBeatmap.GetSkin()
as abstract
2021-05-21 20:14:26 +03:00
Dean Herbert
c24712642c
Make BeatmapSetInfo.Files
non-nullable
2021-05-20 17:39:52 +09:00
Dean Herbert
fdbd421040
Fix editor tests failing due to empty files being specified
2021-05-20 17:09:55 +09:00
Dean Herbert
7980bdd384
Revert incorrectly changed requery code
2021-05-20 15:41:58 +09:00
Salman Ahmed
825d61e22c
Separate default beatmap skins from DefaultSkin
2021-05-19 12:06:10 +03:00
Dean Herbert
a639132825
Avoid doing any re-fetch on beatmap from test scenes
2021-05-19 17:58:28 +09:00
Dan Balasescu
ce7c503e6e
Merge branch 'master' into playlist-unicode
2021-05-17 11:47:10 +09:00
Dean Herbert
dc56250a3c
Merge branch 'master' into player-loader-star-rating
2021-05-15 15:39:57 +09:00
Salman Ahmed
e0728a6e19
Make BeatmapDifficultyCache.GetDifficultyAsync
virtual
2021-05-14 15:52:36 +03:00
Dean Herbert
32ff406289
Add database tracking of beatmap creator user_id
s
2021-05-14 15:40:29 +09:00
Dean Herbert
77e422409c
Add SkinInfo.InstantiationInfo
to allow creating different skin types
2021-05-11 23:37:06 +09:00
Salman Ahmed
c7325f0f77
Add missing load delay
...
That was a bad one... `ModelBackedDrawable` has a default of 0ms load delay, while previously the wrapper created for beatmap set cover used default 500ms, this change is bringing the load delay back, to avoid firing hundreds of web requests just when doing a quick long scroll on beatmap listing.
2021-05-07 08:09:02 +03:00
Salman Ahmed
283488ea53
Use TransformImmediately
instead at beatmap listing search control
...
Applies two changes:
- Use `TransformImmediately` which achieves the same wanted transition behaviour without any issues.
- Move the transition behaviour override into `BeatmapListingSearchControl` in a nested subclass of `UpdateableBeatmapSetCover`.
2021-05-07 03:36:32 +03:00
Salman Ahmed
6fb9eb8b33
Move legacy beatmap combo offset to osu! processor
...
Better suited there, I intiailly wanted the whole legacy interface to reside in `osu.Game.Rulesets.Osu` but it's required in `ConvertHitObjectParser` and that's in the main game project, so had to leave the interface as-is for now.
2021-05-05 14:24:14 +03:00
Salman Ahmed
cd6d070b4a
Consider "combo offsets" as legacy logic and separate from combo information
2021-05-05 07:43:08 +03:00
Bartłomiej Dach
32b3ea70b9
Fix both covers showing if cover is not fully opaque
2021-05-04 21:12:50 +02:00
Bartłomiej Dach
f52375eed2
Merge branch 'master' into mbd-beatmap-set-cover
2021-05-03 15:58:13 +02:00
Dean Herbert
2e24b69d62
Merge pull request #12617 from Joehuu/fix-pp-column-approved-maps
...
Fix approved maps not displaying pp column on score table
2021-05-02 13:27:39 +09:00
Justus Franklin Tumacder
0d077b7a5d
Fix GetClosestBeatDivisor returning the wrong divisor
2021-05-01 14:13:42 +08:00
Joseph Madamba
786ab163f6
Rename extension and move to bottom of file
2021-04-30 12:40:16 -07:00
Dean Herbert
eeb66a955e
Merge branch 'master' into mbd-beatmap-set-cover
2021-04-30 08:14:33 +09:00
Joseph Madamba
cfbf95b433
Add HasPerformancePoints extension method
2021-04-29 14:11:35 -07:00
Dean Herbert
859898d98f
Refactor lookup methods to avoid linq and reduce TimingPointAt
calls
2021-04-28 17:16:05 +09:00
Dean Herbert
c5186b6a69
Revert return values to non-rounded doubles
2021-04-28 16:59:49 +09:00
Dean Herbert
f3c7694eeb
Rename methods to match generally how these find-methods are named elsewhere
2021-04-28 16:57:52 +09:00
Dean Herbert
48d6c9ac4b
Move snap/divisor helper methods to inside ControlPointInfo
2021-04-28 16:47:30 +09:00
Naxess
217ff8238e
Add snapping time comment
2021-04-27 01:23:03 +02:00
Naxess
6d5883abcb
Return result of local variable instead
2021-04-27 01:19:38 +02:00
Naxess
7b9ed924be
Rename snapping methods
...
Further separates them from `IBeatSnapProvider`'s `SnapTime`, and groups them together more, to prevent confusion between the two interfaces.
Also changes the xmldoc of the reference time to that of `IBeatSnapProvider` for consistency.
2021-04-26 16:07:30 +02:00
Naxess
049e42fa85
Move snapping responsibility to IBeatmap
...
Seems `EditorBeatmap` already implements a different kind of `SnapTime` from `IBeatSnapProvider`, so method names here aren't great.
This is very similar to what https://github.com/ppy/osu/pull/12558 is doing, so may need to do some duplicate resolution later, especially surrounding `ClosestBeatSnapDivisor`.
Worth noting that this change makes 1/7, 1/5, etc unsupported for now, as we now rely on `BindableBeatDivisor.VALID_DIVISORS`.
2021-04-26 05:07:24 +02:00
Naxess
e9dfa2860a
Add xmldoc note about path being relative
2021-04-20 13:44:06 +02:00
Naxess
d7a81471c8
Add xmldoc to GetPathForFile
2021-04-20 13:40:38 +02:00
Naxess
0e6b66f457
Merge branch 'master' into bg-audio-quality-checks
2021-04-20 02:36:13 +02:00
Naxess
1478bcfa8e
Improve xmldoc consistency
2021-04-20 02:30:27 +02:00
Naxess
67e4fe4284
Add xmldoc to GetStream
2021-04-20 02:28:38 +02:00
Naxess
f168247254
Add Track
as a property to IWorkingBeatmap
...
This is implemented by `WorkingBeatmap` already, and is much better to use than loading the track every time we need it.
2021-04-20 01:35:41 +02:00
Bartłomiej Dach
d5829fe638
Merge branch 'master' into playlist-unicode
2021-04-19 19:24:04 +02:00
Dean Herbert
a10a8680d0
Add new display for timing row attributes
2021-04-19 16:23:06 +09:00
PercyDan54
38a7c590c4
Make versionString private
2021-04-18 20:57:25 +08:00
PercyDan54
646403b826
Fix CI errors
2021-04-18 10:54:42 +08:00
PercyDan54
cfaaf2e83e
Add ToRomanisableString()
2021-04-18 09:52:25 +08:00
Naxess
bf8789528a
Add GetStream
to IWorkingBeatmap
2021-04-18 01:13:57 +02:00
Naxess
b36da2664c
Add GetPathForFile
to BeatmapSetInfo
...
This is used in several places, and so should probably have a function rather than remaining as duplicated code.
Also applies this together with the previous commit to `BeatmapManagerWorkingBeatmap`.
2021-04-17 17:49:10 +02:00
Naxess
400f8b3938
Add GetStream
to IWorkingBeatmap
...
This is necessary to obtain the filesize of the audio and background files.
2021-04-17 17:47:13 +02:00
Dean Herbert
be08b9d1ef
Combine logic of Difficulty and Timing pieces where feasible
2021-04-14 20:55:34 +09:00
Dean Herbert
a8df2388eb
Update design for TimingControlPoint
2021-04-14 20:11:47 +09:00
Dean Herbert
b5954a55ad
Remove empty <returns> xmldoc
2021-04-12 17:46:14 +09:00
Dean Herbert
1dbc7e821e
Merge branch 'master' into add-slider-whistle
2021-04-09 17:11:48 +09:00
smoogipoo
9b0ce2999f
Fix legacy encoder
2021-04-09 15:28:42 +09:00
smoogipoo
8293b06c0a
Remove obsolete code
2021-04-09 13:56:58 +09:00
Leon Gebler
dd902441b0
Add tests for consecutive perfect-curve segments
2021-04-06 13:32:17 +02:00
Leon Gebler
d81f270e21
Always encode perfect curves as explicit segments
2021-04-06 13:29:31 +02:00
smoogipoo
a2544100d4
Fix floating point error in slider path encoding
2021-04-06 14:10:59 +09:00
smoogipoo
d0510222ae
Fix legacy beatmap encoding
2021-04-05 19:59:54 +09:00
PercyDan54
dde255980b
Fix formatting
2021-04-03 12:45:42 +08:00
PercyDan54
bd7da9eb39
Make beatmap title use unicode
2021-04-03 12:43:17 +08:00
Dean Herbert
6d4d574a65
Fix exported replay filenames not having full metadata
2021-04-02 14:10:25 +09:00
Dean Herbert
4f8edcd336
Don't strip comments from metadata during parsin
2021-03-25 13:35:54 +09:00
Bartłomiej Dach
a16c0641b2
Revert EF Core to version 2.2
...
This reverts commit f3faad74d5
, reversing
changes made to 712e7bc7bf
.
Several issues arose after migrating to 5.0, including, but possibly not
limited to, performance regressions in song select, as well as failures
when attempting to save beatmaps after metadata changes in the editor.
2021-03-21 11:05:15 +01:00
Dean Herbert
0195d654ca
Increase the precision of speed multiplier to match osu-stable
2021-03-19 17:09:49 +09:00
Dan Balasescu
53ae24db9b
Merge pull request #12058 from peppy/fix-whitespace-in-ini
...
Fix skin parser not stripping whitespace before parsing
2021-03-18 18:46:28 +09:00
Dean Herbert
5b0d75ee56
Only trim trailing spaces to avoid breakage in storyboard parsing
2021-03-18 16:30:30 +09:00
Dean Herbert
bb3c3f302a
Fix skin parser not stripping whitespace before parsing
2021-03-18 15:36:11 +09:00
Dean Herbert
eda891223c
Start the editor with empty artist/creator/difficulty name fields
2021-03-17 16:47:12 +09:00
Dean Herbert
f3faad74d5
Merge pull request #12003 from UselessToucan/ef_core_5
2021-03-15 15:05:32 +09:00
Dean Herbert
6d4c1ba2ae
Fix a couple of new inspections introduced in Rider EAPs
2021-03-15 13:35:08 +09:00
Roman Kapustin
0a1e325fc7
Extract requerying of navigational properties from DbContext
2021-03-14 19:34:53 +03:00
Roman Kapustin
47b80d2474
Workaround InvalidOperation exceptions
2021-03-11 20:51:54 +03:00
Dean Herbert
b1cd01ceb8
Apply ConfigureAwait changes to game side
2021-03-08 14:36:35 +09:00
Dean Herbert
103dd4a6ce
Remove WorkingBeatmap's finalizer
2021-03-02 16:14:43 +09:00
Dan Balasescu
46ea0f44eb
Merge branch 'master' into beatmap-difficulty-cache-nullable
2021-02-25 22:52:15 +09:00
Dean Herbert
5fa9bf61b6
Update xmldoc
2021-02-25 16:22:40 +09:00
Dean Herbert
03771ce8ec
Allow determining a BeatmapDifficultyCache's bindable return's completion state via nullability
2021-02-25 16:19:01 +09:00
smoogipoo
dff1d80f39
Update HasFlag usages to HasFlagFast
2021-02-25 15:38:56 +09:00
Dean Herbert
dfedea9ea2
Move preview point logic to a specific method in WorkingBeatmap
2021-02-18 14:55:44 +09:00
Dean Herbert
e7308193e7
Add xmldoc explaining how PreviewTime is intended to work
2021-02-18 13:03:29 +09:00
Dean Herbert
a080a9bdbc
Merge pull request #11603 from Game4all/handle-stable-imports-custom-songs-folder
...
Handle beatmap import from a stable installation with a custom Songs directory
2021-02-12 21:42:36 +09:00
smoogipoo
a1be3c8bfd
Fix header background being invisible in multiplayer/playlists
2021-02-12 15:27:37 +09:00
Dean Herbert
5f23bd7259
Revert most of the changes to ArchiveModeManager by using better code
2021-02-12 12:48:32 +09:00
smoogipoo
18e3f8c233
Sort beat lengths rather than linear search
2021-02-08 19:03:19 +09:00
smoogipoo
b40b159acb
Round beatlength
2021-02-08 18:52:50 +09:00
smoogipoo
69ca440ae5
Merge branch 'master' into more-accurate-most-common-bpm
2021-02-08 18:40:58 +09:00
Bartłomiej Dach
b9a49d5589
Coerce undefined animation loop types to Forever
2021-01-31 15:43:58 +01:00
Dean Herbert
16f3d1815f
Fix SQLite exception thrown is a beatmap lookup is attempted without an OnlineBeatmapID present
...
It turns out the SQLite API isn't smart enough to handle nullables
directly, so we need to help it out a bit.
Stops the following from being thrown:
```
System.InvalidOperationException: Value must be set.
at Microsoft.Data.Sqlite.SqliteParameter.Bind(sqlite3_stmt stmt) = 3
at
at Microsoft.Data.Sqlite.SqliteParameterCollection.Bind(sqlite3_stmt
stmt) = 3 at
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior
behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
at
osu.Game.Beatmaps.BeatmapManager.BeatmapOnlineLookupQueue.checkLocalCache(BeatmapSetInfo
set, BeatmapInfo beatmap) in
/Users/dean/Projects/osu/osu.Game/Beatmaps/BeatmapManager_BeatmapOnlineLookupQueue.cs:line
166 = 166
```
2021-01-29 19:53:57 +09:00
Dean Herbert
c3d4044017
Avoid using Dapper to fix iOS compatibility of beatmap lookup cache
2021-01-28 16:53:56 +09:00
Lucas A
383c40b992
Address remaining reviews suggestions.
2021-01-26 20:35:42 +01:00
Lucas A
9f9206726a
Fix typos.
2021-01-26 18:11:54 +01:00
Dean Herbert
4ac362ee1a
Move cloning local to editor
2021-01-25 18:29:00 +09:00
Dean Herbert
f054b38105
Merge branch 'master' into revert-beatmap-controlpointinfo-cloning
2021-01-25 18:25:53 +09:00
Lucas A
51d4da565c
Fix ArchiveModelManagers lookup paths.
2021-01-24 22:25:49 +01:00
Salman Ahmed
acfb2d2980
Refactor beatmap set covers into using ModelBackedDrawable<T>
2021-01-24 00:32:33 +03:00
Salman Ahmed
d83abfa7d2
Add test scene with failing test case
2021-01-24 00:32:20 +03:00
Dean Herbert
edb6d3907b
Merge pull request #11472 from frenzibyte/explicit-beatmap-markers
...
Add explicit content markers to beatmap panels and overlay
2021-01-17 21:44:10 +09:00
Dean Herbert
d6e6b4bbee
Revert forced cloning of ControlPointInfo
...
This reverts commit 3c3e860dbc
.
Closes https://github.com/ppy/osu/issues/11491 .
2021-01-15 17:34:59 +09:00
smoogipoo
24e991a5ef
Actually return beat length and not BPM
2021-01-15 14:35:09 +09:00
smoogipoo
c6e9a6cd5a
Make most common BPM more accurate
2021-01-15 14:28:49 +09:00
Dean Herbert
8a0b975d71
Fix deadlock scenario when calculating fallback difficulty
...
The previous code would run a calcaulation for the beatmap's own ruleset
if the current one failed. While this does make sense, with the current
way we use this component (and the implementation flow) it is quite unsafe.
The to the call on `.Result` in the `catch` block, this would 100%
deadlock due to the thread concurrency of the `ThreadedTaskScheduler`
being 1. Even if the nested run could be run inline (it should be), the
task scheduler won't even get to the point of checking whether this is
feasible due to it being saturated by the already running task.
I'm not sure if we still need this fallback lookup logic. After removing
it, it's feasible that 0 stars will be returned during the scenario that
previously caused a deadlock, but I don't necessarily think this is
incorrect. There may be another reason for this needing to exist which
I'm not aware of (diffcalc?) but if that's the case we may want to move
the try-catch handling to the point of usage.
To reproduce the deadlock scenario with 100% success (the repro
instructions in the linked issue aren't that simple and require some
patience and good timing), the main portion of the lookup can be changed
to randomly trigger a nested lookup:
```
if (RNG.NextSingle() > 0.5f)
return GetAsync(new
DifficultyCacheLookup(key.Beatmap, key.Beatmap.Ruleset,
key.OrderedMods)).Result;
else
return new StarDifficulty(attributes);
```
After switching beatmap once or twice, pausing debug and viewing the
state of threads should show exactly what is going on.
2021-01-14 18:25:34 +09:00
Salman Ahmed
e8daea91d2
Add online beatmap "explicit content" property
2021-01-13 12:13:14 +03:00
smoogipoo
9a22df2b88
Fix BPM multiplier not working in all cases
2021-01-12 17:50:22 +09:00
Dean Herbert
3c3e860dbc
Move ControlPointInfo copying to base Beatmap.Clone method (and remove setter)
2021-01-07 23:52:04 +09:00
Dean Herbert
00dc98e3ab
Make legacy control point's BpmMultiplier setter private again
2021-01-07 19:06:52 +09:00
Dean Herbert
69ac22dd7f
Fix incorrectly copy pasted xmldoc
2021-01-07 19:06:10 +09:00
Dean Herbert
31a6e9b860
Remove unused using
2021-01-05 14:24:49 +09:00
Dean Herbert
afab35a31a
Fix missing copy implementation in LegacySampleControlPiont
2021-01-05 13:41:31 +09:00
Dean Herbert
caa88c6100
Use CreateCopy instead of Clone interface
...
I was going for conformity by using the IClonable interface, but it
doesn't look like we use it anywhere else in the project.
2021-01-05 13:13:52 +09:00
Dean Herbert
ba4e411422
Clone and copy ControlPointInfo when retrieving a playable beatmap
2021-01-04 16:37:07 +09:00
Dean Herbert
d7279dab40
Merge pull request #11226 from peppy/fix-legacy-skin-texture-loader-store
...
Fix incorrectly provided texture loader store to skins
2020-12-23 16:41:01 +09:00
Dean Herbert
807c1ecd1f
Refactor recommendation iteration code to read better
2020-12-22 14:57:32 +09:00
Dean Herbert
8cc2ed3fae
Move from OsuGameBase to OsuGame
...
Also moves to a more suitable namespace.
2020-12-22 14:28:27 +09:00
Dean Herbert
85518b4d99
Enforce non-null for BeatmapManager WorkingBeatmap resources
2020-12-22 12:06:10 +09:00
Dean Herbert
a97a2b2a66
Add nullability to BeatmapManager's GameHost reference
2020-12-22 12:03:25 +09:00
Dean Herbert
10c2745682
Add region specifications around implicit interface implementations
2020-12-22 12:01:09 +09:00
Dean Herbert
a5bcf1dc20
Expose resources to skin via interface (and share common pieces with beatmap)
2020-12-21 15:18:52 +09:00
Dean Herbert
0ffbe12fcc
Expose resources to beatmaps in a saner way
2020-12-21 14:22:34 +09:00
Dean Herbert
7c804be4d3
Rename textureStore to make its purpose more clear
2020-12-21 14:06:33 +09:00
Dean Herbert
a35060ea7a
Add a simple cache-busting query string to online.db retrieval
...
As we are finally pushing updates for this database, this adds a minimum
level of guarantee that a client will request a new version (without
having to worry about multiple levels of server-side caching).
2020-12-11 17:56:02 +09:00
smoogipoo
2150cf1c52
Rename parameters
2020-12-02 10:55:48 +09:00
smoogipoo
5760e1c1fc
Make HitSampleInfo immutable
2020-12-01 15:37:51 +09:00
Dean Herbert
25af091409
Fix storyboard animations of very old beatmaps playing too slow
...
Closes https://github.com/ppy/osu/issues/10772 .
2020-11-12 17:03:43 +09:00
Dean Herbert
6cc0bf17a9
Add explicit lock object and some xmldoc for clarity
2020-11-10 14:31:52 +09:00
smoogipoo
66ea1572c7
Fix unsafe list manipulation in BeatmapDifficultyCache
2020-11-10 01:10:00 +09:00
Dan Balasescu
a2877fb00a
Merge pull request #10730 from peppy/fix-patcher-no-object-crash
...
Fix legacy patcher crash on no objects present
2020-11-09 18:51:00 +09:00
Bartłomiej Dach
6d4bb4316c
Fix difficulty retrieval for online-sourced beatmaps
2020-11-08 00:12:25 +01:00
Dean Herbert
c5b6908e71
Always write [HitObjects] to file
...
I think this is expected. If not, there's an alternative solution.
2020-11-08 00:18:27 +09:00
Dean Herbert
c1c3d37720
Remove non-null assert
2020-11-06 17:24:28 +09:00
Dean Herbert
f51cb0dd14
Add ruleset fallback logic into cache lookup class
2020-11-06 16:58:53 +09:00
Dean Herbert
c5b172d0dd
Remove synchronous lookup path from BeatmapDifficultyCache
2020-11-06 14:53:15 +09:00
Dean Herbert
b69ada64e8
Update BeatmapDifficultyCache to use base implementation logic
2020-11-06 14:31:21 +09:00
Dean Herbert
517a656899
Move StarDifficulty to own file
2020-11-06 13:51:25 +09:00
Dean Herbert
74ca2faa31
Remove unused using
2020-11-06 13:48:06 +09:00
Dean Herbert
0103b12575
Add basic base class to begin to standardise function across caching components
2020-11-06 13:26:39 +09:00
Dean Herbert
5113d4af8f
Rename BeatmapDifficultyManager to BeatmapDifficultyCache
2020-11-06 13:14:29 +09:00
Dean Herbert
ab9e0aac58
Merge pull request #10258 from Game4all/results-dynamic-pp-calc
2020-11-02 15:40:55 +09:00
Dean Herbert
73b290aca3
Merge branch 'master' into results-dynamic-pp-calc
2020-11-02 14:47:33 +09:00
Dean Herbert
3adf451e82
Handle changes via SamplePoints list for simplicity
2020-11-02 14:40:40 +09:00
Bartłomiej Dach
3090b6ccb5
Resolve CA2249 inspections
...
"Use `string.Contains` instead of `string.IndexOf` to improve
readability"
2020-11-01 18:54:44 +01:00
Bartłomiej Dach
ca5de22ca5
Resolve CA1834 inspection
...
"Use `StringBuilder.Append(char)` instead of
`StringBuilder.Append(string)` when the input is a constant unit string"
2020-11-01 18:50:13 +01:00
Dean Herbert
89797d7a57
Merge pull request #9786 from Wieku/storyboard-skin-sprites
...
Allow storyboard elements to load textures from skins
2020-10-23 17:16:55 +09:00
Dean Herbert
9753dab93b
Remove IOnlineComponent and change existing components to use bindable flow
2020-10-22 14:19:12 +09:00
Bartłomiej Dach
e2552d4c36
Merge branch 'master' into storyboard-skin-sprites
2020-10-20 23:01:54 +02:00
Bartłomiej Dach
cdd56ece87
Read UseSkinSprites when decoding storyboards
2020-10-20 22:49:56 +02:00
Dan Balasescu
bd4e0e1a60
Merge branch 'master' into epilepsy-warning
2020-10-20 17:43:37 +09:00
Dan Balasescu
13060b8575
Merge branch 'master' into beatmap-carousel-less-diffcalc-stutter
2020-10-20 14:26:16 +09:00
Bartłomiej Dach
fd4bab85cf
Merge branch 'master' into epilepsy-warning
2020-10-20 01:06:46 +02:00
Bartłomiej Dach
1238e6c30f
Add flag value to database
...
Unfortunately required, as loadBeatmaps() refreshes the decoded beatmap
with the database-stored values, which can end up overwriting the
decoded ones.
2020-10-20 00:46:08 +02:00
Bartłomiej Dach
a9f27a71a2
Fix code formatting issues
2020-10-19 23:53:41 +02:00
Bartłomiej Dach
ba818e3ae0
Merge branch 'master' into results-dynamic-pp-calc
2020-10-19 21:41:07 +02:00
smoogipoo
dfbc0965e4
Merge branch 'master' into peppy/skinnable-health-display
2020-10-16 23:17:17 +09:00
Berkan Diler
fe3a23750c
Use char overloads for string methods
2020-10-16 11:52:29 +02:00
Dean Herbert
e89c5c3b3c
Add dynamic compile exceptions to fix skin test scenes
2020-10-16 17:08:46 +09:00
Dean Herbert
88ffcb9234
Update EndsWith usages
2020-10-16 12:58:34 +09:00
Dean Herbert
cc41845f56
Add missing string function ordinal specifications
2020-10-16 12:49:31 +09:00
Dean Herbert
07e6609e6d
Disable difficulty calculation for set-level difficulty icons
2020-10-14 14:16:22 +09:00
Bartłomiej Dach
1af17fbd5e
Merge branch 'master' into fix-early-break-cull
2020-10-13 18:02:08 +02:00
Bartłomiej Dach
7117fd0fba
Add xmldoc and nullability annotations
2020-10-12 21:44:04 +02:00
Bartłomiej Dach
779e6e10a7
Split ctors to avoid passing fields one by one
2020-10-12 21:43:14 +02:00
smoogipoo
ccf7e2c49a
Fallback to default ruleset star rating if conversion fails
2020-10-12 16:31:42 +09:00
smoogipoo
379971578d
Remove culling notice from HasEffect
2020-10-12 15:28:16 +09:00
Bartłomiej Dach
8af78656e4
Add precision tolerance to difficulty rating range checks
2020-10-10 18:15:52 +02:00
smoogipoo
d536a1f75e
Fix breaks being culled too early
2020-10-09 21:04:56 +09:00
Lucas A
7f5cf04b2b
Fix merge conflicts.
2020-10-07 13:28:49 +02:00
Dean Herbert
afe3d3989a
Force first hitobject to be a NewCombo in BeatmapProcessor preprocessing step
2020-10-06 22:10:13 +09:00
Dan Balasescu
783a463772
Merge branch 'master' into colourise-control-point-table
2020-10-05 20:47:06 +09:00
Dan Balasescu
051ea7eda9
Merge pull request #10329 from peppy/editor-file-drop-support
...
Add drag-drop support in editor setup screen for audio and background images
2020-10-05 20:05:41 +09:00
Dean Herbert
2ed43c14f8
Merge branch 'master' into editor-file-drop-support
2020-10-05 17:48:06 +09:00
Dean Herbert
365a38e92f
Merge branch 'master' into dynamic-difficulty-icon
2020-10-05 17:37:01 +09:00
Dean Herbert
50eca202f4
User IEnumerable for HandledExtensions
2020-10-02 16:17:10 +09:00
Dean Herbert
f501c88b46
Fix individual control points not being removed from group when group is removed
2020-10-02 15:28:21 +09:00
smoogipoo
40c153e705
Use component instead of drawable
2020-10-01 21:39:40 +09:00
smoogipoo
62b55c4c9c
Use static method, add xmldoc + link to wiki
2020-10-01 20:50:47 +09:00
Dean Herbert
e96e30a19d
Move control point colour specifications to common location and use for formatting timing screen table
2020-10-01 19:29:34 +09:00
smoogipoo
2213db2088
Use the given ruleset by default
2020-10-01 00:59:41 +09:00
smoogipoo
fde00d3431
Make DifficultyIcon support dynamic star rating
2020-10-01 00:53:25 +09:00
smoogipoo
917e8fc3ba
Add difficulty rating to StarDifficulty
2020-10-01 00:53:01 +09:00
Lucas A
2766cf73b4
Reuse BeatmapDifficultyManager cache for beatmap difficulty attributes.
2020-09-29 18:32:02 +02:00
Lucas A
ddede85704
Split performance calculation to its own class.
2020-09-27 12:44:29 +02:00
Lucas A
84cc6068f5
Remove unnecessary XMLDoc comment and remove unecessary implicit null parm
2020-09-27 09:25:01 +02:00
Lucas A
4d94bf3163
Rename CalculateScorePerformance -> CalculatePerformance
2020-09-25 19:16:33 +02:00
Lucas A
77a9d92f42
Add dynamic pp calculation to score panels for local scores
2020-09-25 19:15:40 +02:00
Lucas A
4d743f64f5
Add a method to calculate asynchronously performance on a beatmap.
2020-09-25 18:17:01 +02:00
Dean Herbert
50ba320a51
Expand available file operations in ArchiveModelManager
2020-09-25 13:16:30 +09:00
smoogipoo
de5ef8a471
Rework to support obsoletion
2020-09-17 21:37:32 +09:00
smoogipoo
e71991a53c
Add default token
2020-09-17 18:37:48 +09:00
smoogipoo
c7d24203ce
Make beatmap conversion support cancellation tokens
2020-09-17 17:40:05 +09:00
smoogipoo
be2d34d5dc
Merge branch 'master' into score-recalc
2020-09-09 21:31:31 +09:00
Dean Herbert
5b93752065
Merge pull request #10103 from smoogipoo/disable-online-lookups-tests
...
Disable online beatmap lookups in tests
2020-09-09 21:21:04 +09:00
smoogipoo
aeae009512
Disable online beatmap lookups in tests
2020-09-09 20:12:40 +09:00
smoogipoo
117c7ec6b2
Merge branch 'master' into score-recalc
2020-09-09 14:38:36 +09:00
Dean Herbert
2cd07b2d3c
Fix editor crash on saving more than once
...
I'm fixing this in the simplest way possible as this kind of issue is
specific to EF core, which may cease to exist quite soon. Turns out the
re-retrieval of the beatmap set causes concurrency confusion and wasn't
actually needed in my final iteration of the new beatmap logic.
2020-09-09 12:48:12 +09:00
Dean Herbert
6b50d44dde
Merge branch 'master' into editor-new-beatmap
2020-09-07 18:43:16 +09:00
Dean Herbert
4680728b9c
Merge branch 'master' into update-dcc-exclusions
2020-09-07 18:01:44 +09:00
smoogipoo
9ab6d584d3
Merge branch 'master' into editor-new-beatmap
2020-09-07 14:30:41 +09:00
Dan Balasescu
e17ccdfe9f
Merge branch 'master' into combo-colors
2020-09-07 13:55:41 +09:00
Bartłomiej Dach
f138b92078
Merge branch 'master' into editor-new-beatmap
2020-09-06 18:24:02 +02:00
smoogipoo
1143d5d992
Update class exclusion for dynamic compilation
2020-09-04 20:41:08 +09:00
Dean Herbert
25e142965d
Strongly type and expose default beatmap information icon implementations for other rulesets
2020-09-04 15:01:32 +09:00
Dean Herbert
fba253f131
Take user argument in CreateNew method parameters
2020-09-04 13:17:43 +09:00
Dean Herbert
f14a82e3a9
Remove unnecessary conversion
2020-09-04 13:13:53 +09:00
Dean Herbert
cd253ab055
Further tweaks to get closer to design originals
2020-09-04 13:05:39 +09:00
Dean Herbert
9d2dff2cb8
Add scale to allow legacy icons to display correctly sized
2020-09-04 12:55:39 +09:00
Dean Herbert
d32b77f045
Add missing extension to filename
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2020-09-03 21:33:25 +09:00
Dean Herbert
1c1c583d3b
Fix regression in file update logic (filename set too early)
2020-09-03 19:31:40 +09:00
Dean Herbert
a555407f37
Fix various test failures due to missing beatmap info in empty beatmap
2020-09-03 19:25:18 +09:00
Dean Herbert
72cb65c22f
Update and add missing beatmap statistic icons to info wedge
2020-09-03 17:52:22 +09:00
Dean Herbert
d849f7f2b5
Use the local user's username when saving a new beatmap
2020-09-03 13:20:23 +09:00
Dean Herbert
e337e6b3b0
Use a more correct filename when saving
2020-09-03 13:20:23 +09:00
Dean Herbert
faf9b0a528
Fix hard crash when trying to retrieve a beatmap's track when no file is present
2020-09-03 13:20:23 +09:00
Dean Herbert
e032844570
Start with a fresh beatmap when entering editor from main menu
2020-09-03 13:20:23 +09:00
Craftplacer
c2ade44656
Change types back
2020-09-01 17:58:06 +02:00
Craftplacer
9835d98942
Merge remote-tracking branch 'upstream/master' into combo-colors
2020-09-01 17:39:35 +02:00
Dan Balasescu
f08e7828da
Merge branch 'master' into beatmap-track-rework
2020-09-01 16:06:38 +09:00
Craftplacer
9b3a48ee5e
Revert "Add marker interface for beatmap skins"
2020-08-31 18:29:46 +02:00
Craftplacer
fb37a14d57
Update LegacyBeatmapEncoder.cs
2020-08-31 17:24:03 +02:00
Craftplacer
1484e78654
Update xmldoc
2020-08-31 17:24:00 +02:00
Craftplacer
eafa97af17
Revert changes done to SkinConfiguration and IHasCustomColours
2020-08-31 17:23:42 +02:00
Dan Balasescu
bd2f863b56
Merge branch 'master' into legacy-mirror-mod-replays
2020-08-31 12:41:17 +09:00
Craftplacer
7e668fc31a
Update osu.Game/Beatmaps/Formats/LegacyBeatmapEncoder.cs
...
Co-authored-by: Salman Ahmed <email@iisalman.me>
2020-08-30 16:11:49 +02:00
Craftplacer
1fdf8e6200
Fix xmldoc in LegacyBeatmapEncoder
2020-08-30 16:07:58 +02:00
Craftplacer
e428144f73
Use IBeatmapSkin
2020-08-30 11:34:50 +02:00
Craftplacer
00b68b050c
Merge remote-tracking branch 'upstream/master' into combo-colors
2020-08-30 10:16:38 +02:00
Dean Herbert
814655770d
Merge branch 'master' into beatmapskin-interface
2020-08-30 12:22:55 +09:00
Dean Herbert
cd0a73883d
Merge pull request #9945 from smoogipoo/skin-colour-fix-2
...
Exactly reproduce osu!stable skin colour alphas
2020-08-29 20:06:26 +09:00
Bartłomiej Dach
658a1d159f
Add legacy flag value for mirror mod
2020-08-29 11:45:59 +02:00
Craftplacer
82acb3506c
Add and change xmldocs
2020-08-29 11:07:28 +02:00
Craftplacer
4cb9e1d443
Initial commit
2020-08-29 10:33:43 +02:00
smoogipoo
436dbafe57
Fix incorrect comparison for mods of different instances
2020-08-28 22:12:17 +09:00
smoogipoo
43c61e5830
Re-query beatmap difficulty before computing
2020-08-28 22:08:28 +09:00
smoogipoo
4d15f0fe52
Implement basic score recalculation
2020-08-28 19:16:46 +09:00
Craftplacer
e6646b9877
Resolve review comments
2020-08-23 15:08:02 +02:00
Dean Herbert
b72f06fef6
Centralise and clarify LoadTrack documentation
2020-08-22 19:42:34 +09:00
smoogipoo
88d50b6c47
Remove alpha mangling from LegacyDecoder
2020-08-22 00:15:37 +09:00
Dean Herbert
d2c2e8bbe8
Revert some more usage of MusicController back to WorkingBeatmap
2020-08-21 15:17:21 +09:00
Dean Herbert
526f06be4c
Add back track loaded bool in WorkingBeatmap
2020-08-21 13:53:37 +09:00
Dean Herbert
357fb3a10e
Merge branch 'master' into beatmap-track-rework
2020-08-21 12:53:09 +09:00
Dean Herbert
083bcde3cf
Fix beatmap transfer not working
2020-08-18 13:01:35 +09:00
smoogipoo
583760100a
Implement mania invert mod
2020-08-18 01:40:55 +09:00
Dean Herbert
d9debef156
Add explicit LoadTrack method
2020-08-17 15:38:16 +09:00
Dean Herbert
71f4e753f0
Merge branch 'master' into beatmap-track-rework
2020-08-16 22:35:32 +09:00
Craftplacer
1448c9e381
Merge remote-tracking branch 'upstream/master' into combo-colors
2020-08-15 23:01:38 +02:00
Craftplacer
c4a7fac760
Add required parameters and other various changes
2020-08-15 22:03:24 +02:00
Dean Herbert
c3757a4660
Fix beatmap covers not being unloaded in most overlays
...
Eventually we'll probably want something smarter than this, but for the
time being this helps stop runaway memory usage.
2020-08-14 19:22:26 +09:00
smoogipoo
91e28b849d
Fix incorrect BeatmapManager construction
2020-08-13 00:29:23 +09:00
Craftplacer
8ffaa49839
Handle additional null case
2020-08-12 06:40:21 +02:00
Craftplacer
139c0c75f8
Add documentation for constructor
2020-08-12 06:40:21 +02:00
smoogipoo
b66f303e71
Add annotation
2020-08-12 00:48:45 +09:00
smoogipoo
faff0a70c4
Privatise BMWB
2020-08-11 13:48:57 +09:00
smoogipoo
338c01fa43
Remove track store reference counting, use single instance stores
2020-08-11 13:16:06 +09:00
Craftplacer
78692dc684
Initial commit
2020-08-10 05:21:10 +02:00
smoogipoo
e87f50f74f
Rename method
2020-08-07 22:31:41 +09:00
smoogipoo
b6fb7a0d39
Fix possibly setting null track
2020-08-07 22:05:58 +09:00
smoogipoo
f53672193e
Fix track stores being kept alive
2020-08-06 17:48:07 +09:00
smoogipoo
86ae61c6b7
Re-implement store transferral in BeatmapManager
2020-08-06 16:24:14 +09:00
smoogipoo
6e42b8219c
Move track to MusicController, compiles
2020-08-06 16:24:14 +09:00
smoogipoo
4648362214
Safeguard against potential finalise-before-initialised
2020-07-29 11:30:25 +09:00
smoogipoo
a57b6bdc18
Remove cancellation of linked tokens
2020-07-29 11:29:38 +09:00
smoogipoo
fa25f8aef9
Dispose update scheduler
2020-07-28 17:23:35 +09:00
smoogipoo
96f68a3251
Reorder method
2020-07-28 16:53:07 +09:00
smoogipoo
ff3cb6487d
Store all linked cancellation tokens
2020-07-28 16:53:07 +09:00