Dean Herbert
9a21174582
Move GlobalSkinnableContainers
to global scope
2024-08-22 18:46:07 +09:00
Dean Herbert
36b4013fa6
Rename GameplaySkinComponentLookup
-> SkinComponentLookup
2024-08-22 18:46:03 +09:00
Dean Herbert
f37cab0c6e
Rename SkinComponentsContainerLookup
to GlobalSkinnableContainerLookup
2024-08-22 18:39:36 +09:00
Salman Ahmed
4d74625bc7
Fix mania combo counter positioning break on centre anchor
2024-08-20 12:39:51 +09:00
Salman Ahmed
7427237873
Try make code look better
2024-08-15 17:03:08 +09:00
Salman Ahmed
358572ebb3
Update code order to match everything else
2024-08-15 16:57:29 +09:00
Salman Ahmed
a421231aad
Fix beatmap skin on mania breaking HUD apart
2024-08-15 16:55:05 +09:00
Salman Ahmed
66adddbfb8
Actually bring back position-flipping logic and disable "closest" anchor
2024-08-15 15:50:32 +09:00
Salman Ahmed
3a4546d62d
Remove x
symbol from argon mania combo counter
2024-08-15 15:08:35 +09:00
Salman Ahmed
ff1ab2bb0e
Remove position-flipping logic from mania combo counters for now
...
We need a general method to do this amicably, such as an HUD target that flips the position of its children when the direction is flipped. Something to consider later.
2024-08-15 15:02:18 +09:00
Dean Herbert
7c142bcedf
Fix incorrect anchor handling in ArgonManiaComboCounter
2024-08-14 15:12:23 +09:00
Dean Herbert
161734af95
Simplify argon mania combo counter implementation by sharing with base counter
2024-08-09 15:46:57 +09:00
Dean Herbert
3f20f05801
Remove unnecessary UsesFixedAnchor
specifications
2024-08-09 15:39:01 +09:00
Dean Herbert
7666e8b932
Remove SupportsClosestAnchor
for the time being
...
This may have had a good reason to be added, but I can't find that
reason, so let's keep things simple for the time being.
2024-08-09 15:30:21 +09:00
Dean Herbert
80c814008f
Update in line with new changes
2024-08-09 14:55:01 +09:00
Dean Herbert
e645651ef4
Merge branch 'master' into mania-combo-counter
2024-08-09 00:19:17 +09:00
Bartłomiej Dach
1eac0c622a
Fix legacy skin hold note bodies not appearing when scrolling upwards
...
- Closes https://github.com/ppy/osu/issues/28567 .
- Regressed in https://github.com/ppy/osu/pull/28466 .
Bit of a facepalm moment innit...
2024-06-25 10:35:36 +02:00
Dean Herbert
e6187ebec0
Fix nullability insepction
2024-06-18 15:13:52 +08:00
Bartłomiej Dach
366ba26cb6
Adjust calls to DrawableExtensions.With<T>()
2024-06-18 07:41:20 +02:00
Dan Balasescu
1ff20cc13d
Fix missing texture on extremely long hold notes
2024-06-13 15:19:41 +09:00
Bartłomiej Dach
bf0040447c
Fix legacy mania note body animation not resetting sometimes
...
Hopefully closes https://github.com/ppy/osu/issues/28284 .
As far as I can tell this is a somewhat difficult one to reproduce
because it relies on a specific set of circumstances (at least the
reproduction case that I found does). The reset to frame 0 would
previously be called explicitly when `isHitting` changed:
182ca145c7/osu.Game.Rulesets.Mania/Skinning/Legacy/LegacyBodyPiece.cs (L144)
However, it can be the case that `bodyAnimation` is not loaded at the
point of this call. This is significant because
`SkinnableTextureAnimation` contains this logic:
182ca145c7/osu.Game/Skinning/LegacySkinExtensions.cs (L192-L211)
which cannot be moved any earlier (because any earlier the `Clock` may
no longer be correct), and also causes the animation to be seeked
forward while it is stopped.
I can't figure out a decent way to layer this otherwise (by scheduling
or whatever), so this commit is just applying the nuclear option of just
seeking back to frame 0 on every update frame in which the body piece is
not being hit.
2024-05-28 15:29:15 +02:00
Salman Ahmed
672f645cba
Clamp only on horizontal sides
2024-03-06 18:40:20 +03:00
Salman Ahmed
f1b66da469
Add comments
2024-03-01 22:57:13 +03:00
Salman Ahmed
e0c73eb362
Fix osu!mania key images potentially showing gaps between columns
2024-03-01 22:49:12 +03:00
Bartłomiej Dach
36005a5449
Fix selected legacy skins crashing on zero-length hold notes
...
Closes https://github.com/ppy/osu/issues/27134 .
2024-02-12 08:33:08 +01:00
Dean Herbert
dda96d7106
Rename JudgementPiece
to TextJudgementPiece
2024-01-25 19:31:57 +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
clayton
f07771f59b
Fix fallback column colors for legacy split stage mania skins
2023-12-15 22:41:55 -08:00
Dean Herbert
456916f680
Fix column sizing exceeding screen width on tablets
2023-12-15 18:02:27 +09:00
Dean Herbert
0e4e916388
Sneaky comment fix
2023-12-13 15:04:52 +09:00
Dean Herbert
704f5a6de3
Adjust sizing slightly to ensure we stay within 1366 limits
2023-11-02 11:44:36 +01: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
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
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
Dan Balasescu
e874ec81c9
Remove unused usings
2023-10-09 12:22:08 +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
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
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