1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-30 08:33:20 +08:00
Commit Graph

1703 Commits

Author SHA1 Message Date
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
Dean Herbert
6542f974f2
Merge branch 'master' into skin-fuck 2022-03-23 15:30:22 +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
7a1909bf97 Change parameter order of LegacySkin to put IStorageResourceProvider first
The optional resource store should not be before the (basically)
required resource provider.
2022-03-23 15:02:04 +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
9d3c6ade62 Remove unnecessary skin reading hack in DefaultLegacySkin 2022-03-23 14:57:42 +09:00
Dean Herbert
6c405f1dee Remove storage override from LegacyBeatmapSkin 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
00aea9bef0 Only use legacy resources lookup for protected (aka default) skin 2022-03-23 14:57:42 +09:00
Dean Herbert
3c38b14228 Documentation improvements 2022-03-23 14:57:42 +09:00
Dean Herbert
32e2cfb8ee Leave realm resource store construction to base class 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
a7f63fb034 Make providing a custom ResourceStore to LegacyBeatmapSkin optional (for tests only) 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
b4d89b4e31 Replace duplicate LegacySkinResourceStore class with RealmBackedResourceStore 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
09ec49e6fa Rename realm-backed resource store in preparation for non-legacy usage 2022-03-22 18:31:18 +09:00
Dean Herbert
fb7f9a81db Remove unnecessary equality check in skin editor construction path 2022-03-22 14:35:13 +09:00
Dean Herbert
9a2691c1bc Remove unnecessary schedule 2022-03-21 23:54:47 +09:00
Salman Ahmed
33acc5d720 Remove no longer valid comments 2022-03-21 14:06:53 +03:00
Salman Ahmed
058fbbbe6c Remove unused using directive 2022-03-21 14:06:36 +03:00
Dean Herbert
2a696783af Remove unused const in SkinEditorOverlay 2022-03-21 17:33:56 +09:00
Dean Herbert
2f18c512cd Convert SkinEditorOverlay to an OverlayContainer to allow it to block input 2022-03-21 17:33:56 +09:00
Dean Herbert
3643f879e4 Add test coverage of skin editor settings slider not working via keyboard adjustments 2022-03-21 17:33:56 +09:00
Dean Herbert
355b0fa314 Fix loading player via skin editor still allowing changing current audio track
`PlayerLoader` is required in the sequence to get the game into the
correct state for gameplay right now. Applying ths simplest fix here.

