1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 05:02:55 +08:00
Commit Graph

1166 Commits

Author SHA1 Message Date
Dean Herbert
e5b73f25cd Ensure newly created skin.ini files are set to latest version 2021-10-22 12:56:05 +09:00
Dean Herbert
a5088cac27 Fix default metadata propagation when no files are present 2021-10-21 13:43:42 +09:00
Dean Herbert
59b7210efa Revert disallowing imports with no files
While it is logical that we want this, from a testing perspective this is a bit of a nightmare to fix. Let's revisit at a later point in time.
2021-10-21 13:43:42 +09:00
Dean Herbert
68c01fc204 Fix infinite loop on default skin (it can't have a skin.ini) 2021-10-20 17:56:45 +09:00
Dean Herbert
9e6e41d7c0 Add migration to reset and repopulate existing skin hashes 2021-10-20 17:56:45 +09:00
Dean Herbert
602303e947 Add test coverage for skin.ini contents 2021-10-20 17:56:45 +09:00
Dean Herbert
a95c754fd3 Fix multiple issues and make metadata fallback process more logical 2021-10-20 17:56:45 +09:00
Dean Herbert
fa542f2547 Include json files in skin hashing
This covers the new layout storage we are doing.
2021-10-20 17:45:06 +09:00
Dean Herbert
789c715f13 Add skin.ini write support to allow for more correct hashing 2021-10-20 17:45:06 +09:00
Dean Herbert
d7cbacc5a0 Rename OnSourceChanged and expand on xmldoc to mention that it doesn't fire SourceChanged 2021-10-12 13:04:48 +09:00
Dean Herbert
a849e7343e Add lock to ensure no threading shenanigans 2021-10-12 13:04:24 +09:00
Dean Herbert
077dcf5cd9 Add missing documentation for SourceChanged 2021-10-12 12:50:28 +09:00
Dean Herbert
39a3482458 Replace Add/Reset methods with single Set method 2021-10-12 11:55:07 +09:00
Dean Herbert
df83f0db08 Fix cross-thread list manipulation in SkinProvidingContainer 2021-10-12 11:28:11 +09:00
Dean Herbert
43aacb3831 Fix two different skins displaying at the same time when rapidly switching 2021-10-11 16:11:15 +09:00
Dean Herbert
06cce0119c Use localisable format string for comma separator mode 2021-10-10 17:41:16 +09:00
Dean Herbert
81a13566bc Adjust default location slightly, fix alignment of "pp" subtext 2021-10-05 15:28:03 +09:00
smoogipoo
221cc1747c Drop "default" prefix 2021-10-04 20:34:28 +09:00
smoogipoo
031c5a441e Merge branch 'master' into realtime-pp-display 2021-10-04 20:19:37 +09:00
smoogipoo
4871db2f86 Merge branch 'master' into importer-returns-live 2021-10-04 19:42:36 +09:00
Dean Herbert
916342c837 Merge branch 'master' into importer-returns-live 2021-10-04 16:24:26 +09:00
smoogipoo
69c2b7dc59 Merge branch 'master' into rename-beatmap-info-beatmap-fields 2021-10-04 16:03:22 +09:00
Dean Herbert
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
smoogipoo
adff418fd2 Guard against exception in skin deserialisation 2021-10-01 22:17:38 +09:00
Dean Herbert
a2e61883e3 Initial push to use ILive in import process 2021-09-30 22:55:25 +09:00
smoogipoo
fab0d531be Add counter to HUD 2021-09-30 17:55:00 +09:00
Dean Herbert
4fd19cbb0d Use null check instead of assert in Hide() due to public exposure 2021-09-29 18:58:43 +09:00
Dean Herbert
c5b7e97bd9 Fix skin editor potentially crashing during close process
As reported at
https://github.com/ppy/osu/discussions/14850#discussioncomment-1399382.
2021-09-29 18:53:49 +09:00
Dean Herbert
1b13b74740 Fix skin editor potentially leaving game-wide masking in the wrong state
Just going with the simplest way to solve this.

Closes https://github.com/ppy/osu/issues/14769.
2021-09-17 13:48:20 +09:00
smoogipoo
4b5857c876 Merge branch 'baseline-changes-update' into update-framework 2021-09-16 18:34:22 +09:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
Dean Herbert
6f2d818b64
Merge pull request #14740 from smoogipoo/mania-note-animations
Add animation support for mania notes
2021-09-16 16:34:53 +09:00
Dean Herbert
15e3f95c87 Remove remnants of DatabasedSetting from SkinInfo
This was never used
2021-09-15 17:12:04 +09:00
Salman Ahmed
8217b90b1c Consider legacy glyph texture heights as the baselines for simplicity
Mixing `LegacySpriteText` with legitment fonts should never be the case,
so it's fine to consuder the height as the baseline, since there's
really no other way around it.
2021-09-15 09:14:47 +03:00
smoogipoo
63aa3ddcba Add animation support for mania notes 2021-09-14 17:45:23 +09:00
Dean Herbert
568a8ee97e
Merge branch 'master' into fix-hud-test-failure-2 2021-08-24 16:54:48 +09:00
Dean Herbert
3f0f820653 Add comment explaining reasoning for override 2021-08-24 16:54:19 +09:00
smoogipoo
9f17c38e36 Fix hud overlay components being blocked from load 2021-08-24 15:18:27 +09:00
Dean Herbert
a2484692b3 Change brackets to square 2021-08-23 20:37:19 +09:00
Dean Herbert
7b3f7cc7c1 Change skin import to also include directory names in the skin name where appropriate 2021-08-23 20:24:00 +09:00
Bartłomiej Dach
58ecee543a
Trim redundant default argument value 2021-08-17 23:00:10 +02:00
Dean Herbert
d66f7cb6b5 Fix tests by allowing retrieval with files where required 2021-08-17 19:21:22 +09:00
Dean Herbert
4bf22db4ff Attempt to reduce skin lookup overhead where file access is not required 2021-08-17 00:23:30 +09:00
Bartłomiej Dach
7c88a1c6de
Add a way to change custom combo colours via IHasComboColours
`IHasComboColours` was already mutable (via a strange
`AddComboColours()` method) and exposing a straight list is easier to
work with. `IHasCustomColours` is also similarly externally mutable (in
a way which is not easily removable).
2021-08-15 20:06:06 +02:00
TheOmyNomy
c5b490c441 Use non linear colour interpolation for legacy health display 2021-08-10 11:29:31 +10:00
Dean Herbert
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
Bartłomiej Dach
b1087d14f3
Merge branch 'master' into skin-editor-button-access 2021-07-22 22:49:44 +02:00
Dean Herbert
21053381c7 Fix skin editor potentially eating GlobalAction.Back when not displayed 2021-07-22 15:59:00 +09:00
Dean Herbert
3fd8de3b91 Fix skin editor's fake overlay potentially getting into a bad state 2021-07-22 15:57:47 +09:00
Dean Herbert
399c3b0be8 Rename property, reword xmldoc and improve readability of update code 2021-07-21 17:32:56 +09:00
ekrctb
1bff4373b3 Allow specifying flipping support of selection box different from scaling 2021-07-21 15:59:45 +09:00
Salman Ahmed
9d92b795fa Revert making ComboOffsets legacy and define BeatmapSkinComboIndex instead 2021-07-20 14:15:43 +03:00
Dean Herbert
16a2e63bd4 Use existing localisation 2021-07-20 19:44:02 +09:00
Dean Herbert
59457743e5 Move further to the right to avoid overlap with toolbox listing 2021-07-20 19:43:52 +09:00
Dean Herbert
9c4fbf45e9 Add the ability to enter and exit the skin editor via on-screen buttons 2021-07-20 19:36:12 +09:00
Salman Ahmed
554652b033 Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset 2021-07-20 10:11:52 +03:00
Salman Ahmed
1af230c48c Merge branch 'master' into refactor-combo-colour-retrieval 2021-07-20 10:08:25 +03:00
Dean Herbert
c18b8ca86c Add missing ToArray() call 2021-07-07 14:08:29 +09:00
Dean Herbert
ca791c2afa Remove unused using statement 2021-07-07 13:53:00 +09:00
Dean Herbert
35d4b12a4f Remove single local usage of AllSources 2021-07-07 13:52:52 +09:00
Dean Herbert
eb8b14a931 Reorder methods to make more sense 2021-07-07 13:51:51 +09:00
Dean Herbert
523546d8b6 Use List to guarantee lookup order 2021-07-06 22:51:56 +09:00
Dean Herbert
d75d67577a Fix regressed tests 2021-07-06 17:37:34 +09:00
Dean Herbert
cd4885e450 Add xmldoc and remove any question of how the intitial flow is being run 2021-07-06 17:18:45 +09:00
Dean Herbert
032c285ede Move private downwards 2021-07-06 17:07:29 +09:00
Dean Herbert
1232925f93 Make source manipulation methods protected 2021-07-06 17:06:00 +09:00
Dean Herbert
b4240d3ca4 Simplify lookups to avoid a second dictionary fetch 2021-07-06 17:04:59 +09:00
Dean Herbert
ec1224218c Localise source changed flow for better clarity 2021-07-06 16:57:19 +09:00
Dean Herbert
935fbe7cc6 Remove double fetch/binding of parent source 2021-07-06 16:51:29 +09:00
Dean Herbert
93ef783339 Remove BindableList usage 2021-07-06 16:40:23 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments 2021-07-05 23:52:39 +08:00
Dean Herbert
ec71deec51 Remove some mentions of "lazer"
I am aware there are more throughout the codebase but intentionally left
the remaining mentioned for one reason or another. The intention here is
to mainly change user-facing versioning to change the positioning of the
"lazer" term (to be where we would expect "cuttingedge" or "beta" to
be).
2021-07-04 12:41:27 +09:00
Dean Herbert
6e31c781bb
Merge pull request #13382 from ribbanya/clamp-skin-scale
Fix skin elements flipping when scaled below zero
2021-07-02 20:50:47 +09:00
aitani9
9b0fa6d3fc Make flipping reflect across the axes of the selection box 2021-07-01 15:38:38 -07:00
Dean Herbert
094cd31361
Merge pull request #13441 from frenzibyte/ruleset-resources-skin
Provide access to ruleset resources during `ISkinSource` lookups
2021-06-30 15:26:37 +09:00
Dan Balasescu
92fcf90768
Merge branch 'master' into import-early-checksum-abort 2021-06-28 19:29:08 +09:00
Salman Ahmed
66fc95c111 Use LastOrDefault instead 2021-06-28 12:43:58 +03:00
Salman Ahmed
7197998a10 Remove resolution to SkinManager and use pattern matching instead 2021-06-28 12:43:13 +03:00
Salman Ahmed
177bfe1234 Merge branch 'master' into ruleset-resources-skin 2021-06-28 11:16:37 +03:00
Salman Ahmed
779a1b322c
Add comment explaining insertion of ruleset skin before default skin
Co-authored-by: Dean Herbert <pe@ppy.sh>
2021-06-28 09:38:42 +03:00
Salman Ahmed
f598de4cdb ResourcesSkin -> ResourceStoreBackedSkin 2021-06-28 09:18:29 +03:00
Salman Ahmed
692f24437e Maintain ruleset resources skin across multiple source changes 2021-06-28 09:11:28 +03:00
Dean Herbert
f777741ca7 Simplify instantiation 2021-06-28 14:51:27 +09:00
Dean Herbert
e387feb1d6 Add inline comment mentioning why CreateChildDependencies is being used in this instance 2021-06-28 14:39:55 +09:00
Dean Herbert
fdd6778f36
Merge branch 'master' into fix-initial-ruleset-skin-loading 2021-06-28 14:35:34 +09:00
Dean Herbert
44f875b802 Bypass optimised existing check in SkinManager (due to custom hashing function) 2021-06-27 16:35:13 +09:00
Dean Herbert
d1f852d102 Make Populate abstract to avoid unnecessary base call async complexity 2021-06-27 14:29:02 +09:00
Salman Ahmed
e8e9fdd533 Dispose ResourcesSkin before clearing skin sources 2021-06-26 12:34:30 +03:00
Salman Ahmed
e5eea503db Remove finalizer logic from ResourcesSkin 2021-06-26 12:21:49 +03:00
Salman Ahmed
f07008a0a2 Fix RulesetSkinProvidingContainer potentially late in setting up skin sources 2021-06-25 10:05:51 +03:00
Salman Ahmed
a98b5618b8 Convert RulesetResourcesSkin to plain ResourcesSkin and pass non-null resources 2021-06-24 10:07:38 +03:00
Salman Ahmed
d484469906 Handle case where SkinManager sources aren't part of AllSources
In tests.
2021-06-23 10:44:23 +03:00
Salman Ahmed
53fa229880 Add ruleset resources skin before SkinManager.DefaultSkin 2021-06-23 10:09:25 +03:00
Salman Ahmed
2e6800f586 Enable NRT in RulesetResourcesSkin 2021-06-23 09:52:00 +03:00
Salman Ahmed
0db06c727b Dispose resource stores on finalizer 2021-06-23 09:41:45 +03:00
Salman Ahmed
ee84364d7c Resolve conflict issues 2021-06-22 20:38:24 +03:00
Salman Ahmed
896c1dc202 Merge branch 'master' into ruleset-resources-skin 2021-06-22 20:36:49 +03:00
Dean Herbert
4cb9c6a842
Merge pull request #13423 from frenzibyte/transformers-per-skin
Refactor ruleset skin transforming logic to be per-`ISkin` rather than one `ISkinSource`
2021-06-22 21:24:56 +09:00
Salman Ahmed
71e2815e7e
Update and improve code documentation
Co-authored-by: Dean Herbert <pe@ppy.sh>
2021-06-22 12:05:17 +03:00
Salman Ahmed
c1284940e1 Fix potentially providing the same skin instance twice in AllSources 2021-06-22 10:49:37 +03:00
Salman Ahmed
d0cdc07b11 Reuse AllSources when looking up on FindProvider 2021-06-22 10:49:21 +03:00
Dean Herbert
4b3165084d Move scoped functionality into local function 2021-06-22 16:40:56 +09:00
Dean Herbert
ffac32a848 Reword xmldoc 2021-06-22 16:40:48 +09:00
Dean Herbert
14bdcef26b Add missing newline 2021-06-22 16:20:09 +09:00
Dean Herbert
0ad189e357 Expose skin sources via ISkinSource and revert to consuming based on hierarchy 2021-06-22 16:19:55 +09:00
Dean Herbert
1b0aadcc6f Merge branch 'master' into transformers-per-skin 2021-06-22 16:03:15 +09:00
Salman Ahmed
ec040ff3fc Fix leak due to not properly unbinding SourceChanged event on disposal 2021-06-22 05:05:41 +03:00
Salman Ahmed
caa90bccc6 Fix default skin potentially added twice in RulesetSkinProvidingContainer 2021-06-22 03:45:43 +03:00
Salman Ahmed
627c857da8 Propagate SourceChanged events from SkinManager down in the ruleset skin container 2021-06-22 03:45:24 +03:00
Salman Ahmed
9e5bb146d3 Add xmldoc to SkinManager
The `<summary>` part comes from `BeatmapManager`, which I believe works correctly here as well, as this does handle the "storage and retrieval" of skins.
2021-06-22 03:07:31 +03:00
Salman Ahmed
97dbc7f20e Add back SkinManager.DefaultSkin to the ruleset skin lookup sources 2021-06-22 02:54:34 +03:00
Salman Ahmed
d53a43cf3c Isolate RulesetSkinProvidingContainer from falling back to parent skin sources
For simplicity of lookup order, and which sources are used for the lookup.
2021-06-22 02:53:22 +03:00
Salman Ahmed
ebe0d43790 Add ability to disallow falling back to parent skins 2021-06-22 02:51:17 +03:00
Salman Ahmed
5cfd0e3223 Remove implicit LegacySkin check and refactor anything using it 2021-06-21 04:16:58 +03:00
Dean Herbert
c751e087ca
Merge branch 'master' into skin-editor-closest-anchor 2021-06-18 18:54:07 +09:00
Salman Ahmed
780388d174 Fix incorrect return value 2021-06-17 03:48:29 +03:00
Salman Ahmed
74ad6f9117 Remove default skin from the ruleset skin sources
That one doesn't need any changes to it, can be fetched from the `SkinManager` instead.
2021-06-16 17:24:31 +03:00
Salman Ahmed
52ddf08532 Consider not adding legacy skin transformers to non-legacy skins 2021-06-16 17:24:16 +03:00
Salman Ahmed
5ebf570ec4 Revert GetRulesetTransformedSkin accessibility change
This reverts commit 521077b714.

Forgot to do it when I made this `protected`, but subclasses in test scenes require this.
2021-06-16 16:49:38 +03:00
smoogipoo
2155a4da0a Fix intermittent HUD test failure 2021-06-16 19:52:58 +09:00
Dean Herbert
521077b714 Make getRulesetTransformedSkin private 2021-06-16 17:44:18 +09:00
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin 2021-06-16 16:37:28 +09:00
Salman Ahmed
8de0d33c5a Revert "Move collection change bind to LoadComplete"
This reverts commit d6d87e1975.

Actually that broke things due to the "disableable" instances not added early enough, revert for now.
2021-06-11 17:59:29 +03:00
Salman Ahmed
b6947c25ec Fix potentially adding the same skin multiple times 2021-06-11 17:55:07 +03:00
Salman Ahmed
d6d87e1975 Move collection change bind to LoadComplete
Best practice anyways
2021-06-11 17:35:33 +03:00
Salman Ahmed
108a3deb27 Also handle null Ruleset.CreateLegacySkinProvider values
Let's just go this way for now, maybe it's a better choice to always create transformers and disallow null, but it's too much work and out of scope at this point
2021-06-11 16:26:54 +03:00
Bartłomiej Dach
550d566bf9 Simplify member access 2021-06-11 14:24:17 +02:00
Bartłomiej Dach
876a357bf2 Add support for animated colour fill in new style legacy health bar 2021-06-11 14:24:17 +02:00
Robin Avery
0c8851f4b7
Extract drawable.ScreenSpaceDrawQuad to a variable 2021-06-11 07:06:22 -04:00
Robin Avery
a6774eb5b5
Inline getOriginPositionFromQuad 2021-06-11 06:59:00 -04:00
Robin Avery
c9b4f9eb71
Make getOriginPositionFromQuad local 2021-06-11 06:55:47 -04:00
Robin Avery
1bc8460902
Rename getTieredComponent to getAnchorFromPosition
Also rename parameter `component` to `xOrY`.
2021-06-11 06:53:40 -04:00
Robin Avery
6e181a6b63
Rename parameters of getTieredComponent 2021-06-11 06:53:04 -04:00
Robin Avery
a76eaeb52d
Make getTieredComponent local 2021-06-11 06:51:12 -04:00
Robin Avery
635300b311
Recalculate closest anchor when origin is changed 2021-06-11 06:28:30 -04:00
Robin Avery
a506f2a776
Revert rename of lambda variables 2021-06-11 06:22:24 -04:00
Salman Ahmed
f20146d446 Fix potentially adding null skin sources 2021-06-11 12:58:38 +03:00
Salman Ahmed
e59beffc4e Forward all base transformer lookup methods to Skin 2021-06-11 12:44:25 +03:00
Salman Ahmed
9e16359f18 Refactor disallowing in SkinProvidingContainer to become per source
Fixes `FindProvider` becoming completely broken, because of no way to perform the checks on one skin source.
2021-06-11 12:29:29 +03:00
Salman Ahmed
2e01e61177 Move TODO comment to correct location 2021-06-11 11:46:30 +03:00
Salman Ahmed
8132852753 Add other affectable change action cases 2021-06-11 11:34:22 +03:00
Salman Ahmed
a985e3b8d3
Apply documentation settings for better readability
Co-authored-by: Dean Herbert <pe@ppy.sh>
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-06-11 11:25:07 +03:00
Dean Herbert
debd359d2e Update xmldoc 2021-06-11 14:50:21 +09:00
Dean Herbert
b9050f91a4 Expose as Skins and consume SkinInfo from instances 2021-06-11 14:49:35 +09:00
Salman Ahmed
169c98f963 Add skin providing ruleset resources in RulesetSkinProvidingContainer 2021-06-11 00:25:22 +03:00
Salman Ahmed
2240e2c39c Refrain from attempting to clear skin sources in disposal
`Drawable.Dispose` is usually in an asynchronous context (async disposals stuff) and therefore this could cause a "collection was modified; enumeration opeartion may not execute" exception.
2021-06-10 17:23:16 +03:00
Salman Ahmed
ef2c4fd0d8 Make RulesetSkinProvidingContainer able to be overriden for testing purposes 2021-06-10 16:36:46 +03:00
Salman Ahmed
09a2d008d2 Refrain from attempting to transform null skins 2021-06-10 16:36:45 +03:00
Salman Ahmed
5c9c424a0d Switch state case placements for consistency
Tickled me.
2021-06-10 13:15:18 +03:00
Salman Ahmed
c3a2f2c2a4 Expose default SkinManager providers for use in RulesetSkinProvidingContainer 2021-06-10 13:07:32 +03:00