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