Closes https://github.com/ppy/osu/issues/17351.
2022-03-21 13:49:56 +09:00
Dean Herbert
806a16d8f6 Fix SkinComponentToolbox attempting to create instances of abstract classes 2022-03-18 20:13:15 +09:00
Dean Herbert
e252f1a3cd Add explanation about try-catch logic in SkinComponentToolbox 2022-03-17 18:40:26 +09:00
Dean Herbert
1d83b36cfc Merge branch 'master' into skin-editor-borrowed-dependencies 2022-03-17 15:09:04 +09:00
Dan Balasescu
e3cbde5099
Merge pull request #17282 from peppy/skin-editor-reset-position
Add "Reset position" menu item in skin editor
2022-03-17 14:20:24 +09:00
Dan Balasescu
1eac0f41bf
Remove unused using 2022-03-17 13:44:54 +09:00
Dan Balasescu
07433d0540
Merge pull request #17278 from peppy/skin-editor-multiple-component-settings
Show settings for multiple skin components in a selection
2022-03-17 13:43:59 +09:00
Dean Herbert
6df36171b5 Merge branch 'master' into skin-editor-toolbox-ui 2022-03-16 22:21:10 +09:00
Dean Herbert
7e52623645 Add "Reset position" menu item in skin editor 2022-03-16 20:02:52 +09:00
Dean Herbert
cc356bcfe4 Show components available for current screen only (using actual live dependencies) 2022-03-16 19:42:00 +09:00
Dean Herbert
b07ca87965 Merge branch 'skin-editor-toolbox-ui' into skin-editor-borrowed-dependencies 2022-03-16 19:38:28 +09:00
Dean Herbert
27122c17c9 Show settings for multiple components in a selection 2022-03-16 19:35:45 +09:00
Dean Herbert
54e351efe9 Convert top level skin editor layout to use grid container
Fix `SkinEditor`'s initial target not being a `Screen`
2022-03-16 19:30:51 +09:00
Dean Herbert
4525ed645c Update skin editor to use EditorSidebar 2022-03-16 19:30:51 +09:00
Dean Herbert
59cb1ac126 Order components by name for now 2022-03-16 19:21:15 +09:00
Dean Herbert
e4a6b7ae91 Expand toolbox component items on hover 2022-03-16 19:21:15 +09:00
Dean Herbert
fdb411c0f3 Update skin editor toolbox design to suck less 2022-03-16 19:21:15 +09:00
Dean Herbert
b08d4bb8eb Move SceneLibrary implementation to its own file 2022-03-16 19:13:52 +09:00
Dean Herbert
ee3715f5cf Use OverlayColourProvider and adjust metrics to roughly match new designs 2022-03-16 19:13:52 +09:00
Dean Herbert
aff6a5a428 Better align scene selector with menu bar 2022-03-16 19:13:52 +09:00
Dean Herbert
c6aa32a003 Add basic song select setup for skinnability 2022-03-16 19:12:06 +09:00
Dean Herbert
8d85723a62 Split out SceneLibrary into its own component 2022-03-16 19:12:06 +09:00
Dean Herbert
d062810ff2 Add basic scene selector 2022-03-16 19:12:06 +09:00
Dean Herbert
c807ad7e4e Ensure toolbar is hidden even when the active screen is changed while the editor is open 2022-03-16 19:11:22 +09:00
Dean Herbert
86960c791f Close overlays and toolbar on entering the skin editor 2022-03-16 19:00:23 +09:00
Dean Herbert
99e3161cf0 Fix SkinEditor's initial target not being a Screen 2022-03-16 18:57:47 +09:00
Dan Balasescu
d80830b415
Merge pull request #17226 from peppy/skin-component-settings
Allow skin components to have settings
2022-03-16 17:12:11 +09:00
Dean Herbert
2b02a6555b Remove current screen check from skin editor changes 2022-03-15 15:40:26 +09:00
Dean Herbert
6d5692fcec
Fix typo in setting name
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-15 14:25:05 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction 2022-03-15 13:31:57 +09:00
Dan Balasescu
ca62560495 Resolve inspections 2022-03-15 09:20:32 +09:00
Dan Balasescu
e79bed8fbe Merge branch 'master' into skin-component-settings 2022-03-14 18:54:27 +09:00
Dan Balasescu
fd93b42630
Merge pull request #17217 from peppy/skin-editor-reload-on-scene-change
Refactor `SkinEditor` to support switching target screens without full reload
2022-03-14 18:02:01 +09:00
Dean Herbert
3c5fda5f23 Add early exist if the target screen is no longer current 2022-03-14 17:24:31 +09:00
Dan Balasescu
3fff7f4b7e Require ScoreProcessor to receive ruleset 2022-03-14 15:51:10 +09:00
Dean Herbert
7d2752185d Add disclaimer and adjust metrics of BigBlackBox 2022-03-13 17:03:25 +09:00
Dean Herbert
e4211104b0 Add new settings to the big black box 2022-03-13 17:03:25 +09:00
Dean Herbert
458136dfe7 Add BigBlackBox for skinning testing purposes 2022-03-13 17:03:25 +09:00
Dean Herbert
8d1ee28e67 Add settings modification UI to skin editor 2022-03-13 17:03:25 +09:00
Dean Herbert
c99397f75a Add the ability to add settings to skinnable elements 2022-03-13 17:03:25 +09:00
Dean Herbert
7a2a3528ef Merge branch 'skin-editor-reload-on-scene-change' into skin-component-settings 2022-03-13 17:03:23 +09:00
Dean Herbert
f95e753adb Rename double-container variable name 2022-03-13 16:10:06 +09:00
Dean Herbert
d1a9b88fe7
Fix typo in comment
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-13 16:05:45 +09:00
Dean Herbert
3db42dd772 Allow skin editor to target different target containers for placement purposes 2022-03-11 23:23:32 +09:00
Dean Herbert
9a1ade4f79 Refactor SkinEditor to support switching target screens without full reload 2022-03-11 23:08:40 +09:00
Bartłomiej Dach
2354737abe
Merge branch 'master' into scaling-container-better-custom-override 2022-03-03 22:32:23 +01:00
Dean Herbert
b5684aaa76 Scale -> Rect to read better 2022-03-02 20:33:28 +09:00
Dean Herbert
29ed419d53 Change how custom scales are applied to ScalingContainer to allow for better transitions 2022-03-02 20:13:01 +09:00
Dean Herbert
ff7db4f405 Replace jank buttons with menu in skin editor 2022-03-02 20:08:17 +09:00
Bartłomiej Dach
994fb966b6
Remove Host ctor param from SkinModelManager
No longer used since 29d074bdb8.
2022-02-01 21:37:19 +01:00