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 ctor
s
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 LegacySkin
s
2022-04-07 17:28:48 +09:00
Dean Herbert
205edb65a2
Fix filename lookups on LegacySkin
s 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-Drawable
s
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