1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 15:17:27 +08:00
Commit Graph

1676 Commits

Author SHA1 Message Date
Bartłomiej Dach
4d46a8f32d
Merge branch 'master' into skin-editor-dont-show-save-on-no-change 2023-02-02 19:36:23 +01:00
Bartłomiej Dach
6c0aada86a
Merge pull request #22490 from peppy/skin-overlay-namespace
Move skin editor to overlays namespace
2023-02-02 18:14:16 +01:00
Dean Herbert
015f4f2b38 Avoid showing skin save message when changing scenes after making no changes 2023-02-02 18:42:37 +09:00
Dean Herbert
229fb518dc Apply NRT to LegacyJudgementPieceOld 2023-02-02 14:19:00 +09:00
Dean Herbert
183d1c5bd6 Change version comparison to match other existing code as proposed in review 2023-02-02 14:18:49 +09:00
Dean Herbert
263a7e2766 Merge branch 'master' into misses-animation 2023-02-02 14:08:15 +09:00
Dean Herbert
8dc2e6872e Move skin editor to overlays namespace 2023-02-02 14:00:31 +09:00
Dean Herbert
10df64467a
Merge pull request #22430 from peppy/skin-editor-nrt
Apply NRT to all skin editor classes
2023-02-02 13:57:57 +09:00
tsrk
0fb6a63709
refactor: change namespacing to allow osu-localisation-analyzer to process all strings 2023-02-02 00:46:14 +00:00
tsrk
8645e705fd
feat: add localisation for Skin editor components 2023-02-01 23:48:05 +00:00
Bartłomiej Dach
c5e1f54185
Fix sample store creation mutating shared resource store 2023-01-30 20:48:52 +01:00
Dean Herbert
74ab036f3e Refactor SkinnableSound.Samples to be non-nullable 2023-01-27 19:32:30 +09:00
Dean Herbert
8a9a6c733c
Apply missed cleanup to BackgroundDependencyLoader call
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-01-27 13:55:34 +09:00
EXtremeExploit
758b4c8cfc
Do the thing aka fix the if 2023-01-26 10:01:33 -03:00
Dean Herbert
4352c56c3e Apply NRT to all simple auxiliary skin classes 2023-01-26 17:53:04 +09:00
Dean Herbert
2017ac1135 Apply NRT to all skin editor classes 2023-01-26 17:52:53 +09:00
Dean Herbert
64e7f6f138 Add more documentation around the implementation of FontAdjustableSkinComponent 2023-01-26 16:05:07 +09:00
Dean Herbert
d63719a602 Move and rename the base component class 2023-01-26 16:04:56 +09:00
Dean Herbert
48885d40cc
Merge branch 'master' into skin-fonts 2023-01-26 15:52:54 +09:00
Dean Herbert
f3c92749bf Fix code quality issues 2023-01-26 15:43:03 +09:00
EXtremeExploit
bcecc49092
Only do misses animations on modern skins 2023-01-25 23:05:11 -03:00
EXtremeExploit
a6fc3ce477
bring comment back 2023-01-25 20:38:55 -03:00
Bartłomiej Dach
fd495e87f7
Fix GetAsync() not limiting texture dimensions 2023-01-25 19:02:35 +01:00
EXtremeExploit
fc968d1d89
del extra newline 2023-01-25 14:38:02 -03:00
EXtremeExploit
a4a94cb96e
Add movement to misses in osu ruleset 2023-01-25 14:34:00 -03:00
Dean Herbert
7bb6337d2e Fix nullability (thanks bdach for patch) 2023-01-25 14:43:46 +09:00
Dean Herbert
8caf960f9a Revert weird nullable changes to Skin.cs 2023-01-25 14:43:46 +09:00
Dean Herbert
0a9b20d5d5 Split lookup store into own file / class 2023-01-25 14:43:46 +09:00
Dean Herbert
c1a5c16973 Reduce maximum texture size to a more commonly-supported 8192 2023-01-25 14:43:46 +09:00
Dean Herbert
d000a4ed28 Make sure to dispose of the original texture upload as we are replacing it 2023-01-25 14:43:46 +09:00
Dean Herbert
598c6fcbad Add basic support for stupidly long hold note skin textures 2023-01-25 14:43:46 +09:00
Bartłomiej Dach
b62ff8d644
Merge branch 'master' into skin/argon-song-progress-cleaner 2023-01-18 23:52:12 +01:00
Dean Herbert
4ef940653b Fix legacy judgement animation not matching perfectly
This will be the final attempt to get it right. I was seemingly drunk
last time I wrote the logic.

