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
Dean Herbert
cd71ec0edd
Remove ILive<>
interface (and use abstract Live<>
instead)
2022-01-26 13:38:56 +09:00
Dean Herbert
778d2a71b4
Remove Task
from the inner-most Import
method in RealmArchiveModelImporter
...
One of my pending work items for post-realm merge.
The lowest-level import task is no longer asynchronous, as we don't want
it to span multiple threads to allow easier interaction with realm.
Removing the `Task` spec simplifies a heap of usages.
Individual usages should decide whether they want to run the import
asynchronously, by either using an alternative override or spooling up a
thread themselves.
2022-01-25 15:30:29 +09:00
Dean Herbert
d7342880f5
Update remaining cases of clashes with realm.Write
and realm.RegisterForNotifications
2022-01-25 13:09:48 +09:00
Dean Herbert
e23b10e6a5
Update remaining cases of clashing variable name in realm.Run(realm..
2022-01-25 13:04:05 +09:00
Dean Herbert
3e5c9e8436
Fix cases of Access
instead of Realm
2022-01-25 12:58:15 +09:00
Dean Herbert
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
Dean Herbert
114c9e8c1f
Update all usages of CreateContext
to use either Run
or Write
2022-01-21 17:27:08 +09:00
Dean Herbert
a5d2047f05
Fix various cases of creating realm contexts from update thread when not necessary
2022-01-21 01:44:56 +09:00
Dean Herbert
0bd7486a83
Avoid constructor overhead for realm SkinInfo
parameterless constructor
2022-01-20 17:29:07 +09:00
Dean Herbert
5601f6f1fe
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-17 12:29:02 +09:00
Bartłomiej Dach
cbaa3de548
Strip @2x
scale modifiers when looking up legacy skin textures
2022-01-16 19:46:15 +01:00
Dean Herbert
bdb2979b2e
Remove async
from Populate
method
2022-01-13 16:36:54 +09:00
Dean Herbert
1a29098f3b
Change default value and add comment explaining why skins are never "locally available"
2022-01-13 12:50:18 +09:00
Dean Herbert
b2d09b7b10
Fix further warnings
2022-01-12 23:42:12 +09:00
Dean Herbert
08da948afc
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-12 19:22:55 +09:00
Dean Herbert
8c8c5f4c33
Fix skin hash repopulation not working since realm migration
2022-01-12 18:32:51 +09:00