Commit Graph

55 Commits

Author SHA1 Message Date
Dean Herbert
9a7fdb2b7e Move skin deletion logic to OsuGameBase to promote thread safety
`CurrentSkinInfo` is used in multiple places expecting thread safety,
while ItemRemoved events are explicitly mentioning they are not thread
safe. As SkinManager itself doesn't have the ability to schedule to the
update thread, I've just moved the logic to `OsuGameBase`. We may want
to move the current skin bindable out of the manager class in the
future to match things like `BeatmapManager`.

Closes https://github.com/ppy/osu/issues/10837.
2020-11-16 16:43:19 +09:00
Dean Herbert
8d38d9cc93 Add hotkey to select random skin 2020-11-11 13:05:03 +09:00
Dean Herbert
a5e13e4d2c Merge branch 'master' into shuffle-skin 2020-11-11 11:34:48 +09:00
Dean Herbert
e89c5c3b3c Add dynamic compile exceptions to fix skin test scenes 2020-10-16 17:08:46 +09:00
Dean Herbert
50eca202f4 User IEnumerable for HandledExtensions 2020-10-02 16:17:10 +09:00
Dean Herbert
1884e0167b Eagerly populate skin metadata to allow usage in hashing computation 2020-09-14 23:31:03 +09:00
Dean Herbert
91d37e0459 Fix typo in comment 2020-09-14 20:17:00 +09:00
Dean Herbert
ef77658311 Add coverage of case where skin.ini doesn't specify name/author 2020-09-11 16:29:14 +09:00
Dean Herbert
15b533f2a4 Hash skins based on name, not skin.ini contents
It is feasible that a user may be changing the contents of skin.ini
without changing the skin name / author. Such changes should not create
a new skin if already imported.
2020-09-11 16:20:54 +09:00
smoogipoo
9f7750e615 Add texture wrapping support to skins 2020-07-17 16:54:30 +09:00
Dean Herbert
052ad79fc6 Convert dangerous events to IBindables 2020-05-19 16:44:22 +09:00
Huo Yaoyuan
dcfa98414f Use ??=. 2019-11-12 19:56:51 +08: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
Dean Herbert
bfbec067b1 Remove remnants of user skin PR 2019-08-30 11:54:36 +09:00
Dean Herbert
40c1c6072e Add "osu!classic" as a bundled skin choice 2019-08-29 16:39:42 +09:00
iiSaLMaN
d8535574d1 Pass sample info to Skin.GetSample 2019-08-23 14:32:43 +03:00
Dean Herbert
c514cbe2b7 Add basic skinning test 2019-07-29 17:27:00 +09:00
Dean Herbert
df5abd9651
Merge branch 'master' into shuffle-skin 2019-07-29 01:55:57 +09:00
Dean Herbert
ba8df3ba92 Clean up stable lookup and mutate logic 2019-07-05 13:59:31 +09:00
Dean Herbert
8346c50ce1 Rename delete method and improve xmldoc 2019-07-05 13:55:25 +09:00
HoLLy
79fc143422 Only remove .osk files when importing skin archives 2019-06-30 16:52:39 +02:00
HoLLy
12350d18b5 Don't remove imported archives by default 2019-06-27 14:41:11 +02:00
HoLLy
802da225d4 Move responsibility for selecting paths to model managers 2019-06-21 17:32:47 +02:00
HoLLy
15c75b4442 Add basic score import from stable 2019-06-19 18:33:51 +02:00
smoogipoo
f090e292c9 Move ArchiveModelManager import process to async flow 2019-06-10 13:42:22 +09:00
Dean Herbert
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
Dean Herbert
3fe4b8fd1c Update variable names
Also cleans up some weird code
2019-02-22 17:51:39 +09:00
smoogipoo
d8c55bc729 Adjust namespaces 2019-02-21 19:05:52 +09:00
smoogipoo
bca347427f Update with framework bindable changes 2019-02-21 18:56:34 +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
Jan Jurzitza
3f6656e2cd
Merge branch 'master' into shuffle-skin 2018-12-04 12:59:31 +01:00
WebFreak001
c4c2191500 Apply requested changes 2018-11-28 12:36:21 +01:00
Dean Herbert
ab2b2493a1 Move hashing functionality to ArchiveModelManager 2018-11-28 19:21:36 +09:00
Dean Herbert
ce660b6d67 Add skin de-duplication 2018-11-28 19:01:22 +09:00
Dean Herbert
75d2cb199c Fix formatting 2018-09-07 18:14:27 +09:00
Dean Herbert
43824c2a94 Switch back to default skin when the user selected skin is deleted 2018-09-03 11:50:50 +09:00
Dean Herbert
fb1e8fbdcf Remove migration code 2018-09-03 10:23:56 +09:00
Dean Herbert
144e80dff6 Add "import all skins from stable" option (and mass delete) 2018-09-03 10:10:04 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
Dean Herbert
0e669c9a3f Fix many warnings 2018-03-24 18:23:22 +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
7272ba2f1b Add migration for skins which didn't get a proper name assigned
Also correctly imports new skins
2018-03-19 20:06:44 +09:00