Dean Herbert
1a60d6ade5
Use a DrawablePool
for mania's beat snap grid
...
I'm not sure what the cause of the issue is, but I'm also not sure why
it wasn't using `DrawablePool` (was it not around back then?).
Either way, switching to a proper pool fixes things just fine.
Resolves https://github.com/ppy/osu/issues/25009 .
2023-10-10 13:36:31 +09:00
Bartłomiej Dach
71c4b138fb
Merge branch 'master' into fix-legacy-score-multipliers-2
2023-10-09 10:53:14 +02:00
Dean Herbert
f2e56bbb65
Fix publicly-settable bindables
2023-10-06 16:51:24 +09:00
Dan Balasescu
da2a4681d9
Add method to retrieve legacy score multiplier
2023-10-02 16:52:01 +09:00
Dan Balasescu
b4b7a7ea5e
Add LegacyBeatmapConversionDifficultyInfo abstraction
2023-10-02 16:52:01 +09:00
NiceAesth
83bf1efc1c
Add color
search alias for colour
settings
2023-09-27 16:29:29 +03:00
Bartłomiej Dach
e1d52134ae
Merge pull request #24930 from peppy/adjust-mania-barlines
...
Adjust osu!mania "major" barlines to be less visually distracting
2023-09-26 19:39:22 +02:00
Dean Herbert
9949480ccd
Add minor edge smoothing to fix flickering of barlines
...
In most cases.
Closes https://github.com/ppy/osu/issues/15184 .
2023-09-26 17:06:52 +09:00
Dean Herbert
5150c5a643
Adjust osu!mania "major" barlines to be less visually distracting
...
Applies to both "triangles" and "argon" skins.
2023-09-26 17:06:27 +09:00
Dean Herbert
0dcf7a2fa9
Merge branch 'master' into split-legacy-scoring-attribs
2023-09-26 15:52:27 +09:00
Dean Herbert
cb0226f843
Implement new interface-based speed change visualisation support on mania/taiko
2023-09-20 15:28:13 +09:00
Dean Herbert
41a8239e49
Remvoe null default for mods which can't be null
2023-09-20 15:27:50 +09:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv
2023-09-20 14:23:07 +09:00
Dean Herbert
56cc2b62f0
Make not extension method
2023-09-15 18:13:04 +09:00
Dean Herbert
0031da76ff
Move to extension method and throw on non-legacy ruleset
2023-09-15 17:38:34 +09:00
Dean Herbert
4ecc4632aa
Make rounding error even less precise
...
Basically matching the old code more closely to avoid too much precision
from doing math in a slightly different way.
2023-09-12 18:41:09 +09:00
Bartłomiej Dach
e71fef4b6a
Remove braces
2023-09-07 18:47:03 +02:00
Dan Balasescu
2334be1987
Split legacy scoring attributes into a separate object
2023-09-07 21:10:38 +09:00
Dean Herbert
b34a36f6ce
Remove all usage of LegacyDifficultyControlPoint
2023-09-07 17:41:57 +09:00
Bartłomiej Dach
17e791d984
Merge branch 'master' into skin-lookup-debug
2023-09-06 18:44:50 +02:00
Dean Herbert
1a37543d28
Rename SliderVelocity
to SliderVelocityMultiplier
to distinguish from Velocity
2023-09-06 19:01:08 +09:00
Dean Herbert
6c95b88589
Add debug output for skin configuration lookups
...
We've struggle with debugging these over the years so I think this was
worth a couple of hours of work.
Example of osu! lookups:
```log
[runtime] 2023-09-06 08:38:30 [verbose]: BeatmapSkinProvidingContainer.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacyBeatmapSkin{ Name: Vickeblanka - Lucky Ending (TV Size) (tears_) [Normal] } } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: SpinnerFrequencyModulate) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: SpinnerFrequencyModulate) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: osu.Game.Skinning.ResourceStoreBackedSkin }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-osu.Game.Skinning.ResourceStoreBackedSkin.GetConfig(lookup: SpinnerFrequencyModulate) 🔴
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: TrianglesSkin{ Name: osu! "triangles" (2017) } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-TrianglesSkin{ Name: osu! "triangles" (2017) }.GetConfig(lookup: SpinnerFrequencyModulate) 🔴
[runtime] 2023-09-06 08:38:30 [verbose]:
[runtime] 2023-09-06 08:38:30 [verbose]: BeatmapSkinProvidingContainer.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacyBeatmapSkin{ Name: Vickeblanka - Lucky Ending (TV Size) (tears_) [Normal] } } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: ScorePrefix) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: ScorePrefix) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: osu.Game.Skinning.ResourceStoreBackedSkin }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-osu.Game.Skinning.ResourceStoreBackedSkin.GetConfig(lookup: ScorePrefix) 🔴
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: TrianglesSkin{ Name: osu! "triangles" (2017) } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-TrianglesSkin{ Name: osu! "triangles" (2017) }.GetConfig(lookup: ScorePrefix) 🔴
```
Example of osu!mania lookups:
```log
[runtime] 2023-09-06 08:28:34 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnWidth col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnWidth col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4]) 🔴
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnWidth col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4]) 🟢
[runtime] 2023-09-06 08:28:34 [verbose]:
[runtime] 2023-09-06 08:28:34 [verbose]: BeatmapSkinProvidingContainer.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacyBeatmapSkin{ Name: antiPLUR - Runengon (Raveille) [Easy] } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4]) 🔴
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4]) 🟢
[runtime] 2023-09-06 08:28:34 [verbose]:
```
2023-09-06 18:03:40 +09:00
Dean Herbert
37c2b330a2
Move toggle implementation to work on all scrolling rulesets automatically
2023-09-01 19:53:10 +09:00
Dean Herbert
6ce251fbb5
Expose base VisualisationMethod
so we don't need to new
it locally per ruleset
2023-09-01 19:17:53 +09:00
Dean Herbert
0f5eff1230
Merge branch 'master' into mania-edit-disable-sv
2023-09-01 19:08:48 +09:00
Dan Balasescu
c8f42f73e8
Adjust mania hit windows with gameplay rate
2023-08-24 11:17:41 +09:00
Dan Balasescu
a2fd7707a1
Allow toggling SVs in the editor
2023-08-18 18:55:24 +09:00
Dan Balasescu
cb23f03d4b
Merge pull request #24109 from Hydria/LNFixHotfix
...
Adjust LN value scaling to bring overrated LN maps more in line
2023-08-17 09:30:19 +02:00
Dan Balasescu
7d8cef83e6
Merge branch 'master' into LNFixHotfix
2023-08-15 13:45:06 +02:00
Dan Balasescu
5678db4e70
Fix test + cleanup
2023-08-15 19:42:32 +09:00
Dan Balasescu
e34a9a0001
Disable hold end conversion for mania HoldOff mod
2023-08-15 19:30:40 +09:00
Dan Balasescu
ec9e7f14a8
Disable SVs from being visualised in mania editor
2023-08-15 18:51:24 +09:00
Dean Herbert
3526032c9a
Merge pull request #24544 from smoogipoo/pool-mania-barlines
...
Add pooling for mania barlines
2023-08-15 15:21:59 +09:00
Dan Balasescu
6a7b0786c9
Add barline pooling for mania
2023-08-15 13:33:49 +09:00
Bartłomiej Dach
3178865cd3
Fix playfield skinnable layer bounds being incorrectly calculated with multiple stages
...
Closes #24514 .
The original PR was _supposed_ to be handling this, and had code that
_looked_ like it would handle it, but was in fact subtly wrong, as the
union of `RectangleF.Empty` (initial value of `area`) and an arbitrary
other rectangle is _not_ the second rectangle, but rather a rectangle
that contains _both_ the second rectangle and the point (0,0),
thus leading to the bound calculation fail.
2023-08-12 21:55:20 +02:00
Dean Herbert
06fe5583cb
Expose a new SSDQ from playfield for skinnable area bounds
2023-07-28 15:47:57 +09:00
Hydria
1e19def153
2nd fix to cover all scenarios
2023-07-22 16:44:01 +01:00
Bartłomiej Dach
157aec5144
Fix mania key count slider still using circle size precision
2023-07-22 16:10:58 +02:00
Hydria
ef2134a92a
Fix issue with processing LN orders
...
Related Issue: https://github.com/ppy/osu/issues/22756
The trigger in question happens when
(1) in a chord: a longer LN, then a shorter LN is processed respectively.
(2) in a chord: a long LN, then a note is processed respectively.
however, given the opposite processing step, it will fail to trigger.
We observe that both situations have the same pattern, however has undeterministic results, which only depends on the order the mapper placed each note.
2023-07-22 10:45:48 +01:00
Dean Herbert
fd2bdc10c7
Fix "key count" setting showing as "circle size" in osu!mania editor
...
Closes https://github.com/ppy/osu/issues/12904 .
2023-07-21 18:52:29 +09:00
Dean Herbert
e58488d04a
Fix incorrect comparer implementation
2023-07-15 11:19:34 +09:00
Dean Herbert
d4fb0bef95
Fix osu!mania scores failing to convert to new standardised score due to cast failure
...
Regressed in https://github.com/ppy/osu/pull/23917 .
Closes #24217 .
2023-07-14 19:38:10 +09:00
Bartłomiej Dach
d5912165e9
Merge branch 'master' into results-screen-component-metrics
2023-07-13 19:53:52 +02:00
Dean Herbert
9ad63bae37
Add missing heading for statistics section in results screen
2023-07-13 18:50:52 +09:00
Dean Herbert
947b40149f
Adjust metrics of SimpleStatisticTable
2023-07-13 18:45:32 +09:00
Dan Balasescu
47a65f8890
Merge branch 'master' into fix-imperfect-simulation
2023-07-13 15:41:54 +09:00
Bartłomiej Dach
7be5e0e978
Implement back-and-forth conversion of ModScoreV2
and LegacyMods
2023-07-09 16:15:21 +02:00
Bartłomiej Dach
9dae806734
Use IsRewinding
in a few more places
2023-07-08 13:32:24 +02:00
Dean Herbert
e0fc97bb93
Replace various local implementations of rewinding checks with new property
2023-07-07 15:21:24 +09:00
Dean Herbert
1629024111
ILegacyScoreProcessor
-> ILegacyScoreSimulator
2023-07-04 17:32:54 +09:00