Commit Graph

2557 Commits

Author SHA1 Message Date
Dan Balasescu bacb1d0dc7
Add easing to make the transition less awkward 2024-02-06 23:58:27 +09:00
Dan Balasescu 5bc7befbd4
Add progressive cover to mania HD and FI mods 2024-02-06 23:47:20 +09:00
Dan Balasescu 5265d33c12
Make coverage into a bindable 2024-02-06 23:33:00 +09:00
Dan Balasescu ee05743921
Bump databased star rating versions 2024-02-06 22:58:11 +09:00
Dan Balasescu c18cd65081
Merge pull request #26694 from chandler14362/hit-object-result-allocations
Avoid closure allocations when applying hit object results
2024-02-06 17:49:26 +09:00
Bartłomiej Dach 0b82df00c0
Merge branch 'master' into mania-skin-alloc 2024-02-05 15:09:56 +01:00
Bartłomiej Dach 8b9c9f4fed
Add NRT annotations to `DrawableManiaRuleset` 2024-02-05 14:52:08 +01:00
Dean Herbert cc5e1e0af3
Merge pull request #26957 from smoogipoo/net8
Update to .NET 8 + C# 12
2024-02-05 20:59:31 +08:00
Bartłomiej Dach fb80d76b4a
Apply further changes to remove remaining weirdness 2024-02-05 13:37:38 +01:00
Bartłomiej Dach 39fe078984
Merge branch 'master' into hit-object-result-allocations 2024-02-05 13:24:10 +01:00
Bartłomiej Dach efe6bb25b1
Refactor result application around again to remove requirement for fields
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-02-05 13:21:01 +01:00
Dan Balasescu 6e4d52863c
Upgrade to .NET 8 SDK 2024-02-02 21:28:51 +09:00
Andrei Zavatski e00e583bb4 Fix DrawableManiaRuleset performing skin lookup every frame 2024-02-02 03:56:38 +03:00
Bartłomiej Dach f89923aeae
Annotate mods that give pp 2024-01-31 14:59:35 +01:00
Andrei Zavatski 8e20eed4ef Don't use LINQ in ReceivePositionalInputAt 2024-01-30 03:19:27 +03:00
Andrei Zavatski 7dba870518 Rework Content storage in ColumnFlow 2024-01-30 03:07:37 +03:00
Chandler Stowell 93bd3ce5ae update `DrawableHitCircle.ApplyResult` to pass `this` to its callback 2024-01-25 11:25:41 -05:00
Dean Herbert dda96d7106
Rename `JudgementPiece` to `TextJudgementPiece` 2024-01-25 19:31:57 +09:00
Chandler Stowell d2775680e6 use stack to pass action state when applying hit results
this removes closure allocations
2024-01-24 13:13:45 -05:00
Dean Herbert e9812fac7a
Fix osu!mania judgments not being pooled correctly 2024-01-15 20:50:09 +09:00
Salman Ahmed 02f5ea200e Fix failing tests 2023-12-30 07:41:55 +03:00
Salman Ahmed 408287e086 Add very basic argon mania combo counter implementation 2023-12-30 05:29:44 +03:00
Salman Ahmed 8be3f4f632 Add legacy mania combo counter implementation 2023-12-30 05:29:38 +03:00
Salman Ahmed 08d88ec2fa Add back initial position transform to ensure correctness 2023-12-29 20:47:18 +03:00
Salman Ahmed 8df9a1ee1f Fix argon miss judgement on mania placed on a different position 2023-12-29 20:43:03 +03:00
Dan Balasescu 2ec6aa7fbb
Make mania scroll speed independent of hit position 2023-12-26 12:46:21 +09:00
Dean Herbert 7e09164d70
Merge pull request #26036 from smoogipoo/fix-perfect-mod-special-judgements
Fix perfect mod not failing with special judgements
2023-12-22 18:22:28 +09:00
Dan Balasescu 93efa98d9b
Fix mania "Great" hits failing with perfect mod 2023-12-22 16:19:36 +09:00
Dan Balasescu 6b4b2a57fc
Expose only as one method 2023-12-21 14:58:23 +09:00
Dan Balasescu 4e3b994142
Relocate HitResult numeric score to ScoreProcessor 2023-12-21 14:52:31 +09:00
Bartłomiej Dach 8c06d3873d
Merge branch 'master' into mania-scorev2-values 2023-12-20 15:54:31 +01:00
Dan Balasescu bff08d124b
Remove mania mod multiplier for DT/NC 2023-12-20 22:28:50 +09:00
Dean Herbert e0c27510f2
Remove remaining usage of `NotePerfectBonus` 2023-12-20 19:47:36 +09:00
Dan Balasescu 023bbda7db
Change mania to 85% acc / 15% combo 2023-12-20 18:43:06 +09:00
Dan Balasescu 104fbbde94
Change mania scoring to match ScoreV2 2023-12-20 18:35:45 +09:00
Dean Herbert 831c273b45
Merge pull request #25887 from smoogipoo/restore-taiko-accuracy
Restore taiko accuracy to ScoreV2 values
2023-12-20 17:29:40 +09:00
OliBomby ec578e1d9f fix near-zero length sliders n stuff being placeable 2023-12-19 21:20:21 +01:00
Dean Herbert 372f930f8b
Refactor usage of object counts for mania key count lookup to be a bit safer
Protects against non-initialised values and also div-by-zero.
2023-12-19 18:28:04 +09:00
Dan Balasescu c1b55c7fac
Add ScoreProcessor methods to override numeric result 2023-12-19 13:50:31 +09:00
Dan Balasescu 30116512ca
Populate MaxCombo scoring attrib for non-osu rulesets 2023-12-18 12:01:51 +09:00
clayton f07771f59b
Fix fallback column colors for legacy split stage mania skins 2023-12-15 22:41:55 -08:00
Bartłomiej Dach 432ce275c4
Explain magic constants better 2023-12-15 20:43:18 +01:00
Dean Herbert e8f3e52c9e
Fix nullref failure in tests 2023-12-15 19:17:48 +09:00
Dean Herbert eb5a8284f1
Move mobile check earlier to avoid unnecessary looping 2023-12-15 19:16:18 +09:00
Dean Herbert 456916f680
Fix column sizing exceeding screen width on tablets 2023-12-15 18:02:27 +09:00
Dean Herbert fdcf87569c
Merge pull request #25711 from smoogipoo/mania-convert-song-select-keycount
Display osu!mania keycount in song select carousel panels and details
2023-12-13 16:31:25 +09:00
Dean Herbert 0e4e916388
Sneaky comment fix 2023-12-13 15:04:52 +09:00
Dan Balasescu 6ed5613c22
Merge branch 'master' into mania-convert-song-select-keycount 2023-12-13 13:53:50 +09:00
Dan Balasescu 2930b53edd
Simplify implementation 2023-12-13 13:43:14 +09:00
Dan Balasescu 36d0ec34d3
Merge pull request #25727 from PercyDan54/mania-autoplay-0ms-hold
Fix mania Autoplay mod missing 0ms hold notes
2023-12-13 12:13:53 +09:00
PercyDan54 b20b2203ac
Fix mania Autoplay mod missing 0ms hold notes 2023-12-11 21:10:14 +08:00
Dan Balasescu b36db3518c
Add keycount to song select details panel and carousel panels 2023-12-09 22:31:51 +09:00
Dan Balasescu 81fe15f288
Fix osu!mania converted key count edge cases 2023-12-09 15:39:54 +09:00
Dan Balasescu 0fe2e1e8d6
Re-fix mania conversion following new discoveries 2023-12-08 16:33:10 +09:00
Dan Balasescu d6cb8b70bb
Fix FP precision issue when converting mania beatmaps 2023-12-07 12:26:02 +09:00
Dan Balasescu d0acb7f4f9
Improve commenting
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-12-04 06:08:31 +09:00
Dan Balasescu 230278f2c9
Once again remove Mania passive HP drain 2023-12-03 01:47:20 +09:00
Dan Balasescu 1c3bcbd548
Use IHasPath instead of IHasDistance for mania/taiko 2023-11-29 17:30:21 +09:00
Dan Balasescu 16577829e2
Fix mania and taiko slider conversion distance 2023-11-28 21:14:56 +09:00
Dan Balasescu d924227810
Add `ManiaHealthProcessor` that uses the legacy drain rate algorithm 2023-11-27 14:38:31 +09:00
Bartłomiej Dach a8fc73695f
Rename variable 2023-11-20 22:04:08 +09:00
Bartłomiej Dach 364a3f75e1
Compile regexes 2023-11-20 22:03:25 +09:00
Bartłomiej Dach b6215b2809
Rename and document `SelectFromTimestamp` 2023-11-20 21:57:14 +09:00
ratinfx fab6fc9adb Updated comments, renamed method 2023-11-12 15:09:15 +01:00
ratinfx 4e7c40f1d7 Do Split and Parse before checking HitObjects 2023-11-12 14:58:46 +01:00
ratinfx 4e1e19728c Refactor HitObject selection in Composer 2023-11-11 14:02:42 +01:00
ratinfx aa87e0a44d HitObject Selection logic and separation for gamemodes
+ moved time_regex into EditorTimestampParser
2023-11-07 01:36:58 +01:00
Bartłomiej Dach 998d709331
Merge branch 'master' into mania-key-expand-mobile 2023-11-02 11:59:01 +01:00
Dean Herbert 704f5a6de3
Adjust sizing slightly to ensure we stay within 1366 limits 2023-11-02 11:44:36 +01:00
Dean Herbert c83589cb74
Change osu!mania conversion mod ordering to be more appeasing 2023-11-02 15:49:10 +09:00
Dean Herbert 6dab5ee4cf
Add support for "argon" default skin to expand columns when on mobile device
Should ease those looking to play the game on mobile until we
(potentially) have a better solution in the future.

