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 LegacySkin
s 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
Dan Balasescu
2d8d177807
Merge branch 'master' into skin-nullable
2022-03-25 15:36:21 +09:00
Dean Herbert
a4d17a915f
Fix incorrect HUD component fallback
...
Legacy skins should now always show the legacy hud components. The
conditional here is no longer valid as fallback lookups happen at a
*skin*-fallback level rather than internal *source*-fallback.
Put another way, `LegacyDefaultSkin` (with user customisations) should
still display the classic HUD components even if a font is not provided,
as that font will be available via the skin lookup hierarchy.
The TODO removed in this commit has been already resolved so this code
is no longer required.
2022-03-24 12:36:20 +09:00
Dean Herbert
194bf4fb05
Convert LegacySkin
to use nullable
2022-03-24 00:23:55 +09:00
Dean Herbert
078288a616
Make "skin.ini" the default skin filename and remove redundant parameters
2022-03-23 15:05:01 +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
d0ea1739b4
Remove skin configuration stream logic as it is no longer required
2022-03-23 14:57:42 +09:00
Dean Herbert
3c38b14228
Documentation improvements
2022-03-23 14:57:42 +09:00
Dean Herbert
32e2cfb8ee
Leave realm resource store construction to base class
2022-03-23 14:57:42 +09:00
Dean Herbert
35d2f973a3
Prefer provided resource store over realm backed to keep tests working
2022-03-23 14:57:42 +09:00
Dean Herbert
5c4a74378d
Remove Textures
and Samples
initialisation to Skin
2022-03-23 14:57:42 +09:00
Dean Herbert
09ec49e6fa
Rename realm-backed resource store in preparation for non-legacy usage
2022-03-22 18:31:18 +09:00
Dean Herbert
5601f6f1fe
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-17 12:29:02 +09:00
Bartłomiej Dach
cbaa3de548
Strip @2x
scale modifiers when looking up legacy skin textures
2022-01-16 19:46:15 +01:00
Dean Herbert
667cdb2475
Fix skin lookup when there's no beatmap file available
2022-01-12 17:00:16 +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
add39fbd4f
Merge branch 'master' into fix-skin-layout-editor-crash
2021-10-28 06:24:24 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +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
9cdc1ba592
Fix default legacy skin not being able to read from stored skin.ini
2021-10-22 13:43:45 +09:00
Salman Ahmed
1af230c48c
Merge branch 'master' into refactor-combo-colour-retrieval
2021-07-20 10:08:25 +03:00
Dean Herbert
06840d78cc
Remove now unused method
2021-06-08 12:06:42 +09:00
Dean Herbert
b5f145cfa9
Use null propagation for animation lookups
2021-06-06 23:01:37 +09:00
Dean Herbert
39f99bf785
Move FindProvider
to ISkinSource
2021-06-06 12:17:32 +09:00
Dan Balasescu
c065f761c7
Merge branch 'master' into legacy-skin-default-fallback
2021-06-02 19:08:52 +09:00
Dean Herbert
2e2281c7d2
Revert disabling taiko sample tests and fix logic
2021-06-01 18:57:19 +09:00
Dean Herbert
3a6d081d82
Remove duplicated taiko fallback
2021-06-01 18:04:49 +09:00
Dean Herbert
ea4644be90
Revert "Fix weird taiko logic failing for weird reasons that probably should not have been a thing"
...
This reverts commit 69c4ccad05
.
2021-06-01 18:04:49 +09:00
Dean Herbert
69c4ccad05
Fix weird taiko logic failing for weird reasons that probably should not have been a thing
2021-05-31 21:29:47 +09:00
Dean Herbert
282c5a9177
Fix potential nullref in SkinProvidingContainer
2021-05-31 21:29:47 +09:00
Dean Herbert
3ff9f9c89d
Make FindProvider
non-default
2021-05-31 21:29:47 +09:00
Dean Herbert
8e489754cc
Add ability for LegacySkin
s to customise the fallback provider
2021-05-31 21:29:47 +09:00
Dean Herbert
88ed95e012
Add FindProvider
lookup function
2021-05-31 21:29:47 +09:00
Dean Herbert
1d30791ab0
Add potential pathway for legacy lookups
2021-05-31 21:29:47 +09:00
Dean Herbert
4b27d43e26
Add new parameter for default fallback logic in LegacySkin
2021-05-31 21:29:47 +09:00
Salman Ahmed
02d18c7a49
Merge branch 'master' into remove-hud-component-lookup
2021-05-31 09:23:04 +03:00
Salman Ahmed
fb81e5133f
Merge branch 'master' into catch-hide-combo-workaround
2021-05-30 14:16:46 +03:00
Dean Herbert
caa2c5638e
Fix legacy combo counter not accounting for song progress bar
2021-05-23 16:46:57 +09:00
Salman Ahmed
43094425e2
Merge branch 'legacy-beatmap-skin-hud-fallback' into catch-hide-combo-workaround
2021-05-19 23:18:27 +03:00
Salman Ahmed
c98d036b48
Merge branch 'master' into catch-hide-combo-workaround
2021-05-18 17:47:20 +03:00
Salman Ahmed
08ee1e4853
Remove HUD skin component lookup in favour of MainHUDComponents
target system
2021-05-18 12:37:23 +03:00
Dean Herbert
10c730b37d
Add new default locations for hit bar error displays
2021-05-18 15:50:50 +09:00
Salman Ahmed
f667ea3fd0
Replace AllowDefaultHUDComponentsFallback
with a temporary override at LegacyBeatmapSkin
2021-05-17 21:34:53 +03:00
Dean Herbert
da0913ca2d
Make SongProgress
a skinnable component
2021-05-17 18:52:56 +09:00
Salman Ahmed
4c25fe750f
Disallow beatmap skin to fall back to default HUD components
...
This should become a more generalized `AllowDefaultSkinFallback` when default legacy skin fallback is supported.
2021-05-15 14:32:16 +03:00
smoogipoo
2f025f1967
SkinnableTargetWrapper -> SkinnableTargetComponentsContainer
2021-05-13 18:54:30 +09:00
Dean Herbert
8b9ac86d4b
Merge branch 'master' into skin-serialisation
2021-05-13 12:35:06 +09:00
Bartłomiej Dach
4464204e33
Mark all skin ctors used via reflection in SkinInfo.CreateInstance()
2021-05-12 23:23:42 +02:00
Dean Herbert
117d6d731d
Move cross-component layout dependencies for legacy skin to LegacySkin
2021-05-11 18:39:14 +09:00
Dean Herbert
4769a95b49
Fix encapsulation and remove target lookup overhead
2021-05-11 18:39:14 +09:00
Dean Herbert
b248b2e5e3
Hook up full save/load flow
2021-05-11 18:39:14 +09:00
Dean Herbert
004798d61d
Update Legacy components to not require skin in ctor
2021-05-11 18:39:14 +09:00
Salman Ahmed
9be8d3f0d2
Add overridable combo colour retrieval method and handle in legacy skin
2021-05-05 07:15:07 +03:00
Salman Ahmed
6aa0c9d8fd
Merge branch 'master' into legacy-sprite-text-fonts
2021-03-25 14:52:01 +03:00
Dean Herbert
073dba5330
Remove local workarounds to attempt to avoid crashes on skin change
2021-03-22 14:05:37 +09:00
Dean Herbert
68aaf90702
Fix disposal rather than performing some weird hack
2021-03-19 20:30:52 +09:00
Bartłomiej Dach
b419d2c2e2
Fix invalid xmldoc indent
2021-03-18 19:52:38 +01:00
Salman Ahmed
64d1cb5193
Remove text skin components in favour of plain LegacySpriteText
s
2021-03-13 06:05:36 +03:00
smoogipoo
f48e017ac9
Move nested class to bottom of file
2021-02-22 18:34:05 +09:00
smoogipoo
0bda9e4b79
Implement some new methods
2021-02-22 18:31:33 +09:00
Dean Herbert
487a39eea9
Update interface implementations with framework changes
2021-02-18 18:52:34 +09:00
Dean Herbert
880fe82073
Add sample wrapper in LegacySkin to keep a reference and avoid GC death
2021-02-18 18:32:51 +09:00
Dean Herbert
4aff54412a
Move dispose method to end of file
2021-02-18 18:32:39 +09: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
Bartłomiej Dach
3c1a86d11d
Trim braces for consistency
2021-01-15 22:04:45 +01:00
Dean Herbert
ebbc32adfa
Change conditional used to decide legacy judgement animation to match stable
...
In stable, the type of legacy judgement to show is based on the presence
of particle textures in the skin. We were using the skin version
instead, which turns out to be incorrect and not what some user skins
expect.
Closes #11078 .
2021-01-15 14:51:27 +09:00
Dean Herbert
13ef097a53
Annotate potentially null parameters in protected ctor of LegacySkin
2020-12-22 12:08: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
Firmatorenio
2108844319
apply ScorePosition to the judgement container
2020-12-13 22:01:08 +06:00
Dean Herbert
9d04ce75cc
Make particles additive and consume in judgement explosions
2020-11-19 15:47:02 +09:00
Dean Herbert
85c5c68dfa
Provide particle drawable as a function (for future use)
2020-11-19 13:20:21 +09:00
Dean Herbert
c47e70da9b
Update animations for new/old miss style and add fades
2020-11-18 19:03:34 +09:00
Dean Herbert
5bd4ace37f
Split out new and old style legacy judgement pieces
2020-11-18 19:03:34 +09:00
Dean Herbert
dd4b69feab
Add legacy judgement implementation which doesn't transform on animations
2020-11-17 15:46:57 +09:00
Dean Herbert
bc69ed3870
Simplify sample lookup
2020-10-30 22:33:27 +09:00
Dean Herbert
b906736b85
Remove redundant initialisation
2020-10-30 12:28:40 +09:00
Dean Herbert
d319b27b3d
Run sample lookup logic through getFallbackNames
2020-10-30 11:59:41 +09:00
smoogipoo
dfbc0965e4
Merge branch 'master' into peppy/skinnable-health-display
2020-10-16 23:17:17 +09:00
Dean Herbert
e87f515a4f
Merge pull request #10522 from Morilli/legacyskin-fixes
...
Add support for ScorePrefix and ScoreOverlap values in legacy skins
2020-10-16 20:54:03 +09:00
Dean Herbert
a774de2270
Also add support in LegacyComboCounter
2020-10-16 17:52:22 +09:00
Dean Herbert
3ce6d1fea1
Remove unnecessary AccuracyText enum
...
All elements use "score" regardless.
2020-10-16 17:36:54 +09:00
Dean Herbert
e9c4b67cf4
Inline variable
2020-10-16 17:35:35 +09:00
Dean Herbert
05f1017c28
Fix lookup check not being updated to use prefix
2020-10-16 17:35:21 +09:00
Dean Herbert
5be9e30cd0
Add legacy implementation
2020-10-16 17:08:46 +09:00
Morilli
df1db8611c
move skin-specific config retrieval to GetDrawableComponent
2020-10-16 08:36:20 +02:00
Dean Herbert
88ffcb9234
Update EndsWith usages
2020-10-16 12:58:34 +09:00
Dean Herbert
254eba9008
Add and consume skinnable accuracy counter
2020-10-15 17:53:16 +09:00
Dean Herbert
90ff8ff050
Merge branch 'skinnable-combo-counter' into skinnable-score-display
2020-10-15 17:52:06 +09:00
Dean Herbert
37e9f331ad
Simplify score font lookup
2020-10-15 17:49:55 +09:00
Dean Herbert
e1da64398e
Add and consume skinnable score counter
2020-10-15 17:14:42 +09:00
Dean Herbert
9bb8a43bce
Combine LegacyComboCounter and ComboCounter classes
2020-10-14 19:16:34 +09:00
Dean Herbert
fbbea48c8c
Add score text skinnability
2020-10-14 19:16:34 +09:00
Dean Herbert
2fce064e32
Add basic legacy combo counter and updating positioning logic
2020-10-14 19:16:34 +09:00