Closes #21892.
2023-01-18 19:03:04 +09:00
Dean Herbert
5429979049 Combine common code into SongProgress base class 2023-01-18 15:23:55 +09:00
Dean Herbert
65bd2e74fd Merge branch 'master' into skin/argon-song-progress-cleaner 2023-01-17 18:00:42 +09:00
ansel
133b9b79d7 Do not touch "currently editing" line 2023-01-16 22:52:17 +03:00
ansel
17aeb0ec19 Localise editor's UI 2023-01-16 19:55:28 +03:00
ansel
6eb5508404 Localise menu bar 2023-01-16 19:39:50 +03:00
Dean Herbert
d2309feec2
Merge branch 'master' into skin/argon-song-progress-cleaner 2023-01-12 19:49:27 +09:00
Dean Herbert
e9571be4ab Fix incorrect application layer causing completely discoloured circles 2023-01-11 19:29:17 +09:00
Dean Herbert
a87debab0f Fix kiai flash opacity on legacy skins being too intense 2023-01-11 19:29:17 +09:00
tsrk
91cde5ffbf
feat(hud/gameplay): implement Argon variant of SongProgress 2023-01-09 21:59:48 +01:00
Dean Herbert
811a562608 Don't use bindables to avoid potential cross-usage contamination 2023-01-10 01:10:20 +09:00
Dean Herbert
62ffb4fe78 Pause imports during active gameplay 2023-01-09 18:54:11 +09:00
Berkan Diler
c7ca4bbba5 Use generic Enum methods 2022-12-26 20:36:39 +01:00
Jamie Taylor
f7c854f1b0
Change asset folder 2022-12-20 21:18:51 +09:00
Dean Herbert
2f0c772dcb
Add argon pro skin 2022-12-20 21:18:51 +09:00
Dean Herbert
192536643c Fix some more inspections 2022-12-16 20:21:19 +09:00
Dean Herbert
ba54551313 Merge branch 'master' into guard-url-protocols 2022-12-16 18:23:16 +09:00
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
cdwcgt
6ef5b2733f
Export instead of ExportCurrentSkin 2022-12-15 21:41:15 +09:00
Dean Herbert
b8904fe747 Move ImportParameters to better home 2022-12-13 21:41:26 +09:00
Dean Herbert
cb16d62700 Hook up ImportParameter flow with IModelImporter caller methods 2022-12-13 21:29:32 +09:00
Dean Herbert
cf2719d4c0 Convert batchImport parameter to parameters class to allow further import configuration 2022-12-13 19:55:18 +09:00
cdwcgt
e02b8cb199
Group export methods into their respective managers 2022-12-11 18:30:24 +09:00
ansel
b240d15731 Fix numeric font 2022-12-03 23:38:50 +03:00
ansel
8174f6be64 Get rid of dublicated enum 2022-12-03 23:32:17 +03:00
ansel
b41f30c868 Allow changing font of text elements 2022-12-03 22:44:54 +03:00
ansel
0db6c2ada1 Add enum with font types 2022-12-03 22:38:11 +03:00
Bartłomiej Dach
212d78865a
Add a few more missing partial specs 2022-11-26 16:30:52 +01:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
C0D3 M4513R
4b44f31b5e
Use LocaliseableStings in BeatmapAttributeText 2022-11-23 21:02:43 +01:00
Dean Herbert
774f70e380 Simplify class structure 2022-11-23 16:56:40 +09:00
Dean Herbert
0749a7bb07 Simplify attribute assignment 2022-11-23 16:53:36 +09:00
Dean Herbert
0f034606fd Use LocalisableDescription from BeatmapOnlineStatus enum instead of locally defined 2022-11-23 16:49:51 +09:00
Dean Herbert
a8af83e62a Move label initialisation out of ctor 2022-11-23 16:49:39 +09:00
Dean Herbert
27473262af Rename attributes in enum to match better with user expectations 2022-11-23 16:45:46 +09:00
Dean Herbert
b89689a34a Rename class and reword settings text/tooltips to avoid clashing with other naming 2022-11-23 16:31:50 +09:00
C0D3 M4513R
93ab1c9432
Merge branch 'master' into beatmap-info 2022-11-21 09:01:24 +00:00
Dean Herbert
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
Dean Herbert
e19ba65f91 Remove LookupName from base ISkinComponentLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
1aa0e40f2f Add "Component" prefix to lookup naming 2022-11-09 17:46:43 +09:00
Dean Herbert
e75c3b3f94 Rename SkinnableTarget to GlobalSkinLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
c908969d9b Rename ISkinComponent to ISkinLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
ab458320c4 Fix some lingering inspections 2022-11-09 17:46:24 +09:00
Dean Herbert
d4251271d8 Apply nullability to SkinnableDrawable 2022-11-09 13:59:13 +09:00
Dean Herbert
bf26dbffc2 Apply nullability to skinning support classes 2022-11-09 13:59:13 +09:00
C0D3 M4513R
ab650d8a1b
Use AutoSizeAxes 2022-11-07 15:22:20 +01:00
C0D3 M4513R
28ab092b6f
Simplify the whole Templating process 2022-11-07 07:55:42 +01:00
C0D3 M4513R
a435e365ea
Allow for the Value of BeatmapInfoDrawable to be formatted 2022-11-03 18:54:55 +01:00
C0D3 M4513R
502bfa950e
Fix potential resource leak 2022-11-03 08:05:26 +01:00
C0D3 M4513R
95e2521ca4
Use more Localisations 2022-11-02 13:56:55 +01:00
C0D3 M4513R
2e5db5e259
Remove nullable disable from TextElement 2022-11-02 13:24:05 +01:00
C0D3 M4513R
ed7e3a29e2
Add Localisation
Also add Labels for what is displayed, and prefix/suffix for Labels
Add a Prefix and Suffix for Values
2022-11-02 13:00:45 +01:00
C0D3 M4513R
975eed964e
Don't make Beatmap in OsuGameBase public
Signed-off-by: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com>
2022-11-01 21:19:01 +01:00
C0D3 M4513R
c231a20cbb
Add a generic text Element
Signed-off-by: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com>
2022-11-01 20:54:52 +01:00
C0D3 M4513R
905ebc3c1f
Initial implementation of a Beatmap Information Skinning Element
Signed-off-by: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com>
2022-11-01 20:46:32 +01:00
Dean Herbert
42eafe318c Remove various simple obsoletions 2022-10-28 13:20:58 +09:00
Dean Herbert
7dbd6e2469
Merge branch 'master' into taiko-kiai-flashing 2022-10-21 12:48:35 +09:00
Joseph Madamba
bf4a91f1f0 Fix skin toolbox component button not playing hover/click sounds 2022-10-20 13:16:03 -07:00
Salman Ahmed
eb386d4bd5 Enable slider ball tint in default legacy skin 2022-10-20 03:29:25 +03:00
Joppe27
9b123e7365 Adjust flash intensity and fade values to feel better 2022-10-19 00:51:44 +02:00
Joppe27
a76a039722 Rename KiaiFlashingDrawable and move to osu.Game 2022-10-18 23:40:43 +02:00
Dean Herbert
8bf4ca4b53 Add legacy skin fallback when beatmap skin is providing resources 2022-10-12 17:47:20 +09:00
Dean Herbert
fd20515a6d Don't throw if LegacySkin doesn't have a transformer encapsulating it
This allows for more flexibility in lookups.
2022-10-12 17:29:17 +09:00
Dean Herbert
1c93551590 Remove completely incorrect check before applying ruleset transformer 2022-10-12 17:07:13 +09:00
Dean Herbert
cb21126623
Merge pull request #20586 from ekrctb/time-based-selection
Use hit object time for timeline drag selection instead of relying on blueprint
2022-10-11 13:20:15 +09:00
D.Headley
5d2e3dcf4a Remove leftover Enum 2022-10-09 22:52:54 +02:00
Dean Herbert
a543222a2b Add ability to pad stage vertically 2022-10-07 15:45:35 +09:00
Dean Herbert
eea3d5adb8 Standardise column index naming and xmldoc 2022-10-07 15:24:36 +09:00
Dean Herbert
13e0a59f70 Add note about why LegacyManiaSkinConfigurationLookup exist 2022-10-07 15:24:36 +09:00
Dean Herbert
3947011baf Fix regression in legacy dual stage handling logic 2022-10-07 15:24:36 +09:00
ekrctb
6164e0896a Don't reselect already selected items in SelectAll 2022-10-07 10:46:07 +09:00
ekrctb
0d448e6cc8 Fix items without blueprints are not deselected 2022-10-06 13:50:56 +09:00
Dean Herbert
5243ff3c22 Add argon combo colours
I'm 99% sure these are just test colours flyte was using, but they look good
so let's go with them. I've added two new colours to increase the default
combo colour rotation to 6. The initial ordering still matches, for whatever
that's worth.
2022-09-22 19:49:32 +09:00
Dean Herbert
74aefdc5bd Move basic transformer behaviour to base abstract class 2022-09-22 18:53:43 +09:00
Dean Herbert
ea7c5458fe Fix sprite dropdown not showing resources from non-legacy skins during gameplay 2022-09-22 18:53:43 +09:00
Dan Balasescu
70bab81282
Merge pull request #20377 from peppy/argon-skin
Add new default "argon" skin
2022-09-22 14:50:43 +09:00
Dean Herbert
992441b9de Disable alpha component parsing in beatmap / skin colour sections 2022-09-21 16:11:41 +09:00
Dean Herbert
4492a26b59
Merge branch 'master' into argon-skin 2022-09-21 13:00:16 +09:00
Salman Ahmed
b8f2e13503 Avoid catching all exceptions raising from skin instance creation 2022-09-20 22:27:27 +03:00
Dean Herbert
b55aa68177 Remove xmldoc on private fields 2022-09-19 23:16:46 +09:00
Dean Herbert
0f7b38f4c3 Add new default skin "argon" 2022-09-19 23:16:46 +09:00
Dean Herbert
6a06a5b1b5 Reword fallback instantiation handling comment to hopefully explain things better 2022-09-18 18:20:28 +09:00
Dean Herbert
d0b8409de5 Apply more renames 2022-09-18 18:19:00 +09:00
Dean Herbert
41e69fbca6 Remove "default" prefix from naming 2022-09-18 00:15:26 +09:00
Dean Herbert
1b475f9360 Ensure skin InstantiationInfo is updated when saving 2022-09-18 00:12:43 +09:00
Dean Herbert
487378f732 Fallback to default skin if instantiation fails 2022-09-17 23:57:25 +09:00
Dean Herbert
3e28ab72ce Standardise default skin names 2022-09-17 23:57:25 +09:00
Dean Herbert
51841988bf Rename references to DefaultSkin to have Triangles suffix 2022-09-17 23:57:25 +09:00
Dan Balasescu
e95983cdb4
Merge branch 'master' into fix-skin-flow 2022-09-16 20:15:51 +09:00
Dean Herbert
c7f8f948b9 Rename CreateLegacySkinProvider to CreateSkinTransformer and apply to all skins 2022-09-15 20:18:10 +09:00
Dean Herbert
28b15e232d Remove all EF models 2022-09-15 16:59:36 +09:00
Salman Ahmed
5fba21d658 Rename parameter to clarify purpose 2022-09-13 02:21:01 +03:00
Dean Herbert
f31deaef7c Simplify skin bindable flow
Now, nothing touches the configuration apart from `OsuGame`, making
everything else flow better and avoid weird cyclic set bugs.

