Dean Herbert
|
b88e3cd26f
|
Change ResourceStore provided to Skin to be a fallback, not replacement
|
2023-11-16 20:19:01 +09: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
|
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
|
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
|
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 |
|
Salman Ahmed
|
69d967172a
|
Remove unencessary null coalesce
|
2022-07-16 06:39:05 +03:00 |
|
Dan Balasescu
|
f8830c6850
|
Automated #nullable processing
|
2022-06-17 16:37:17 +09:00 |
|
Dean Herbert
|
9c3dad9fbf
|
Add proof of concept flow to ensure RealmBackedResourceStore is invalidated on realm file changes
I'm not at all happy with this, but it does work so let's go with it for
now.
|
2022-04-01 16:01:33 +09:00 |
|
Dean Herbert
|
7296bad294
|
Convert LegacyBeatmapSkin to use nullable
|
2022-03-24 00:24:06 +09:00 |
|
Dean Herbert
|
7a1909bf97
|
Change parameter order of LegacySkin to put IStorageResourceProvider first
The optional resource store should not be before the (basically)
required resource provider.
|
2022-03-23 15:02:04 +09:00 |
|
Dean Herbert
|
6c405f1dee
|
Remove storage override from LegacyBeatmapSkin
|
2022-03-23 14:57:42 +09:00 |
|
Dean Herbert
|
3c38b14228
|
Documentation improvements
|
2022-03-23 14:57:42 +09:00 |
|
Dean Herbert
|
e1236e07ad
|
Fix extensions not being specified in time for realm file caching
|
2022-03-23 14:57:42 +09:00 |
|
Dean Herbert
|
a7f63fb034
|
Make providing a custom ResourceStore to LegacyBeatmapSkin optional (for tests only)
|
2022-03-23 14:57:42 +09:00 |
|
Dean Herbert
|
b4d89b4e31
|
Replace duplicate LegacySkinResourceStore class with RealmBackedResourceStore
|
2022-03-23 14:57:42 +09:00 |
|
Dean Herbert
|
b2d09b7b10
|
Fix further warnings
|
2022-01-12 23:42:12 +09:00 |
|
Dean Herbert
|
e2d9a685d7
|
Update skin implementations to match new structures
|
2021-11-29 18:28:25 +09:00 |
|
Dean Herbert
|
0a961fd9d8
|
Replace usages of IHasFiles with IHasRealmFiles
|
2021-11-29 18:28:25 +09:00 |
|
Dean Herbert
|
ed07ee8c61
|
Update all existing usages of AuthorString /AuthorId
Unfortunately the getters need to be left in place else EF breaks.
|
2021-11-04 18:59:37 +09:00 |
|
Dean Herbert
|
93482414d6
|
Remove SkinConfiguration subclasses and allow configuration parsing for all skin types
|
2021-10-22 14:42:23 +09:00 |
|
Dean Herbert
|
ec61c3c5ee
|
Rename all remaining cases
|
2021-10-03 00:55:29 +09:00 |
|
Dean Herbert
|
399c3b0be8
|
Rename property, reword xmldoc and improve readability of update code
|
2021-07-21 17:32:56 +09:00 |
|
Salman Ahmed
|
9d92b795fa
|
Revert making ComboOffset s legacy and define BeatmapSkinComboIndex instead
|
2021-07-20 14:15:43 +03:00 |
|
Salman Ahmed
|
554652b033
|
Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset
|
2021-07-20 10:11:52 +03:00 |
|
Salman Ahmed
|
53cbf369d7
|
Fix potential nullref
|
2021-05-29 21:22:46 +03:00 |
|
Salman Ahmed
|
42618c713f
|
Merge branch 'master' into legacy-beatmap-skin-hud-fallback
|
2021-05-29 20:56:05 +03:00 |
|
Salman Ahmed
|
9f3ea150f5
|
Fix legacy beatmap skins not falling back properly on HUD components
|
2021-05-19 23:01:29 +03:00 |
|
Salman Ahmed
|
9806d94b74
|
Move beatmap skin info creation to static method at IBeatmapSkin
|
2021-05-19 11:58:00 +03:00 |
|
Salman Ahmed
|
51ff59242d
|
Use legacy beatmap combo indices for legacy beatmap skins
|
2021-05-05 07:43:25 +03:00 |
|
Dean Herbert
|
00574a5288
|
Use ISample everywhere in Skin GetSample lookup path
|
2021-02-18 18:32:28 +09:00 |
|
smoogipoo
|
de9d075f94
|
Initial sample + samplechannel rework
|
2021-01-19 17:11:40 +09:00 |
|
Dean Herbert
|
a5bcf1dc20
|
Expose resources to skin via interface (and share common pieces with beatmap)
|
2020-12-21 15:18:52 +09:00 |
|
Craftplacer
|
9b3a48ee5e
|
Revert "Add marker interface for beatmap skins"
|
2020-08-31 18:29:46 +02:00 |
|
Craftplacer
|
4cb9e1d443
|
Initial commit
|
2020-08-29 10:33:43 +02:00 |
|
Bartłomiej Dach
|
2bb436fd3c
|
Do not use custom sample banks outside of beatmap skin
|
2020-07-30 22:07:26 +02:00 |
|
Dean Herbert
|
bf719f98d5
|
Fix beatmap skins providing fallback version lookup, preceding user skins
|
2020-05-12 11:08:30 +09:00 |
|
smoogipoo
|
44981431c5
|
Remove suffix hackery
|
2020-04-14 21:33:32 +09:00 |
|
smoogipoo
|
cee4b005e6
|
Fix custom sample set 0 not falling back to default samples
|
2020-04-13 20:00:06 +09:00 |
|
smoogipoo
|
a4208f35c4
|
Make versionless skins fallback to version 1.0
|
2020-04-06 19:36:17 +09:00 |
|
smoogipoo
|
2b5e9885f6
|
Implement mania skin reading functionality
|
2020-03-31 10:55:58 +09:00 |
|
iiSaLMaN
|
9874ce49ce
|
Move fallback allowance to the skin configuration only.
|
2019-11-07 15:55:34 +03:00 |
|
iiSaLMaN
|
61778232d8
|
Rewrite inline comment
|
2019-11-06 23:24:54 +03:00 |
|
iiSaLMaN
|
5e3f0f6c95
|
Return default combo colours if none provided
|
2019-10-09 21:08:07 +03:00 |
|
Dean Herbert
|
8617aaa2a7
|
Update licence header (and remove year)
|
2019-01-24 17:43:03 +09:00 |
|
Dean Herbert
|
32a74f95a5
|
Normalize all the line endings
|
2018-04-13 18:26:38 +09:00 |
|
Dean Herbert
|
504c3ff0ba
|
BeatmapSkin -> LegacyBeatmapSkin
|
2018-03-22 12:50:48 +09:00 |
|