Commit Graph

90 Commits

Author SHA1 Message Date
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
e61d2d571c Move the lookup type out of ISserialisableDrawableContainer 2023-02-15 18:37:41 +09:00
a7b47f6503 Rename ISkinnableTarget to ISerialisableDrawableContainer 2023-02-15 18:37:41 +09:00
856efd9fd9 Rename SkinnableDrawableInfo to SerialisedDrawableInfo 2023-02-15 18:23:19 +09:00
8bbd00822c Simplify and rename SkinnableTargetComponentsContainer 2023-02-15 17:30:21 +09:00
c5e1f54185 Fix sample store creation mutating shared resource store 2023-01-30 20:48:52 +01:00
8caf960f9a Revert weird nullable changes to Skin.cs 2023-01-25 14:43:46 +09:00
0a9b20d5d5 Split lookup store into own file / class 2023-01-25 14:43:46 +09:00
c1a5c16973 Reduce maximum texture size to a more commonly-supported 8192 2023-01-25 14:43:46 +09:00
d000a4ed28 Make sure to dispose of the original texture upload as we are replacing it 2023-01-25 14:43:46 +09:00
598c6fcbad Add basic support for stupidly long hold note skin textures 2023-01-25 14:43:46 +09:00
c7ca4bbba5 Use generic Enum methods 2022-12-26 20:36:39 +01:00
eae8530722 Fix SkinnableSprite lookups broken in lazer-first skins
Regressed with removal of local `GetTexture` calls in e19ba65f91
2022-11-13 12:46:21 +09:00
1aa0e40f2f Add "Component" prefix to lookup naming 2022-11-09 17:46:43 +09:00
e75c3b3f94 Rename SkinnableTarget to GlobalSkinLookup 2022-11-09 17:46:43 +09:00
c908969d9b Rename ISkinComponent to ISkinLookup 2022-11-09 17:46:43 +09:00
c4b9b2a14b Merge branch 'master' into irenderer-glwrapper 2022-08-05 20:35:06 +09:00
6632367c6d Ensure skin samples are looked up in correct order 2022-08-04 14:48:12 +09:00
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
93b783d9ea Fix previous skins not loading due to namespace changes 2022-07-31 03:25:38 +09:00
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +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
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
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
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
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
078288a616 Make "skin.ini" the default skin filename and remove redundant parameters 2022-03-23 15:05:01 +09:00
d0ea1739b4 Remove skin configuration stream logic as it is no longer required 2022-03-23 14:57:42 +09:00
e56d13d8be Fix realm backed store not being initialised for some tests 2022-03-23 14:57:42 +09:00
3c38b14228 Documentation improvements 2022-03-23 14:57:42 +09:00
e1236e07ad Fix extensions not being specified in time for realm file caching 2022-03-23 14:57:42 +09:00
35d2f973a3 Prefer provided resource store over realm backed to keep tests working 2022-03-23 14:57:42 +09:00
5c4a74378d Remove Textures and Samples initialisation to Skin 2022-03-23 14:57:42 +09:00
cd71ec0edd Remove ILive<> interface (and use abstract Live<> instead) 2022-01-26 13:38:56 +09:00
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
9d85beddbe Fix null reference in some tests due to missing realm context factory 2021-12-15 11:16:37 +09:00
441b7baa93 Provide a realm factory to usages of ToLive/RealmLive 2021-12-14 14:26:34 +09:00
6b55de2845 Use ILive for Skin.SkinInfo 2021-11-29 18:28:25 +09:00
2a9c7c00c8 Update tests and file access code 2021-11-29 18:28:25 +09:00
99a139dc98 Initialise all file lists at construction time (and remove setter) 2021-11-24 13:56:21 +09:00
59e763467f Move StoragePath implementation to an extension method 2021-11-19 16:08:38 +09:00
5bfb16efe2 Ignore case when searching for existing skin.ini 2021-11-01 14:24:38 +09:00