1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 10:47:28 +08:00
Commit Graph

1269 Commits

Author SHA1 Message Date
Dean Herbert
a4d3afd06d Fix multiple issues with bindable safety in SkinEditor components 2022-04-07 19:12:12 +09: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
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-Drawables 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