Commit Graph

1274 Commits

Author SHA1 Message Date
8175741a6c Merge branch 'master' into fix-storyboard-fallback-animation-frame-count-weirdness 2022-04-07 21:49:32 +02:00
3016ce7817 Merge branch 'master' into bindable-safety-skin-editor 2022-04-07 20:59:44 +02:00
11b4c5ca87 Fix potential null ref if UpdateTargetScreen is called too early 2022-04-07 23:42:42 +09:00
fb9fe4213d Fix skin texture lookups not handling paths with extensions 2022-04-07 15:07:30 +03:00
a4d3afd06d Fix multiple issues with bindable safety in SkinEditor components 2022-04-07 19:12:12 +09:00
93bdca5211 Split out GetTextures helper function for LegacySkins 2022-04-07 17:28:48 +09:00
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
7623f3b90b Merge branch 'master' into skin-editor-import-at-cursor 2022-04-05 17:39:11 +09:00
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
2ec15a1ebe Fix lookup through transformers 2022-04-05 16:47:15 +09:00
f73062a0d6 Revert "Remove nullable on RealmBackedResourceStore realm parameter"
This reverts commit 09e15f5496.
2022-04-04 22:22:55 +02:00
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
8185020f12 Improve the visual of the missing sprite sprite 2022-04-04 20:35:48 +09:00
de30a42558 Add region for import methods and move Dispose to end of time 2022-04-04 20:30:14 +09:00
dac5dfde8f Remove unnecessary LazyThreadSafetyMode specification 2022-04-04 20:28:43 +09:00
300feadf6a Update SkinnableSprite to match more broad usage 2022-04-04 20:27:46 +09:00
09e15f5496 Remove nullable on RealmBackedResourceStore realm parameter 2022-04-04 20:27:03 +09:00
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
43d03f2825 Put ToArray call in correct place in brackets 2022-04-01 19:30:16 +09:00
01681ee874 Add missing ToArray call
Not sure where this went, was there in my original commit.
2022-04-01 16:19:02 +09:00
f0821ce1fc Import new skin editor sprites to the cursor location 2022-04-01 16:16:49 +09:00
6afed5e865 Fix new SettingsItem attribute not playing well with non-Drawables 2022-04-01 16:01:33 +09:00
bfd3406f5f Ensure that file is imported and caches are invalidated before placing new sprites 2022-04-01 16:01:33 +09:00
314ad63c6e Simplify available file lookup and include file extension 2022-04-01 16:01:33 +09:00
2b7105ac4f Add a default sprite representation to allow better placeholder display in skin editor toolbox 2022-04-01 16:01:33 +09:00
52eeaffce3 Limit lookup resources to images 2022-04-01 16:01:33 +09:00
d1be229d74 Combine SkinSprite into SkinnableSprite 2022-04-01 16:01:33 +09:00
762de3cc97 Replace invalidation logic with local realm notification subscription 2022-04-01 16:01:33 +09:00
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
66f5eae530 Hook up a dropdown to show all available sprites for the current skin 2022-04-01 15:01:43 +09:00
fca9faac9b Add SkinnableSprite for arbitrary sprite additions 2022-04-01 14:36:36 +09:00
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
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
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
9621a7f9cb Merge branch 'master' into fix-autoplay-mod-user-id 2022-03-30 21:41:45 +02:00
ea9495eb74 Update all existing calls to extension method with correct fallback handling 2022-03-29 16:51:30 +09:00
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
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
a0a3bba46e Avoid crashing if a skin component cannot be instantiated correctly 2022-03-25 18:31:26 +09:00
23c4f9910e Apply notnull constraint 2022-03-25 15:54:01 +09:00
2d8d177807 Merge branch 'master' into skin-nullable 2022-03-25 15:36:21 +09:00
e243a7c55d Reword storage param xmldoc to use stronger and better defined langauge 2022-03-24 12:45:11 +09:00
0cd29a73b9 Fix typo in xmldocs 2022-03-24 12:39:47 +09:00
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
7296bad294 Convert LegacyBeatmapSkin to use nullable 2022-03-24 00:24:06 +09:00
194bf4fb05 Convert LegacySkin to use nullable 2022-03-24 00:23:55 +09:00
3e020073c5 Convert Skin to use nullable 2022-03-24 00:23:55 +09:00
05c7e09d79 Make Textures and Samples read-only 2022-03-24 00:02:38 +09:00
6542f974f2 Merge branch 'master' into skin-fuck 2022-03-23 15:30:22 +09:00
078288a616 Make "skin.ini" the default skin filename and remove redundant parameters 2022-03-23 15:05:01 +09:00