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
7623f3b90b
Merge branch 'master' into skin-editor-import-at-cursor
2022-04-05 17:39:11 +09:00
Dan Balasescu
2b59f76b2d
Merge pull request #17596 from peppy/skin-editor-sprites
...
Allow importing sprites into a skin via drag-and-drop
2022-04-05 17:38:58 +09:00
Dan Balasescu
2ec15a1ebe
Fix lookup through transformers
2022-04-05 16:47:15 +09:00
Bartłomiej Dach
f73062a0d6
Revert "Remove nullable on RealmBackedResourceStore
realm parameter"
...
This reverts commit 09e15f5496
.
2022-04-04 22:22:55 +02:00
Dean Herbert
5f358a04e9
Return a valid "lighting" response from DefaultSkin
...
This is temporary to allow the new sprite lookup flow to potentially be
merged before hit lighting skinnability is addressed.
2022-04-04 20:40:20 +09:00
Dean Herbert
8185020f12
Improve the visual of the missing sprite sprite
2022-04-04 20:35:48 +09:00
Dean Herbert
de30a42558
Add region
for import methods and move Dispose
to end of time
2022-04-04 20:30:14 +09:00
Dean Herbert
dac5dfde8f
Remove unnecessary LazyThreadSafetyMode
specification
2022-04-04 20:28:43 +09:00
Dean Herbert
300feadf6a
Update SkinnableSprite
to match more broad usage
2022-04-04 20:27:46 +09:00
Dean Herbert
09e15f5496
Remove nullable on RealmBackedResourceStore
realm parameter
2022-04-04 20:27:03 +09:00
Dan Balasescu
6776c37bbc
Merge pull request #17592 from peppy/skin-mutation-better-naming
...
Fix automatically created "(modified)" skins getting conflicting names
2022-04-01 21:25:10 +09:00
Dean Herbert
43d03f2825
Put ToArray
call in correct place in brackets
2022-04-01 19:30:16 +09:00
Dean Herbert
01681ee874
Add missing ToArray
call
...
Not sure where this went, was there in my original commit.
2022-04-01 16:19:02 +09:00
Dean Herbert
f0821ce1fc
Import new skin editor sprites to the cursor location
2022-04-01 16:16:49 +09:00
Dean Herbert
6afed5e865
Fix new SettingsItem
attribute not playing well with non-Drawable
s
2022-04-01 16:01:33 +09:00
Dean Herbert
bfd3406f5f
Ensure that file is imported and caches are invalidated before placing new sprites
2022-04-01 16:01:33 +09:00
Dean Herbert
314ad63c6e
Simplify available file lookup and include file extension
2022-04-01 16:01:33 +09:00
Dean Herbert
2b7105ac4f
Add a default sprite representation to allow better placeholder display in skin editor toolbox
2022-04-01 16:01:33 +09:00
Dean Herbert
52eeaffce3
Limit lookup resources to images
2022-04-01 16:01:33 +09:00
Dean Herbert
d1be229d74
Combine SkinSprite
into SkinnableSprite
2022-04-01 16:01:33 +09:00
Dean Herbert
762de3cc97
Replace invalidation logic with local realm notification subscription
2022-04-01 16:01:33 +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
66f5eae530
Hook up a dropdown to show all available sprites for the current skin
2022-04-01 15:01:43 +09:00
Dean Herbert
fca9faac9b
Add SkinnableSprite
for arbitrary sprite additions
2022-04-01 14:36:36 +09:00
Dean Herbert
3a16483214
Add prioritised user lookups for default skin
...
This allows user resources to be consumed before falling back to the
game bundled assets.
2022-04-01 14:36:36 +09:00
Dean Herbert
01829cf2d8
Move SkinnableInfo
error handling to lower level
...
Handling was recently added to handle the usage in
`Skin.GetDrawableCompoent`, but it turns out this is also required for
`DrawableExtensions.ApplySkinnableInfo` which can throw in a similar
fashion.
Found while working on sprite support for the editor, where this becomes
an actual issue (ie. switching to a branch where the new sprite support
is not present can cause unexpected crashes).
2022-04-01 14:30:04 +09:00
Dean Herbert
69d4f86122
Fix automatically created "(modified)" skins getting conflicting names
...
Applies the already tested and proven method that is used in the editor
to the mutable skin creation flow.
2022-04-01 14:11:55 +09:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id
2022-03-30 21:41:45 +02:00
Dean Herbert
ea9495eb74
Update all existing calls to extension method with correct fallback handling
2022-03-29 16:51:30 +09:00
Dean Herbert
b5834dabdb
Fix skin editor not exiting correctly when using the menu
...
Closes https://github.com/ppy/osu/issues/17489 .
2022-03-28 20:43:26 +09:00
Dan Balasescu
6c172bac3c
Merge pull request #17448 from peppy/fix-skin-component-crash-on-instantiation-failure
...
Avoid crashing if a skin component cannot be instantiated correctly
2022-03-25 19:41:52 +09:00
Dean Herbert
a0a3bba46e
Avoid crashing if a skin component cannot be instantiated correctly
2022-03-25 18:31:26 +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
e243a7c55d
Reword storage
param xmldoc to use stronger and better defined langauge
2022-03-24 12:45:11 +09:00
Dean Herbert
0cd29a73b9
Fix typo in xmldocs
2022-03-24 12:39:47 +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
7296bad294
Convert LegacyBeatmapSkin
to use nullable
2022-03-24 00:24:06 +09:00
Dean Herbert
194bf4fb05
Convert LegacySkin
to use nullable
2022-03-24 00:23:55 +09:00
Dean Herbert
3e020073c5
Convert Skin
to use nullable
2022-03-24 00:23:55 +09:00
Dean Herbert
05c7e09d79
Make Textures
and Samples
read-only
2022-03-24 00:02:38 +09:00
Dean Herbert
6542f974f2
Merge branch 'master' into skin-fuck
2022-03-23 15:30:22 +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
9d3c6ade62
Remove unnecessary skin reading hack in DefaultLegacySkin
2022-03-23 14:57:42 +09:00
Dean Herbert
6c405f1dee
Remove storage
override from LegacyBeatmapSkin
2022-03-23 14:57:42 +09:00
Dean Herbert
e56d13d8be
Fix realm backed store not being initialised for some tests
2022-03-23 14:57:42 +09:00
Dean Herbert
00aea9bef0
Only use legacy resources lookup for protected (aka default) skin
2022-03-23 14:57:42 +09:00