Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +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
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
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
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
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
078288a616
Make "skin.ini" the default skin filename and remove redundant parameters
2022-03-23 15:05:01 +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
e56d13d8be
Fix realm backed store not being initialised for some tests
2022-03-23 14:57:42 +09:00
Dean Herbert
3c38b14228
Documentation improvements
2022-03-23 14:57:42 +09:00
Dean Herbert
e1236e07ad
Fix extensions not being specified in time for realm file caching
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
cd71ec0edd
Remove ILive<>
interface (and use abstract Live<>
instead)
2022-01-26 13:38:56 +09:00
Dean Herbert
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
Dean Herbert
9d85beddbe
Fix null reference in some tests due to missing realm context factory
2021-12-15 11:16:37 +09:00
Dean Herbert
441b7baa93
Provide a realm factory to usages of ToLive
/RealmLive
2021-12-14 14:26:34 +09:00
Dean Herbert
6b55de2845
Use ILive
for Skin.SkinInfo
2021-11-29 18:28:25 +09:00
Dean Herbert
2a9c7c00c8
Update tests and file access code
2021-11-29 18:28:25 +09:00
Dean Herbert
99a139dc98
Initialise all file lists at construction time (and remove setter)
2021-11-24 13:56:21 +09:00
Dean Herbert
59e763467f
Move StoragePath
implementation to an extension method
2021-11-19 16:08:38 +09:00
Dean Herbert
5bfb16efe2
Ignore case when searching for existing skin.ini
2021-11-01 14:24:38 +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
5303cae044
Add mention of stream close logic
2021-10-24 23:43:37 +09:00
Dean Herbert
93482414d6
Remove SkinConfiguration
subclasses and allow configuration parsing for all skin types
2021-10-22 14:42:23 +09:00
smoogipoo
adff418fd2
Guard against exception in skin deserialisation
2021-10-01 22:17:38 +09:00
Bartłomiej Dach
69fc072429
Ignore skin component json data if deserialisation fails instead
...
Crashing was not really the best thing to do there given the preceding
code that already allowed a few continues in case of a missing file.
2021-05-15 01:08:11 +02:00
Bartłomiej Dach
fa6b5515b7
Ignore possible null from JsonConvert.DeserializeObject()
...
Nothing better can be done if a `null` is indeed returned.
2021-05-15 00:09:34 +02:00
smoogipoo
2f025f1967
SkinnableTargetWrapper -> SkinnableTargetComponentsContainer
2021-05-13 18:54:30 +09:00
Dean Herbert
3ea469813c
Use interface in place of SkinnableTargetContainer
2021-05-13 17:25:51 +09:00
Dean Herbert
106fa97a11
Rename SkinnableElementTargetContainer
to SkinnableTargetContainer
2021-05-13 17:07:38 +09:00
Dean Herbert
3b862798e9
Standardise naming of methods related to SkinnableInfo
2021-05-13 13:14:49 +09:00
Dean Herbert
c93ed541f3
Add xmldoc and tidy up logic in Skin
2021-05-13 13:09:33 +09:00
Dean Herbert
992a052426
Remove stray comment
2021-05-13 13:07:06 +09:00
Dean Herbert
117d6d731d
Move cross-component layout dependencies for legacy skin to LegacySkin
2021-05-11 18:39:14 +09:00
Dean Herbert
bf65547eec
Allow some serialised components to not be mutable by the user
2021-05-11 18:39:14 +09:00
Dean Herbert
c957293ec3
Load json from disk store at skin construction for now
...
This allows for easier mutation without worrying about changes being
re-read from disk unexpectedly.
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
Bartłomiej Dach
aec859b4d1
Merge branch 'master' into fix-unsafe-skinnable-sample-play
2021-03-18 19:51:46 +01:00
Dean Herbert
c4ba045df1
Add note about finalizers required for audio store clean-up
2021-03-02 16:07:51 +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
smoogipoo
9f7750e615
Add texture wrapping support to skins
2020-07-17 16:54:30 +09:00
Dean Herbert
bebc3309ce
Refactor skin configuration to be infinitely extensible
2019-09-03 17:57:34 +09:00
Dean Herbert
a15828ab25
Introduce the concept of SkinComponents
...
Removes reliance on string lookups and better defines elements for introduction into database
2019-08-30 14:55:52 +09:00
iiSaLMaN
d8535574d1
Pass sample info to Skin.GetSample
2019-08-23 14:32:43 +03:00
smoogipoo
0bd35ab7bb
Turn on warnings, resolve issues
2019-04-25 17:36:17 +09:00
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
Dean Herbert
0a24d188b4
Remove TryGetValue as it won't work
2019-01-10 19:01:41 +09:00
Dean Herbert
4cee21f356
Make skinning better
2019-01-07 20:12:39 +09:00
Dean Herbert
32a74f95a5
Normalize all the line endings
2018-04-13 18:26:38 +09:00
Dean Herbert
366b7fca65
Remove GetColour method
2018-03-22 18:50:19 +09:00
Dean Herbert
425d4aa766
Add ability to lookup arbitrary SkinConfiguration values
2018-03-22 18:10:28 +09:00
Dean Herbert
c4fe6a04c5
Use string lookups for combo colours
2018-03-22 17:32:05 +09:00
Dan Balasescu
ab9505652b
Merge branch 'master' into skin--completion
2018-03-22 16:44:00 +09:00
Dean Herbert
f03abb3145
Add GetTexture method to ISkinSource
...
Used to shortcut lookup checks without potentially expensive drawable creation overhead.
2018-03-20 16:40:11 +09:00
Dean Herbert
9ad4e9284a
Add skin source fallback chain
2018-03-20 16:40:11 +09:00
Dean Herbert
dbcf755618
Make Beatmaps parsable as skins
2018-03-20 16:05:29 +09:00
Dean Herbert
397b06283a
Add basic skin configuration decoding support
2018-03-19 20:06:44 +09:00
Dean Herbert
3726db53b5
Allow instantiation of skins
2018-02-23 13:38:12 +09:00