Commit Graph

2025 Commits

Author SHA1 Message Date
d35c4da906 Add new control point to legacy regeneration logic 2021-08-30 17:14:53 +09:00
6ee4a6526c Don't block sample points from still being added to ControlPointInfo 2021-08-30 17:14:53 +09:00
6fd24a5d92 Remove redundant null coalesce 2021-08-30 17:14:53 +09:00
ccacf56dd8 Move to legacy namespace 2021-08-30 17:14:53 +09:00
7257aae7f2 Move samples to LegacyControlPointInfo 2021-08-30 17:14:53 +09:00
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
414457ba57 Add basic xmldoc explaining CountdownOffset 2021-08-25 13:24:52 +09:00
a6c2cbd2e5 Add countdown settings to beatmap info model 2021-08-24 21:55:10 +02:00
dfd61e413a Merge branch 'master' into difficulty-cache-difficulty-adjust 2021-08-24 12:08:52 +09:00
d17f7b5c8b Side WidescreenStoryboard to on by default for new beatmaps 2021-08-23 17:40:41 +09:00
d602dc9d90 Enable epilepsy warning setting persistence in encoder 2021-08-22 17:43:20 +02:00
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
77149044a5 Allow intro screen to retrieve beatmap even if rulesets is not loaded 2021-08-20 19:43:48 +09:00
6d57a240ac Add animation support for the star rating display 2021-08-19 07:17:43 +03:00
102320f8ae Merge branch 'master' into mod-settings-difficulty-cache 2021-08-19 06:35:13 +03:00
d2df09432f Center the star rating display text rather than left 2021-08-18 11:49:33 +03:00
5e91ec73e3 Handle star rating range display sizing 2021-08-18 11:36:27 +03:00
9d2664cbb1 Merge branch 'master' into star-rating-display-v2 2021-08-18 17:22:33 +09:00
74d6c26520 Refactor star rating display layout with flexibility in mind 2021-08-18 11:03:35 +03:00
32ba525555 Track changes to mod settings in beatmap difficulty cache with 100ms debouncing 2021-08-17 05:46:05 +03:00
0291cd5ae2 Consider mod equality in difficulty cache lookup rather than acronym 2021-08-17 04:27:43 +03:00
e744629a41 Fix broken obsoletion message 2021-08-16 01:01:56 +02:00
6108451449 Retrieve separated skin instance from working beatmap for editing 2021-08-15 21:18:09 +02:00
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
b01893d3f2 Merge branch 'master' into star-rating-display-v2 2021-08-06 13:51:34 +03:00
7d670c6d35 Fix gap in fill colour 2021-08-06 18:05:24 +09:00
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
b2332eb5b3 Use new difficulty colours permanently 2021-08-04 18:19:37 +03:00
284fa49646 Bring margins of components closer to existing designs 2021-08-04 18:19:28 +03:00
42370e48ec Disable shadow on star display text 2021-08-04 18:19:28 +03:00
d4399f10f9 Merge both variants of the star rating display 2021-08-04 18:19:28 +03:00
14da5ab813 Remove defined size from the star rating display 2021-08-04 17:12:20 +03:00
95b134f3d8 Use OsuColour.Orange1 instead of pure yellow 2021-08-04 17:12:20 +03:00
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
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
9a5e052dc0 Use star difficulty colour spectrum game-wide 2021-08-03 15:02:18 +03:00
3409bc6b27 Update mapper usages with LocalisableDescription 2021-07-31 01:47:14 +03:00
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
ea4f9b2ac7 Localise beatmap online status pill. 2021-07-21 13:15:07 +02:00
399c3b0be8 Rename property, reword xmldoc and improve readability of update code 2021-07-21 17:32:56 +09:00
9d92b795fa Revert making ComboOffsets legacy and define BeatmapSkinComboIndex instead 2021-07-20 14:15:43 +03:00
554652b033 Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset 2021-07-20 10:11:52 +03:00
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
3c028ce05c Add IDeepCloneable interface and update existing CreateCopy methods to use it 2021-07-19 12:54:17 +09:00
7f432665e5 Preserve Y position of hit objects in osu!catch 2021-07-14 14:38:38 +09:00
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
12371f7424 Fix playlist item displays as empty string if no unicode title is present 2021-07-04 08:09:38 +08:00
0be75cc4ed Fix incorrect base call causing import optimisation to not work 2021-07-03 22:35:46 +09:00
697b07acb1 Merge branch 'master' into fix-beatmap-import-fk-failure 2021-06-29 11:36:31 +09:00
92fcf90768 Merge branch 'master' into import-early-checksum-abort 2021-06-28 19:29:08 +09:00