Closes https://github.com/ppy/osu/issues/20234.
2022-09-12 19:51:50 +09:00
Dean Herbert
e29f5cb456 Fix new-style legacy skins with animated judgements not adding correct transforms
Closes #16173.
2022-09-12 18:54:06 +09:00
cdwcgt
d1e27e8a69
add arrow short cut for skin editor
basically from `ComposeBlueprintContainer` because they have the same logic
2022-09-08 23:14:34 +08:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Dean Herbert
ac99c1ad69 Migrate the majority of existing file lookups to use new extension methods 2022-08-10 16:01:16 +09:00
Dean Herbert
237f72efbc Add missing null check on AudioManager 2022-08-08 13:31:57 +09:00
Dan Balasescu
c4b9b2a14b Merge branch 'master' into irenderer-glwrapper 2022-08-05 20:35:06 +09:00
Dan Balasescu
6632367c6d Ensure skin samples are looked up in correct order 2022-08-04 14:48:12 +09:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Dean Herbert
5b98a73edc Apply nullability to SkinComponentToolbox and split out reflection method to get all skinnable components 2022-08-01 14:04:08 +09:00
Dean Herbert
93b783d9ea Fix previous skins not loading due to namespace changes 2022-07-31 03:25:38 +09:00
Dean Herbert
3005ff1b9f Merge branch 'master' into pie-chart-progress 2022-07-28 22:19:27 +09:00
Dean Herbert
4b140e1f5a Adjust metrics 2022-07-28 18:50:46 +09:00
Dean Herbert
ea027eda46 Move initial show to base implementation and add transition for legacy version 2022-07-28 18:29:49 +09:00
Dean Herbert
bfa026879c Remove pointless null check 2022-07-28 18:28:03 +09:00
Nitrous
0d36907cad
apply code quality fixes 2022-07-28 15:30:45 +08:00
Nitrous
db62d4be3a
apply suggestions
- refactor `SongProgress`
- make`UpdateProgress` more readable
- enable NRT on new classes
- refactor `TestSceneSongProgress` to use `GameplayClockContainer`
2022-07-28 15:15:41 +08:00
Nitrous
9088caa377
move LegacyComboCounter to osu.Game.Skinning 2022-07-28 08:36:26 +08:00
Nitrous
a222278710
remove unused using 2022-07-27 16:01:35 +08:00
Nitrous
37e642b0bd
make SongProgress abstract
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Nitrous
a12676c25d
scale down graph from bleeding through border 2022-07-27 14:35:18 +08:00
Dean Herbert
d8e605d8aa Fix broken tests due to badly reimplemented copy-pasted code 2022-07-27 13:58:01 +09:00
Dean Herbert
62ca3aada6 Transfer TODO comment across to copy-pasted implmentation 2022-07-27 13:53:27 +09:00
Dean Herbert
b803ec543f Remove unused combo DI retrieval 2022-07-27 13:50:03 +09:00
Nitrous
842ab3c5c1
remove unused using 2022-07-27 09:41:58 +08:00
Nitrous
3abf44da91
Merge branch 'master' into pie-chart-progress 2022-07-27 08:53:23 +08:00
Nitrous
a2320aeb27
replace SongProgress with LegacySongProgress 2022-07-27 08:52:27 +08:00
Nitrous
6b0f3674c3
implement LegacySongProgress 2022-07-27 08:51:55 +08:00
Dean Herbert
8370ca9765 Add ImportAsUpdate method to IModelImporter to avoid otehr changes 2022-07-26 15:49:04 +09:00
Dan Balasescu
f87efae115
Merge pull request #19293 from peppy/skin-editor-save-hotkey
Add the ability to save in the skin editor using system save hotkey
2022-07-22 14:43:34 +09:00
Dean Herbert
f713253d1b Fix formatting inconsistencies in empty ctors 2022-07-22 14:00:29 +09:00
Dean Herbert
92f59ce9a0 Add the ability to save in the skin editor using system save hotkey 2022-07-22 13:10:18 +09:00
LukynkaCZE
ed94d7fce8 Fix requested changes 2022-07-22 02:46:17 +02:00
LukynkaCZE
5987acfbca Fixed code formatting 2022-07-19 22:59:25 +02:00
LukynkaCZE
51a0b5afdc Skin Editor 2022-07-19 22:18:19 +02:00
Salman Ahmed
69d967172a Remove unencessary null coalesce 2022-07-16 06:39:05 +03:00
Dean Herbert
426c53fe65 Fix potential null being sent to extension method which doesn't support it 2022-07-02 12:50:28 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert
dbae4c6f5a PostImport -> PresentImport 2022-06-20 18:36:29 +09:00
Dean Herbert
92f1a2958c Rename Import(TModel) to ImportModel to differentiate from other import methods 2022-06-20 15:18:07 +09:00
Dean Herbert
a6c8a832aa Remove Import(ArchiveReader) and redirect existing usages to Import(ImportTask) 2022-06-20 15:14:57 +09:00
Dean Herbert
329f1a0822 Add test coverage of original fail case and improve test reliability and code quality 2022-06-20 14:08:05 +09:00
Gabe Livengood
a5bc769243
clear skineditor selected components on hide 2022-06-19 14:34:52 -04:00
Gabe Livengood
36df1da57f
Revert "stop component transform when skineditor is hidden"
This reverts commit 48ffd6aeb5.
2022-06-19 14:26:02 -04:00
Gabe Livengood
48ffd6aeb5
stop component transform when skineditor is hidden 2022-06-17 11:28:58 -04:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
e66ccfd980 Add back missing notification flow 2022-06-16 19:48:18 +09:00
Dean Herbert
72c5b9009d Remove local realm fields in manager classes 2022-06-16 18:56:53 +09:00
Dean Herbert
f3984d98e6 Remove RealmArchiveModelManager from hierarchy 2022-06-16 18:53:13 +09:00
Dean Herbert
4d9e3d1982 Rename Score/Skin ModelManager classes to Importer for now 2022-06-16 18:11:50 +09:00
Dean Herbert
f23ddfe6cc Move remaining realm classes out of Stores namespace 2022-06-15 21:56:00 +09:00
Dean Herbert
88d5e074a8 Rename lowPriority to batchImport 2022-06-15 00:46:00 +09:00
Dean Herbert
f11fe54385 Remove custom hash function flow 2022-06-15 00:42:30 +09:00
Dean Herbert
7affef75b0 Remove unused Import method in SkinManager 2022-06-15 00:26:34 +09:00
Dean Herbert
9f599a5ab4 Remove unused lowPriority flag from one Import method 2022-06-14 19:52:30 +09:00
Dean Herbert
ca0765a932 Tidy up various delegation implementations 2022-06-14 19:46:59 +09:00
Dan Balasescu
561a932d17
Merge pull request #18587 from peppy/skin-editor-fix-sizing
Fix skin editor not accounting for aspect ratios in base-game sizing logic
2022-06-07 13:19:50 +09:00
Dan Balasescu
86b685f7e4
Merge pull request #18589 from peppy/skin-bool-parsin
Change `skin.ini` boolean parsing to match osu!stable
2022-06-07 10:11:07 +09:00
Dean Herbert
46eba86ad1 Remove unintended left-over invalidation code 2022-06-07 09:29:30 +09:00
Dean Herbert
3862681d94 Change skin.ini boolean parsing to match osu!stable
Closes https://github.com/ppy/osu/issues/18579.
2022-06-06 19:43:09 +09:00
Dean Herbert
a8764b67e1 Add padding and avoid using invalidation (triggers too often when toolbar is being toggled) 2022-06-06 18:28:56 +09:00
Dean Herbert
28c9c61f71 Fix potential null reference in skin editor if target screen is null (during exit)
```csharp
[runtime] 2022-06-06 09:24:31 [verbose]: Host execution state changed to
Stopping
[runtime] 2022-06-06 09:24:31 [error]: An unhandled error has occurred.
[runtime] 2022-06-06 09:24:31 [error]: System.NullReferenceException:
Object reference not set to an instance of an object.
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Game.Skinning.Editor.SkinEditorOverlay.setTarget(OsuScreen target)
in
/Users/dean/Projects/osu/osu.Game/Skinning/Editor/SkinEditorOverlay.cs:line
173
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Threading.Scheduler.Update()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Graphics.Drawable.UpdateSubTree()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
[runtime] 2022-06-06 09:24:31 [error]: at
osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
```
2022-06-06 18:27:54 +09:00
Dean Herbert
003a3de270 Adjust transitions to look better 2022-06-06 18:06:46 +09:00
Dean Herbert
cd0e0fe70f Fix skin editor not accounting for aspect ratios in base-game sizing logic 2022-06-06 18:02:42 +09:00
Salman Ahmed
045e044637 Expose LegacySkinTransformer's underlying skin for pattern-matching 2022-06-04 01:14:42 +03:00
Bartłomiej Dach
9ae019eb39
Move ISamplePlaybackDisabler to more general namespace 2022-05-08 10:38:58 +02:00
Dean Herbert
ee99b94940 Fix return condition from EnsureMutableSkin not accounting for "failed" imports 2022-04-29 13:46:18 +09:00
Dean Herbert
aabe586578 Add return value to EnsureMutableSkin to understand whether a new skin was made 2022-04-28 14:09:30 +09:00
Dean Herbert
ed894d6428
Merge pull request #17941 from frenzibyte/remove-legacy-skin-fallback
Handle all legacy skin component types explicitly and remove texture fallback
2022-04-25 21:55:05 +09:00
Dean Herbert
d2780c2c50 Add a touch more detail to the unsupported skin component exception 2022-04-25 19:06:47 +09:00
Salman Ahmed
0ecda46d93 Deselect mods incompatible with "Autoplay" when entering gameplay via scene library 2022-04-23 23:16:33 +03:00
Salman Ahmed
4bf11df57c Change SpriteComponent accessibility to internal 2022-04-23 19:11:54 +03:00
Salman Ahmed
61078910a6 Handle all skin component types explicitly 2022-04-23 03:34:05 +03:00
Salman Ahmed
69e2e30971 Remove legacy skin component fallback lookup
Has always been a source of hiding actual issues like in https://github.com/ppy/osu/issues/17745 (`sliderfollowcircle` looked up from fallback because there's no transformer), and https://github.com/ppy/osu/issues/17934 (because there's a texture `ok` and that matches the component name `HitResult.Ok`).
2022-04-23 01:06:36 +03:00
Salman Ahmed
56358ef19e Fix legacy skin hit animation lookup falling back to LookupName 2022-04-23 00:35:45 +03:00
Andrei Zavatski
414408140e Improve AnchorOriginVisualiser 2022-04-21 10:16:52 +03:00
Dean Herbert
2202863e1a Split out IPerformFromScreenRunner to allow for easier testing 2022-04-18 17:49:28 +09:00
Dean Herbert
82939b0556 Fix skins getting duplicated when importing after export
Closes #17614.
2022-04-12 00:29:19 +09:00
Bartłomiej Dach
8175741a6c
Merge branch 'master' into fix-storyboard-fallback-animation-frame-count-weirdness 2022-04-07 21:49:32 +02:00
Bartłomiej Dach
3016ce7817
Merge branch 'master' into bindable-safety-skin-editor 2022-04-07 20:59:44 +02:00
Dean Herbert
11b4c5ca87 Fix potential null ref if UpdateTargetScreen is called too early 2022-04-07 23:42:42 +09:00
Salman Ahmed
fb9fe4213d Fix skin texture lookups not handling paths with extensions 2022-04-07 15:07:30 +03:00
Dean Herbert
a4d3afd06d Fix multiple issues with bindable safety in SkinEditor components 2022-04-07 19:12:12 +09:00
Dean Herbert
93bdca5211 Split out GetTextures helper function for LegacySkins 2022-04-07 17:28:48 +09:00
Dean Herbert
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
Dan Balasescu
7623f3b90b
Merge branch 'master' into skin-editor-import-at-cursor 2022-04-05 17:39:11 +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
Dan Balasescu
2ec15a1ebe Fix lookup through transformers 2022-04-05 16:47:15 +09:00
Bartłomiej Dach
f73062a0d6
Revert "Remove nullable on RealmBackedResourceStore realm parameter"
This reverts commit 09e15f5496.
2022-04-04 22:22:55 +02:00
Dean Herbert
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
Dean Herbert
8185020f12 Improve the visual of the missing sprite sprite 2022-04-04 20:35:48 +09:00
Dean Herbert
de30a42558 Add region for import methods and move Dispose to end of time 2022-04-04 20:30:14 +09:00
Dean Herbert
dac5dfde8f Remove unnecessary LazyThreadSafetyMode specification 2022-04-04 20:28:43 +09:00
Dean Herbert
300feadf6a Update SkinnableSprite to match more broad usage 2022-04-04 20:27:46 +09:00
Dean Herbert
09e15f5496 Remove nullable on RealmBackedResourceStore realm parameter 2022-04-04 20:27:03 +09:00
Dan Balasescu
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
Dean Herbert
43d03f2825 Put ToArray call in correct place in brackets 2022-04-01 19:30:16 +09:00
Dean Herbert
01681ee874 Add missing ToArray call
Not sure where this went, was there in my original commit.
2022-04-01 16:19:02 +09:00
Dean Herbert
f0821ce1fc Import new skin editor sprites to the cursor location 2022-04-01 16:16:49 +09:00
Dean Herbert
6afed5e865 Fix new SettingsItem attribute not playing well with non-Drawables 2022-04-01 16:01:33 +09:00
Dean Herbert
bfd3406f5f Ensure that file is imported and caches are invalidated before placing new sprites 2022-04-01 16:01:33 +09:00
Dean Herbert
314ad63c6e Simplify available file lookup and include file extension 2022-04-01 16:01:33 +09:00
Dean Herbert
2b7105ac4f Add a default sprite representation to allow better placeholder display in skin editor toolbox 2022-04-01 16:01:33 +09:00
Dean Herbert
52eeaffce3 Limit lookup resources to images 2022-04-01 16:01:33 +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
66f5eae530 Hook up a dropdown to show all available sprites for the current skin 2022-04-01 15:01:43 +09:00
Dean Herbert
fca9faac9b Add SkinnableSprite for arbitrary sprite additions 2022-04-01 14:36:36 +09:00
Dean Herbert
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
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
Dean Herbert
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
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id 2022-03-30 21:41:45 +02:00
Dean Herbert
ea9495eb74 Update all existing calls to extension method with correct fallback handling 2022-03-29 16:51:30 +09:00
Dean Herbert
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
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
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
Dean Herbert
7296bad294 Convert LegacyBeatmapSkin to use nullable 2022-03-24 00:24:06 +09:00
Dean Herbert
194bf4fb05 Convert LegacySkin to use nullable 2022-03-24 00:23:55 +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