1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 01:23:44 +08:00
Commit Graph

319 Commits

Author SHA1 Message Date
Salman Ahmed
e54d20ea93 Remove ancient osu-resources lookup path from legacy skin textures 2024-01-17 16:33:14 +03:00
Salman Ahmed
5ad2918a75 Allow disabling high resolution texture lookups in LegacySkin 2024-01-17 12:56:29 +03:00
Bartłomiej Dach
8142a7cb7e
Remove incorrect spec 2023-12-25 14:00:32 +01:00
Dean Herbert
b1d994b6ff
Add classic skin sprites for slider tick and slider end misses 2023-12-25 17:17:23 +09:00
Dean Herbert
eb8fb8092d
Attempt to standardise miss handling logic 2023-12-21 00:59:35 +09:00
Dean Herbert
9b383e3276
Add support for showing tick misses 2023-12-20 20:23:19 +09:00
Dean Herbert
0be6743e87
Apply Bindable.Parse refactorings 2023-12-13 14:07:38 +09:00
Dean Herbert
b88e3cd26f
Change ResourceStore provided to Skin to be a fallback, not replacement 2023-11-16 20:19:01 +09:00
Salman Ahmed
491f119988 Add animation support for legacy osu!mania column lights 2023-10-21 00:22:34 +03:00
Bartłomiej Dach
ce4b523950
Merge branch 'master' into fix-mania-skin-lookups-no-sprites 2023-09-06 19:29:13 +02:00
Bartłomiej Dach
f9db0fad88
Ignore unused thing inspection harder 2023-09-06 18:37:17 +02:00
Dean Herbert
88b9d3237a Fix osu!mania legacy skin configurations not working when notes are not skinned 2023-09-06 18:03:54 +09:00
Dean Herbert
14936677fc Ignore unused thing inspection 2023-09-06 18:03:40 +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
Bartłomiej Dach
3b9f250c1b
Merge branch 'master' into menu-star-fountains 2023-07-25 21:58:13 +02:00
Dean Herbert
43107f8cf0 Fix skin mapping not working for menu fountains 2023-07-25 17:46:05 +09:00
Dean Herbert
d23c73a2f1
Adjust with better numbers based off 1920x1080 resolution
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-07-21 17:25:38 +09:00
Dean Herbert
61ff3d08d4 Change depth of LegacySongProgress to allow "skinning" via health bar background 2023-07-19 17:48:19 +09:00
Dean Herbert
e283845b71 Adjust legacy skin elements to better align with skinning expectations 2023-07-19 17:45:07 +09:00
Dean Herbert
ba7f472247 Split padding out into constant to fix weird looking math 2023-06-26 16:05:57 +09:00
tsrk
9d688733ac
fix: correct key counter position in Triangles and Legacy skins 2023-06-15 14:37:38 +02:00
tsrk
2f40f5bd19
fix: change key counter position in Triangles and Legacy skins 2023-06-15 12:01:38 +02:00
Dean Herbert
ffb99364b9 Ensure skin default component layouts only apply to global layout for now 2023-02-17 18:24:05 +09:00
Dean Herbert
9685fb2114 Always return a non-null container for SkinComponentsContainerLookups 2023-02-17 14:19:19 +09:00
Dean Herbert
76f7accd13 Standardise all local SkinComponentsContainerLookup variables to containerLookup 2023-02-16 15:33:56 +09:00
Dean Herbert
a92e42bb84 Rename SkinnableTargetContainer to SkinComponentsContainer
Also use full `SkinComponentsContainerLookup` instead of the sub-type.
This will potentially be useful once we bring in per-ruleset targets.
2023-02-15 18:37:41 +09:00
Dean Herbert
8bbd00822c Simplify and rename SkinnableTargetComponentsContainer 2023-02-15 17:30:21 +09:00
Dean Herbert
bfbffc4a68 Add parsing support for mania NoteBodyStyle 2023-02-10 19:46:59 +09:00
Dean Herbert
635e225d19 Add correct lookup for WidthForNoteHeightScale 2023-02-10 19:18:41 +09:00
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
Dean Herbert
eae8530722 Fix SkinnableSprite lookups broken in lazer-first skins
Regressed with removal of local `GetTexture` calls in e19ba65f91
2022-11-13 12:46:21 +09:00
Dean Herbert
1aa0e40f2f Add "Component" prefix to lookup naming 2022-11-09 17:46:43 +09:00
Dean Herbert
e75c3b3f94 Rename SkinnableTarget to GlobalSkinLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
c908969d9b Rename ISkinComponent to ISkinLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
bf26dbffc2 Apply nullability to skinning support classes 2022-11-09 13:59:13 +09:00
Dean Herbert
fd20515a6d Don't throw if LegacySkin doesn't have a transformer encapsulating it
This allows for more flexibility in lookups.
2022-10-12 17:29:17 +09:00
Dean Herbert
eea3d5adb8 Standardise column index naming and xmldoc 2022-10-07 15:24:36 +09:00
Dean Herbert
3947011baf Fix regression in legacy dual stage handling logic 2022-10-07 15:24:36 +09:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Dean Herbert
b803ec543f Remove unused combo DI retrieval 2022-07-27 13:50:03 +09:00
Nitrous
842ab3c5c1
remove unused using 2022-07-27 09:41:58 +08:00
Nitrous
a2320aeb27
replace SongProgress with LegacySongProgress 2022-07-27 08:52:27 +08:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
3862681d94 Change skin.ini boolean parsing to match osu!stable
Closes https://github.com/ppy/osu/issues/18579.
2022-06-06 19:43:09 +09:00
Salman Ahmed
61078910a6 Handle all skin component types explicitly 2022-04-23 03:34:05 +03:00
Salman Ahmed
69e2e30971 Remove legacy skin component fallback lookup
Has always been a source of hiding actual issues like in https://github.com/ppy/osu/issues/17745 (`sliderfollowcircle` looked up from fallback because there's no transformer), and https://github.com/ppy/osu/issues/17934 (because there's a texture `ok` and that matches the component name `HitResult.Ok`).
2022-04-23 01:06:36 +03:00
Salman Ahmed
56358ef19e Fix legacy skin hit animation lookup falling back to LookupName 2022-04-23 00:35:45 +03:00
Salman Ahmed
fb9fe4213d Fix skin texture lookups not handling paths with extensions 2022-04-07 15:07:30 +03:00
Dean Herbert
205edb65a2 Fix filename lookups on LegacySkins going awry when extension is specified
Due to the logic present to handle `@2x` fallback, the extension was
potentially being added at the wrong point in the filename. This change
ensures that the lookup filenames are always correct.

Closes https://github.com/ppy/osu/issues/17690.
2022-04-07 14:16:19 +09:00
Dan Balasescu
23c4f9910e Apply notnull constraint 2022-03-25 15:54:01 +09:00