If this works out well, we can consider rolling it out to other skins.

Closes https://github.com/ppy/osu/issues/23377.
2023-11-02 15:13:44 +09:00
Dean Herbert fbba3787d1
Merge pull request #25190 from frenzibyte/match-skin-element-animation-support
Match capability of animating legacy skin elements with osu!(stable)
2023-10-30 18:25:06 +09:00
Salman Ahmed 976ae62214 Fix incorrect nullability specification 2023-10-21 01:10:06 +03:00
Salman Ahmed 491f119988 Add animation support for legacy osu!mania column lights 2023-10-21 00:22:34 +03:00
Salman Ahmed 517d0f65b6 Adjust frame length of osu!mania hold-note body animation 2023-10-21 00:22:31 +03:00
Salman Ahmed badb1310a3 Adjust frame length of osu!mania judgement animation 2023-10-20 23:59:03 +03:00
Bartłomiej Dach b321d556b6
Enforce minimum gameplay sample volume of 5% 2023-10-20 15:50:13 +02:00
Dean Herbert 52c2eb93de
Merge branch 'master' into taiko-beat-snap-grid 2023-10-19 23:53:01 +09:00
Dean Herbert 5341a335a6
Bypass `Parent` nullability checks for now 2023-10-17 17:48:45 +09:00
Bartłomiej Dach 2192c9f2c2
Remove unused using directive 2023-10-17 10:30:01 +02:00
Bartłomiej Dach 22c1a963e7
Remove unused field 2023-10-17 10:27:16 +02:00
Dean Herbert 4381169a3f
Combine selection and input handling logic for beat snap grids across all rulesets 2023-10-17 17:09:42 +09:00
Dean Herbert 1b9acdf55c
Abstract out common implementation of `BeatSnapGrid` 2023-10-17 16:42:52 +09:00
Dean Herbert d26d4b8b79
Cache `IScrollingInfo` at a `HitObjectComposer` level automatically 2023-10-17 16:42:22 +09:00
Bartłomiej Dach b9a84127ac
Remove mention of "any tick"
They're very dead now.
2023-10-16 08:57:35 +02:00
Dean Herbert 4f1546c474
Rename `PerfectBonusNote` to `NotePerfectBonus` 2023-10-16 15:14:28 +09:00
Dean Herbert 3f09ed396f
Fix legacy skin body piece dimming when it shouldn't 2023-10-16 15:11:33 +09:00
Dean Herbert 1a957364ae
Add empty hit windows on `PefectBonusNote` 2023-10-16 14:58:49 +09:00
Dean Herbert 43f619f92a
Add `DisplayResult` flag and remove unnecessary `AlwaysPresent` 2023-10-16 14:57:58 +09:00
Dean Herbert 14fedffcc1
Fix `MissForcefully` not considering the bonus object 2023-10-16 14:53:36 +09:00
Dean Herbert e85c039722
Adjust method flow to hopefully be more legible 2023-10-16 13:31:14 +09:00
Dean Herbert ddbda69751
Remove nullability of `bonusNote` 2023-10-16 13:14:58 +09:00
Dean Herbert 850950ba61
Add note about why `SmallBonus` is not listed in `GetValidHitResults` 2023-10-13 17:36:30 +09:00
Dean Herbert 125f28219d
Fix hodl tail notes not correctly handling nested bonus judgement 2023-10-13 17:36:19 +09:00
Dean Herbert 94b64044e0
Add nested bonus judgement to `DrawableNote` for perfect bonus score 2023-10-13 17:01:48 +09:00
Bartłomiej Dach a42e75452e
Remove remaining usages of `LargeTickHit` in mania 2023-10-12 11:16:51 +02:00
Bartłomiej Dach 063623b4e6
Merge branch 'master' into remove-hold-note-ticks 2023-10-11 19:47:51 +02:00
Bartłomiej Dach 3f29f27cd4
Assign empty hit windows to `HoldNoteBody`
It's not a timed object, so following precedent, it should have empty
hitwindows.

This is not actually just aesthetics; several components check whether a
hitobject has empty hitwindows to determine whether to include it on
various HUD displays and results screen components where timed objects
are explicitly involved.
2023-10-11 19:40:55 +02:00
Dean Herbert 8dc9453d8d
Apply some xmldoc and structural changes 2023-10-10 16:59:25 +09:00
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
Dan Balasescu e874ec81c9
Remove unused usings 2023-10-09 12:22:08 +09:00
Dan Balasescu f0da7f016d
Actually use the judgement 2023-10-09 11:49:54 +09:00
Dan Balasescu d988ef9b22
Revert functional change 2023-10-09 10:50:39 +09:00
Dan Balasescu 9415fe4446
Add mania hold note body + combo break judgement 2023-10-09 09:47:00 +09:00
Dan Balasescu b2d9c95441
Remove HoldNoteTickJudgement 2023-10-09 09:31:45 +09:00
Dan Balasescu 5362902c87
Merge branch 'master' into remove-hold-note-ticks 2023-10-09 08:15:10 +09: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 c60f13dd92 Remove mania hold note ticks 2023-08-31 17:30:27 +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