Commit Graph

1284 Commits

Author SHA1 Message Date
4763fe54d6 Remove unused store classes 2022-01-12 16:39:36 +09:00
3cd996eb4a Merge branch 'master' into async-deadlock-safety 2022-01-07 17:28:59 +09:00
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
243a1a3cf7 Fix incorrect origin specification for SkinSelectionHandler flips 2022-01-06 14:47:44 +09:00
866ae3472b Add global flip hotkeys 2022-01-05 16:48:07 +09:00
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
089b756f93 Invert logic to make reading easier 2021-12-30 16:03:16 +09:00
ef49f2ed0e Add extra extra safety against attempting to load a previously expired editor 2021-12-30 16:02:31 +09:00
b1a444180f Fix Show then Reset potentially resulting in incorrect load target 2021-12-29 21:46:34 +09:00
471eea750a Fix calling SkinEditorOverlay.Show before the overlay is loaded causing an exception
As seen at https://github.com/ppy/osu/runs/4652969942?check_suite_focus=true.
2021-12-29 21:18:17 +09:00
724b601d2a Rename AllowSampleLookup argument to something saner 2021-12-26 14:29:07 +01:00
dc21c8901e Always allow looking up storyboard samples from beatmap skin 2021-12-26 14:25:28 +01: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
8d9c37a825 Merge branch 'master' into primary-key-consistency 2021-12-08 21:34:38 +09:00
7ef960839b Merge pull request #15898 from peppy/skin-export-instntiation-info
Serialise and deserialise `SkinInfo.InstantiationInfo` to allow for more correct imports
2021-12-06 22:08:20 +09:00
07abcf04b4 Merge branch 'master' into realm-integration/skins-filename-lookup-performance 2021-12-06 17:13:33 +09:00
68b482fc48 Merge branch 'master' into skin-export-instntiation-info 2021-12-06 17:12:42 +09:00
452fa93444 Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 15:21:02 +09:00
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
e4b296e16e Use OptIn serialisation on SkinInfo to avoid writing unnecessary information 2021-12-03 16:36:27 +09:00
cdf2fa9930 Serialise and deserialise SkinInfo.InstantiationInfo to allow for more correct imports
Until now, skins were always imported using the `LegacySkin`
instantiation type. For cases where a user has edited the lazer or
classic default (via the new skin editor), which would result in
incorrect fallback paths after exporting and importing the edited skin.
2021-12-02 18:05:16 +09:00
0e82e9355b Ensure skin is saved immediately after becoming mutable
Without doing this, the JSON content is not written to the file. A user
assumption is that as soon as a skin shows up in the skin list as
exportable, it should export correctly, so it makes sense that it should
be in a sane state even if the user has not made any changes in the skin
editor yet.

Going forward, we might move more of the json serialisation logic out,
and run for consistency as part of the import process. This seems like
the simplest way to guarantee things for now, though.
2021-12-02 17:42:17 +09:00
fe99d4e984 Standardise parameter naming across all file IO methods 2021-12-02 17:19:53 +09:00
505608ab12 Merge branch 'realm-integration/skins-rebase' into realm-integration/skins-filename-lookup-performance 2021-12-02 14:01:39 +09:00
0a14acfd83 Fix incorrect conditional on export/mutate feasability of skin 2021-12-02 13:41:58 +09:00
4f826589e5 Remove subscription logic for the time being 2021-12-02 12:20:07 +09:00
1cf1543866 Fix test failures due to attempting to subscribe to non-managed instances 2021-12-01 13:50:19 +09:00
9411b42d0a Cache skin filename to path mapping to reduce realm lookups during gameplay skin changes 2021-12-01 02:27:41 +09:00
0efd565c8b Remove forgotten using statement 2021-11-30 15:41:07 +09:00
6bf9327228 Add linking property on SkinFileInfo to allow EF to understand the link post-rename 2021-11-30 15:17:16 +09:00
0d18c83d75 Simplify deletion by adding always present conditionals to Delete method 2021-11-29 18:28:25 +09:00
f6a3709060 Store default skins to database 2021-11-29 18:28:25 +09:00
c629a7a36f Fix random selection and avoid using legacy events for handling skin import/deletion 2021-11-29 18:28:25 +09:00
29d074bdb8 Implement missing behaviours required for skin file operations via RealmArchiveModelManager 2021-11-29 18:28:25 +09:00
e2d9a685d7 Update skin implementations to match new structures 2021-11-29 18:28:25 +09:00
6b55de2845 Use ILive for Skin.SkinInfo 2021-11-29 18:28:25 +09:00
23146d59d1 Use ILive for current skin 2021-11-29 18:28:25 +09:00
2a9c7c00c8 Update tests and file access code 2021-11-29 18:28:25 +09:00
3db5646fa8 Create Guid constants for system skins (and store skin choice to configuration as guid) 2021-11-29 18:28:25 +09:00
e283379f0e Replace EF SkinInfo with realm implementation 2021-11-29 18:28:25 +09:00
0a961fd9d8 Replace usages of IHasFiles with IHasRealmFiles 2021-11-29 18:28:25 +09:00
94b10492be Update legacy SkinManager to match new interface 2021-11-29 18:20:07 +09:00
cc1b91e4bd Split out legacy model export logic into LegacyModelExporter classes 2021-11-25 16:41:12 +09:00
7488ccd5fe Update all models to implement IHasNamedFiles 2021-11-25 16:41:12 +09:00
6cab7b877d Move stable import handling into its own class 2021-11-25 15:36:58 +09:00
2bfc473689 Split out SkinModelManager from SkinManager 2021-11-25 15:14:43 +09:00
016684b52d Remove unreachable code 2021-11-24 20:29:47 +09:00
99a139dc98 Initialise all file lists at construction time (and remove setter) 2021-11-24 13:56:21 +09:00
83b4625bd5 Replace existing cases with new helper method 2021-11-19 22:15:41 +09:00