1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-31 04:45:24 +08:00
Commit Graph

1348 Commits

Author SHA1 Message Date
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
Salman Ahmed
59be3588eb Change SkinSources to a bindable list for binding SourceChanged events 2021-06-10 13:07:32 +03:00
Salman Ahmed
dde84e5cbd Merge branch 'master' into transformers-per-skin 2021-06-10 11:58:52 +03:00
Salman Ahmed
58cca9da06 Revert "Expose the skin lookup layers of SkinManager to a property"
This reverts commit 9e652715ce.
2021-06-10 11:57:28 +03:00
Salman Ahmed
530026b675 Add simple xmldoc to ctors explaining their deal with SkinSources 2021-06-10 11:56:13 +03:00
Salman Ahmed
18edbdd135 Remove mentioning of "layer" in skin providers
`SkinSources` sounds better.
2021-06-10 11:55:26 +03:00
Dan Balasescu
479d6d3fc5
Merge branch 'master' into fix-beatmap-skin-disables 2021-06-10 16:37:58 +09:00
Salman Ahmed
33a9cac398 Add special RulesetSkinProvidingContainer managing ruleset-compatible skin setup 2021-06-09 22:49:31 +03:00
Salman Ahmed
9e652715ce Expose the skin lookup layers of SkinManager to a property 2021-06-09 22:49:31 +03:00
Salman Ahmed
6538d44708 Make SkinProvidingContainer able to perform lookup on multiple skins
Currently `protected` functionality for use in custom `SkinProvidingContainer`s, can be exposed to public constructors if it need to later on, but I'm not sure about doing that opposed to just nesting multiple `SkinProvidingContainer`.
2021-06-09 22:49:31 +03:00
Salman Ahmed
cf40282f1f Convert LegacySkinTransformers to accept raw ISkins rather than a full ISkinSource 2021-06-09 22:49:31 +03:00
Dean Herbert
0cf7c56e7e Add fallback lookup support for DefaultSkin 2021-06-09 18:51:42 +09:00
Dean Herbert
2438c20d63 Fix SourceChanged not being correctly forwarded through LegacySkinTransformer 2021-06-09 17:56:07 +09:00
Dean Herbert
448e4e7ee5 Fix FindProvider calls on SkinProvidingContainer not considering disable flags
Closes #13394.
2021-06-09 16:19:04 +09:00
Robin Avery
2484ccd50c
Ensure scale x or y does not go below zero in SkinSelectionHandler.HandleScale 2021-06-08 11:49:25 -04:00
Robin Avery
10b6b72909
Add guard clause to applyOrigins and rename parameter 2021-06-08 10:29:45 -04:00
Robin Avery
d212918d67
Rename applyCustomAnchors to applyFixedAnchors for consistency with UsesFixedAnchor 2021-06-08 10:14:07 -04:00
Robin Avery
2c88e6df8d
Simplify applyClosestAnchor to one line by moving another guard clause 2021-06-08 10:09:48 -04:00
Robin Avery
f22cc981d1
Move guard clause from checkAndApplyClosestAnchor to applyAnchor 2021-06-08 09:51:39 -04:00
Robin Avery
529a80871b
Rename some methods for clarity
Methods which operate on a collection of `ISkinnableDrawable`s are now
plural; ones which take a single item are singular.

This also allows cutting down the name of `getClosestAnchorForDrawable`
to just `getClosestAnchor`.
2021-06-08 09:44:42 -04:00
Robin Avery
01da73daf2
Refactor updateDrawableAnchorIfUsingClosest 2021-06-08 09:25:49 -04:00
Robin Avery
6b127f50f2
Inline updateDrawableAnchorIfUsingClosest 2021-06-08 09:14:04 -04:00
Robin Avery
dc50ae40b9
Rename OverridesClosestAnchor to UsesFixedAnchor 2021-06-08 08:28:42 -04:00
Dean Herbert
6017ef3825
Merge branch 'master' into fix-skin-sample-lookup 2021-06-08 17:37:36 +09:00
Dan Balasescu
791855dfa0
Merge branch 'master' into legacy-skin-default-fallback 2021-06-08 16:54:26 +09:00
Dan Balasescu
67135ce3db
Add null check 2021-06-08 16:15:17 +09:00
Dean Herbert
e0f568aa8f Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-06-08 15:19:52 +09:00
Dean Herbert
f3f634e969 Clean up previous sample immediately on skin source change to avoid Play after disposal
This seems to be the simplest way to avoid calls to `Play` after the
underlying sample may have been disposed. As per the issue thread, a
local workaround is acceptable here.

Closes #13223.
2021-06-08 15:05:18 +09:00
Dean Herbert
27e3de3ea3 Add TODO about beatmap skin fallback support 2021-06-08 12:12:14 +09:00
Dean Herbert
06840d78cc Remove now unused method 2021-06-08 12:06:42 +09:00
Dean Herbert
2c1f22d7ae Refactor animation lookup to properly handle skins providing non-animated resources 2021-06-08 01:17:20 +09:00
Dean Herbert
e7e9197f03 Fix FindProvider not correctly checking legacy default in SkinManager 2021-06-08 00:42:50 +09:00
Dean Herbert
6d56e02ddb Add back incorrectly reverted animation handling logic
This reverts commit b904fa6615.
2021-06-08 00:17:01 +09:00
Dean Herbert
c0305343bc Fix FindProvider incorrectly returning LegacySkinTransformer itself 2021-06-07 23:23:44 +09:00
Dean Herbert
08701b5eab Ensure all lookups in LegacyHealthDisplay use the found provider
Not actually needed to fix the remaining issue but does feel better
2021-06-07 23:23:12 +09:00
Robin Avery
65f594f860
Rename applyAnchor to applyCustomAnchor 2021-06-07 05:08:18 -04:00
Robin Avery
6c9594ee35
Simplify and rearrange SkinSelectionHandler
The file has been restructured and reworded such that there are as few
differences as possible from b36b40cb34.
2021-06-07 02:40:15 -04:00
Robin Avery
29fa4fdf57
Refactor unacceptable syntax 2021-06-07 01:08:39 -04:00
Robin Avery
133d72a8c0
Rename UsingClosestAnchor
It is now "OverridesClosestAnchor". The logic is inverted accordingly.
2021-06-07 00:14:36 -04:00
Robin Avery
f28916e30f
Remove all UsingClosestAnchor() extension logic
It is replaced with ISkinnableDrawable.UsingClosestAnchor.
2021-06-07 00:04:53 -04:00
Robin Avery
ce635af83e
Add UsingClosestAnchor to ISkinnableDrawable
Also implement it as an auto property in its inheritors.
The auto properties default to true.
2021-06-06 23:47:47 -04:00
Dean Herbert
d26c9a66c2 Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-06-07 12:01:19 +09:00
Robin Avery
6a456e53f4
Rename overly long method 2021-06-06 13:28:17 -04:00
Robin Avery
888882ac63
Remove first-person comment 2021-06-06 13:27:13 -04:00
Dean Herbert
e10dfab2e8 Ensure scorebar marker lookup is performed on the source the background is retrieved from 2021-06-06 23:23:35 +09:00
Robin Avery
da1c38d5a9
Uninvert logic of SkinnableInfo.UsingClosestAnchor
Also rename "IsUsingClosestAnchor" to simply "UsingClosestAnchor".
2021-06-06 10:13:35 -04:00
Dean Herbert
b5f145cfa9 Use null propagation for animation lookups 2021-06-06 23:01:37 +09:00
Robin Avery
63346f6b75
Refactor getTieredComponent 2021-06-06 09:40:58 -04:00
Robin Avery
c9f5808bf2
Move lookup logic to DrawableExtensions
This is now a global lookup to be shared by serialization and editor.
2021-06-06 06:58:21 -04:00
Robin Avery
4aee76456f
Replace localised strings with static English 2021-06-06 05:34:32 -04:00
Robin Avery
c452715bf1 Allow skin elements to find closest anchor
- Resolves ppy/osu#13252
- Add localisation strings for the context menu instead of using enum
2021-06-06 01:32:04 -04:00
Dean Herbert
b904fa6615 Revert "Ensure all frames in an animation are retrieved from the same skin"
This reverts commit 37c8c63fc5.
2021-06-06 12:37:42 +09:00
Dean Herbert
b87a5956dd Add fallback logic to SkinManager 2021-06-06 12:17:55 +09:00
Dean Herbert
39f99bf785 Move FindProvider to ISkinSource 2021-06-06 12:17:32 +09:00
Dean Herbert
ae2165b3be Fix incorrect xmldoc 2021-06-04 16:44:04 +09:00
Dean Herbert
37c8c63fc5 Ensure all frames in an animation are retrieved from the same skin 2021-06-04 16:18:04 +09:00
Dan Balasescu
c065f761c7
Merge branch 'master' into legacy-skin-default-fallback 2021-06-02 19:08:52 +09:00
Dean Herbert
2e2281c7d2 Revert disabling taiko sample tests and fix logic 2021-06-01 18:57:19 +09:00
Dean Herbert
3a6d081d82 Remove duplicated taiko fallback 2021-06-01 18:04:49 +09:00
Dean Herbert
ea4644be90 Revert "Fix weird taiko logic failing for weird reasons that probably should not have been a thing"
This reverts commit 69c4ccad05.
2021-06-01 18:04:49 +09:00
Dean Herbert
a837fc9e3b Remove duplicated taiko fallback 2021-06-01 18:00:24 +09:00
Dean Herbert
df0a5689e4 Revert "Fix weird taiko logic failing for weird reasons that probably should not have been a thing"
This reverts commit 69c4ccad05.
2021-06-01 17:13:13 +09:00
Dean Herbert
ff815cb4b4 Fix incorrect xmldoc 2021-06-01 16:57:41 +09:00
Salman Ahmed
7c6400735f Merge branch 'master' into remove-hud-component-lookup 2021-06-01 10:17:52 +03:00
Dean Herbert
00b3eea840 Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-05-31 21:39:04 +09:00
Dean Herbert
69c4ccad05 Fix weird taiko logic failing for weird reasons that probably should not have been a thing 2021-05-31 21:29:47 +09:00
Dean Herbert
1161378b6b Fix incorrect fallback logic in LegacyBeatmapSkin 2021-05-31 21:29:47 +09:00
Dean Herbert
282c5a9177 Fix potential nullref in SkinProvidingContainer 2021-05-31 21:29:47 +09:00
Dean Herbert
3ff9f9c89d Make FindProvider non-default 2021-05-31 21:29:47 +09:00
Dean Herbert
8e489754cc Add ability for LegacySkins to customise the fallback provider 2021-05-31 21:29:47 +09:00
Dean Herbert
88ed95e012 Add FindProvider lookup function 2021-05-31 21:29:47 +09:00
Dean Herbert
1d30791ab0 Add potential pathway for legacy lookups 2021-05-31 21:29:47 +09:00
Dean Herbert
4b27d43e26 Add new parameter for default fallback logic in LegacySkin 2021-05-31 21:29:47 +09:00
Dean Herbert
17fa2426d4 Merge branch 'master' into legacy-skin-resource-improvements 2021-05-31 19:36:09 +09:00
Dean Herbert
65709ec7d7 Move leagcy resource store construction local to DefaultLegacySkin 2021-05-31 19:14:49 +09:00
Dean Herbert
b16d10bd95 Provide game-wide resources via IStorageResourceProvider 2021-05-31 18:57:47 +09:00
Dean Herbert
de0e51a81d Merge branch 'master' into fix-skin-sample-lookup 2021-05-31 15:27:39 +09:00
Salman Ahmed
02d18c7a49 Merge branch 'master' into remove-hud-component-lookup 2021-05-31 09:23:04 +03:00
Salman Ahmed
fb81e5133f Merge branch 'master' into catch-hide-combo-workaround 2021-05-30 14:16:46 +03:00
Salman Ahmed
53cbf369d7 Fix potential nullref 2021-05-29 21:22:46 +03:00
Salman Ahmed
42618c713f
Merge branch 'master' into legacy-beatmap-skin-hud-fallback 2021-05-29 20:56:05 +03:00
Dean Herbert
70a844ac10 Remove allowFallback parameters completely 2021-05-27 14:50:42 +09:00
Dean Herbert
4fd89faaa4 Fix default skin not having resources or providing samples 2021-05-27 14:09:01 +09:00
Dean Herbert
b36b40cb34 Remove unnecessary double specification 2021-05-26 15:20:47 +09:00
kamp
65649e5a62 Prevent skin editor crash when scaling 0 area drawables
Some skinnable drawables can have 0 width or height in certain
cases, leading to division by 0 and a crash when the position is
updated.
2021-05-24 21:36:42 +02:00
Dean Herbert
caa2c5638e Fix legacy combo counter not accounting for song progress bar 2021-05-23 16:46:57 +09:00
Dean Herbert
45c6a9ca91 Merge branch 'refactor-selection-rotate-logic' into fix-flip-logic-discrepancy 2021-05-22 21:17:58 +09:00
Dean Herbert
7d88a19d7f Remove unnecessary field storage of origin reference 2021-05-22 21:03:40 +09:00
Dean Herbert
34a5b22b79 Merge branch 'master' into refactor-selection-rotate-logic 2021-05-22 20:52:28 +09:00
Dean Herbert
485728ca4e
Merge pull request #12866 from peppy/refactor-selection-scale-logic
Add proper scaling support to skin editor
2021-05-22 20:07:03 +09:00
Dean Herbert
bb2fae55ce Merge branch 'master' into refactor-selection-rotate-logic 2021-05-21 19:19:54 +09:00
Dean Herbert
0d575f5728 Remove incorrect (and unintended) modulus logic 2021-05-21 15:06:53 +09:00
Dean Herbert
f9d51656b6 Fix scaling of rotated items not behaving in an understandable way 2021-05-21 15:02:36 +09:00
Dan Balasescu
7845d07dd5
Merge pull request #12886 from peppy/fix-skin-editor-context-menu-sticking
Fix skin editor context menus not dismissing when clicking away
2021-05-20 21:03:35 +09:00
Dean Herbert
1848bd902d Fix skin editor context menus not dismissing when clicking away 2021-05-20 19:51:07 +09:00
Dean Herbert
df5970fab4 Create base implementations of the two most common TernaryStateMenuItems 2021-05-20 19:34:53 +09:00
Dean Herbert
20f1ef4318 Extract common implementation of updating drawable position from screen space pos 2021-05-20 18:35:13 +09:00
Dean Herbert
6f75c59760 Fix flip logic not using the full selection quad 2021-05-20 18:31:51 +09:00
Dean Herbert
95c78b9185 Split out common selection quad logic 2021-05-20 18:24:25 +09:00
Dean Herbert
27e81d6504 Implement proper rotation algorithm for skin editor 2021-05-20 18:21:16 +09:00
Salman Ahmed
43094425e2 Merge branch 'legacy-beatmap-skin-hud-fallback' into catch-hide-combo-workaround 2021-05-19 23:18:27 +03:00
Salman Ahmed
9f3ea150f5 Fix legacy beatmap skins not falling back properly on HUD components 2021-05-19 23:01:29 +03:00
Bartłomiej Dach
788f1fcf48
Merge branch 'master' into disable-skin-editor-border 2021-05-19 21:52:29 +02:00
Salman Ahmed
21ca9c8431 Merge branch 'master' into beatmap-skin 2021-05-19 22:39:32 +03:00
Dean Herbert
eb5db8ff03 Disable border display on skin editor to avoid crashes
This wasn't being displayed correctly anyway, so rather than fixing
let's just remove it for now.

Closes #12868.
2021-05-20 02:01:46 +09:00
Dean Herbert
22337e0fc7 Add comment explaining why origin is flipped 2021-05-20 01:59:30 +09:00
Dean Herbert
363aec8179 Merge branch 'master' into hit-error-skinnable 2021-05-20 01:51:45 +09:00
Dean Herbert
a55879e511 Fix oversights in scale algorithm 2021-05-20 01:47:31 +09:00
Dean Herbert
14af86d6c5 Use the same code path for all scaling 2021-05-19 21:46:41 +09:00
Dean Herbert
6a3c58b9ad Implement proper scaling algorithms 2021-05-19 19:58:55 +09:00
Salman Ahmed
825d61e22c Separate default beatmap skins from DefaultSkin 2021-05-19 12:06:10 +03:00
Salman Ahmed
9806d94b74 Move beatmap skin info creation to static method at IBeatmapSkin 2021-05-19 11:58:00 +03:00
Salman Ahmed
c98d036b48 Merge branch 'master' into catch-hide-combo-workaround 2021-05-18 17:47:20 +03:00
Salman Ahmed
08ee1e4853 Remove HUD skin component lookup in favour of MainHUDComponents target system 2021-05-18 12:37:23 +03:00
Dean Herbert
d661e98fa6 Move common functionality out of OsuSelectionHandler and implement flip support 2021-05-18 18:34:06 +09:00
Dean Herbert
c80e736712 Change SkinBlueprint to use the origin point as the selection point
Not sure how this feels, but it makes using the same point throughout
the editor possible, which I think is the correct way forward for now.
2021-05-18 18:33:06 +09:00
Dean Herbert
10c730b37d Add new default locations for hit bar error displays 2021-05-18 15:50:50 +09:00
Salman Ahmed
f667ea3fd0 Replace AllowDefaultHUDComponentsFallback with a temporary override at LegacyBeatmapSkin 2021-05-17 21:34:53 +03:00
Dan Balasescu
ea4dfd3374
Merge pull request #12842 from peppy/song-progress-skinnable
Add layout customisation support for `SongProgress`
2021-05-17 20:15:01 +09:00
Dean Herbert
42d2711dc6 Use ShouldBeConsideredForInput instead of ReceivePositionalInputAtSubTree 2021-05-17 19:29:59 +09:00
Dean Herbert
60f3e628bc Fix song progress being interactable inside toolbox button 2021-05-17 19:05:22 +09:00
Dean Herbert
da0913ca2d Make SongProgress a skinnable component 2021-05-17 18:52:56 +09:00
smoogipoo
0d7a349500 Exclude interfaces from skinnable types 2021-05-17 18:16:09 +09:00
Salman Ahmed
4c25fe750f Disallow beatmap skin to fall back to default HUD components
This should become a more generalized `AllowDefaultSkinFallback` when default legacy skin fallback is supported.
2021-05-15 14:32:16 +03:00
Bartłomiej Dach
7665bdfbbb Merge branch 'master' into null-assignment-warning-enable 2021-05-15 01:08:34 +02:00
Bartłomiej Dach
69fc072429 Ignore skin component json data if deserialisation fails instead
Crashing was not really the best thing to do there given the preceding
code that already allowed a few continues in case of a missing file.
2021-05-15 01:08:11 +02:00
Bartłomiej Dach
fa6b5515b7 Ignore possible null from JsonConvert.DeserializeObject()
Nothing better can be done if a `null` is indeed returned.
2021-05-15 00:09:34 +02:00
Bartłomiej Dach
628e7a71ed Ignore possible nulls in Type.GetType() calls
They're mostly used in extensibility scenarios, so everything happens in
runtime. There is no better resolution than to crash with a null
reference exception.
2021-05-15 00:09:34 +02:00
Bartłomiej Dach
3d3c5028e6 Trim unnecessary array copy 2021-05-14 22:33:26 +02:00
Bartłomiej Dach
743b4fbff1 Pass correct member name to ArgumentExceptions 2021-05-14 22:16:37 +02:00
Bartłomiej Dach
876f53bf3b Fix copy-paste oversights in xmldoc & exception messages 2021-05-14 22:15:43 +02:00
Dean Herbert
d09da02673 Fix deleting skin elements not saving out to skin
Closes https://github.com/ppy/osu/issues/12786.
2021-05-14 16:03:22 +09:00
Dean Herbert
46e7d9e0ed Randomise the values displayed in the skinning toolbox
To stop the spam of "WYSI" comments everywhere. I guess I underestimated
the negative effect this would have.
2021-05-14 12:15:58 +09:00
Bartłomiej Dach
6a64a705b8 Merge branch 'master' into skin-blueprint-aspect-lock 2021-05-13 17:53:00 +02:00
Bartłomiej Dach
25b1443c50 Remove dead branch and mark implementation as temporary
The previous implementation was checking if the `x0` or `x2` anchors
were selected to decide on which way to transfer the drawable's scale,
but that check actually ends up being always true for corner anchors. To
visualise, this is how the corner anchors correspond to `Anchor` flags:

    x0  x1  x2
    |   |   |
y0 -O---O---O-
    |   |   |
y1 -O---+---O-
    |   |   |
y2 -O---O---O-
    |   |   |

The Os indicate where the reference anchors are on a selection box.
The first conditional eliminates the middle ones, which makes sense.
But after excluding them from further deliberations (marking via X):

    x0  x1  x2
    |   |   |
y0 -O---X---O-
    |   |   |
y1 -X---+---X-
    |   |   |
y2 -O---X---O-
    |   |   |

The remaining anchors always have `x0` or `x2` set. So to avoid
confusion, just always transfer one way for now. At some point this
should be torn out in favour of an actual implementation of the desired
behaviour.
2021-05-13 17:50:12 +02:00
Dean Herbert
0fa90a80d4
Merge branch 'master' into skin-blueprint-aspect-lock 2021-05-13 23:38:53 +09:00
Dean Herbert
3ecbb9ec4b
Merge branch 'master' into skin-blueprint-anchor-origin 2021-05-13 23:38:04 +09:00
Dean Herbert
98830dadda
Merge pull request #12762 from peppy/skin-blueprint-visual-improvements
Improve the visual appearance of skin editor blueprints
2021-05-13 23:37:21 +09:00
Dean Herbert
cef39eb4fa
Merge pull request #12766 from peppy/stable-anchor-origin
Keep component positions stable when changing anchor/origin
2021-05-13 23:36:40 +09:00
Dean Herbert
caa3e1dca5
Merge pull request #12767 from peppy/save-on-forced-exit
Save skin editor changes on forced exit
2021-05-13 23:35:52 +09:00
Dean Herbert
4183a1c556
Merge pull request #12769 from peppy/remove-skinnable-hud-classes
Remove remaining test usage of SkinnableXXX HUD components
2021-05-13 22:56:18 +09:00
Dean Herbert
6c12cae105 Remove unnecessary property 2021-05-13 22:25:11 +09:00
Dean Herbert
c57a2f43fa Merge branch 'master' into skin-blueprint-visual-improvements 2021-05-13 22:22:42 +09:00
smoogipoo
4cf4817ad2 Remove redundant parens 2021-05-13 22:11:58 +09:00
Dan Balasescu
d2fdd1e521
Merge branch 'master' into stable-anchor-origin 2021-05-13 22:06:21 +09:00
Dan Balasescu
67f795cfa6
Merge branch 'master' into save-on-forced-exit 2021-05-13 22:00:38 +09:00
smoogipoo
1e23c53507 Fix inspection 2021-05-13 21:59:38 +09:00
Dan Balasescu
d5b14b6b99
Merge branch 'master' into remove-skinnable-hud-classes 2021-05-13 21:06:48 +09:00
Dean Herbert
b939318922 Merge branch 'skin-serialisation' into skin-editor-default-placement-location 2021-05-13 19:09:34 +09:00
Dean Herbert
e5f765d1a8 Fix broken exception message 2021-05-13 19:06:58 +09:00
Dean Herbert
bda0ea463a Merge branch 'skin-serialisation' into save-on-forced-exit 2021-05-13 19:05:47 +09:00
Dean Herbert
c8b7cfc753 Merge branch 'skin-serialisation' into remove-skinnable-hud-classes 2021-05-13 19:05:08 +09:00
Dean Herbert
07e475cd13 Fix skin blueprint box drawing incorrectly when both scale and rotation are applied 2021-05-13 18:54:40 +09:00
smoogipoo
2f025f1967 SkinnableTargetWrapper -> SkinnableTargetComponentsContainer 2021-05-13 18:54:30 +09:00
Dean Herbert
01bc71acd2
Improve ability to parse xmldoc of SkinnableTargetWrapper
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-05-13 18:40:28 +09:00
Dean Herbert
df77b28b48 Add a flimsy guard against null parent to avoid crashes on exit sequence 2021-05-13 18:39:21 +09:00
Dean Herbert
9f8e6979dd Fix display of skin blueprints when flipped 2021-05-13 18:00:25 +09:00
Dean Herbert
1cda55393e Add aspect ratio locking and flip support to skin editor 2021-05-13 17:51:57 +09:00
Dean Herbert
ebce3fd3c7 Use ScheduleAfterChildren to better match comment 2021-05-13 17:29:11 +09:00
Dean Herbert
3ea469813c Use interface in place of SkinnableTargetContainer 2021-05-13 17:25:51 +09:00
Dean Herbert
0959e7156a Remove outdated TODO 2021-05-13 17:22:05 +09:00
Dean Herbert
106fa97a11 Rename SkinnableElementTargetContainer to SkinnableTargetContainer 2021-05-13 17:07:38 +09:00
Dean Herbert
7921dc7ece Rename ISkinnableComponent to ISkinnableDrawable 2021-05-13 17:06:00 +09:00
Dean Herbert
cdcd31b546 Replace ISkinSerialisable with IsEditable property 2021-05-13 17:03:17 +09:00
Dean Herbert
dd6a06a302 Reword xmldoc to read better 2021-05-13 16:43:42 +09:00
Dean Herbert
9dfa48b22e Fix incorrect exception text 2021-05-13 16:42:43 +09:00
Dean Herbert
19223ba013 Remove left-over debug logging 2021-05-13 16:42:13 +09:00
Dean Herbert
5818ed4c8c Remove unused DI resolution 2021-05-13 16:41:36 +09:00
Dean Herbert
db19617b8b Add JsonConstructor attribute to SkinnableTargetWrapper 2021-05-13 13:16:20 +09:00
Dean Herbert
3b862798e9 Standardise naming of methods related to SkinnableInfo 2021-05-13 13:14:49 +09:00
Dean Herbert
581e7940c7 Add xmldoc to SkinnableElementTargetContainer 2021-05-13 13:13:22 +09:00
Dean Herbert
c93ed541f3 Add xmldoc and tidy up logic in Skin 2021-05-13 13:09:33 +09:00
Dean Herbert
992a052426 Remove stray comment 2021-05-13 13:07:06 +09:00
Dean Herbert
469a7f5d2a Reorder fields in SkinEditor 2021-05-13 13:04:17 +09:00
Dean Herbert
2bf8635ffd Move field upwards in class 2021-05-13 13:03:23 +09:00
Dean Herbert
a38cb61b08 Remove duplicated call to base.GetDrawableComponent 2021-05-13 13:02:55 +09:00
Dean Herbert
8b9ac86d4b Merge branch 'master' into skin-serialisation 2021-05-13 12:35:06 +09:00
Bartłomiej Dach
27ca7d0f4f Actually annotate the correct ctor 2021-05-12 23:53:39 +02:00
Bartłomiej Dach
a6aec6e007 Fix missed InstantiationInfo setter usages 2021-05-12 23:34:25 +02:00
Bartłomiej Dach
1b579dd838 Extract invariant instantiation info extension method 2021-05-12 23:23:51 +02:00
Bartłomiej Dach
4464204e33 Mark all skin ctors used via reflection in SkinInfo.CreateInstance() 2021-05-12 23:23:42 +02:00
Dean Herbert
7bac81f394
Fix incorrect inline comments
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-05-12 19:37:00 +09:00
Dean Herbert
55e1f97f59 Remove unused using statement 2021-05-12 19:06:40 +09:00
Dean Herbert
75227e5a70 Change default skin to use component lookup for conformity 2021-05-12 18:55:48 +09:00
Dean Herbert
0a895fff15 Remove remaining test usage of SkinnableXXX HUD components 2021-05-12 18:53:25 +09:00
Dean Herbert
088335a035 Revert "Also save on skin switch"
This reverts commit 2f55d1e5ab.
2021-05-12 17:45:51 +09:00
Dean Herbert
2f55d1e5ab Also save on skin switch 2021-05-12 17:42:12 +09:00
Dean Herbert
be187e8ebd Avoid hard crash if Save() is called before preparing for mutation 2021-05-12 17:42:04 +09:00
Dean Herbert
9df08560b6 Save skin editor changes on forced exit 2021-05-12 16:07:00 +09:00
Dean Herbert
494a1b01a5 Move SkinnableElementTargetContainer out of HUD namespace 2021-05-12 15:59:33 +09:00
Dean Herbert
29e6f6b6b6 Remove public prefixes from interface type and add Components list for future use 2021-05-12 15:58:21 +09:00
Dean Herbert
05e0c57a6a Keep component positions stable when changing anchor/origin 2021-05-12 15:30:52 +09:00
Dean Herbert
d55f42dc2e Show anchor and origin in skin blueprints when selected 2021-05-12 15:12:17 +09:00
Dean Herbert
42e6795251 Place new skin components at the centre of the screen by default 2021-05-12 14:11:40 +09:00
Dean Herbert
96d4011de2 Use pattern matching to tidy up instance construction 2021-05-12 14:02:24 +09:00
Dean Herbert
1d383024e2 Improve the visual appearance of skin editor blueprints 2021-05-12 13:54:30 +09:00
Dean Herbert
77e422409c Add SkinInfo.InstantiationInfo to allow creating different skin types 2021-05-11 23:37:06 +09:00
Dean Herbert
1231c08a07 Rename mismatching file 2021-05-11 18:58:26 +09:00
Dean Herbert
4bb933e4b1 Add missing base lookup call to DefaultSkin 2021-05-11 18:55:45 +09:00
Dean Herbert
f55407f871 Show a message when attempting to customisse a screen which doesn't support it 2021-05-11 18:39:15 +09:00
Dean Herbert
6d587dc392 Adjust target size slightly to better align with the screen 2021-05-11 18:39:15 +09:00
Dean Herbert
1831f581aa Add basic metadata display and remove outdated message about not saving 2021-05-11 18:39:15 +09:00
Dean Herbert
a4e0529617 Replace polling logic with direct bindable reactions 2021-05-11 18:39:15 +09:00
Dean Herbert
a88a8b7d8d Use ISkinnableComponent wherever possible (and expose as BindableList) 2021-05-11 18:39:15 +09:00
Dean Herbert
a7e83aacfb Ensure default skins are copied before modifying 2021-05-11 18:39:15 +09:00
Dean Herbert
a67cead0b3 Add SkinInfo.InstantiationInfo to allow creating different skin types 2021-05-11 18:39:15 +09:00
Dean Herbert
f6f4b90d2b Add customisation support for LegacyHealthDisplay 2021-05-11 18:39:14 +09:00
Dean Herbert
d5fe4f0f72 Remove unused skin resolution in LegacyScoreCounter 2021-05-11 18:39:14 +09:00
Dean Herbert
944f09ec98 Move default skin cross-component dependencies out to default specifications 2021-05-11 18:39:14 +09:00
Dean Herbert
12684de66e Add ability to adjust origin in skin editor 2021-05-11 18:39:14 +09:00
Dean Herbert
117d6d731d Move cross-component layout dependencies for legacy skin to LegacySkin 2021-05-11 18:39:14 +09:00
Dean Herbert
bf65547eec Allow some serialised components to not be mutable by the user 2021-05-11 18:39:14 +09:00
Dean Herbert
81902ad6a6 Add the ability to revert all skin changes 2021-05-11 18:39:14 +09:00
Dean Herbert
4769a95b49 Fix encapsulation and remove target lookup overhead 2021-05-11 18:39:14 +09:00
Dean Herbert
c957293ec3 Load json from disk store at skin construction for now
This allows for easier mutation without worrying about changes being
re-read from disk unexpectedly.
2021-05-11 18:39:14 +09:00
Dean Herbert
b248b2e5e3 Hook up full save/load flow 2021-05-11 18:39:14 +09:00
Dean Herbert
004798d61d Update Legacy components to not require skin in ctor 2021-05-11 18:39:14 +09:00
Dean Herbert
95a8f21ab2 Add the concept of skinnable target containers and mark a basic one for HUD elements 2021-05-11 18:39:14 +09:00
Dean Herbert
67ea4a7e97 Read from skin config 2021-05-11 18:39:14 +09:00
Dean Herbert
b9ab9342fa Setup basics to allow extracting serializable content from skinnable Drawables 2021-05-11 18:39:14 +09:00
Dean Herbert
1b701adfef Add score/health processors to fill in default values 2021-05-10 18:15:39 +09:00
Dean Herbert
2ecd638f7f Merge branch 'master' into skin-components-list 2021-05-10 18:13:10 +09:00
Dean Herbert
b274fdf20d Merge branch 'master' into skin-components-bind-outwards-health 2021-05-10 11:13:44 +09:00
Bartłomiej Dach
eb716455b7
Merge branch 'master' into skin-components-bind-outwards-accuracy 2021-05-09 12:13:18 +02:00
Bartłomiej Dach
0bc6a026eb
Merge branch 'master' into skin-components-bind-outwards-accuracy 2021-05-08 21:08:53 +02:00
Bartłomiej Dach
c3bf6a0287 Remove weird vestigial Current reimplementation
Has no functional purpose anymore since the changes in the HUD element
data binding flow.
2021-05-08 21:01:37 +02:00
Dean Herbert
755588258e Update HealthDisplay components to use DI to attach data source 2021-05-07 17:22:45 +09:00
Dean Herbert
01eff7f316 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-score-display 2021-05-07 16:30:08 +09:00
Dean Herbert
93f10330e3 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-accuracy 2021-05-07 16:29:10 +09:00
Dean Herbert
ad398165a2 Update AccuracyCounter components to use DI to attach data source 2021-05-07 16:27:25 +09:00
Dean Herbert
a2e4fb5b6b Update ScoreCounter components to bind outwards 2021-05-07 16:16:48 +09:00
Dean Herbert
aff32b0d19 Merge branch 'master' into skin-components-list 2021-05-06 14:17:33 +09:00
Salman Ahmed
51ff59242d Use legacy beatmap combo indices for legacy beatmap skins 2021-05-05 07:43:25 +03:00
Salman Ahmed
78794935b4 Handle combo colour lookups in other skins 2021-05-05 07:15:11 +03:00
Salman Ahmed
9be8d3f0d2 Add overridable combo colour retrieval method and handle in legacy skin 2021-05-05 07:15:07 +03:00
Salman Ahmed
f95744170f Add skin config lookup for combo colours 2021-05-05 07:06:26 +03:00
Dean Herbert
15603de6e9 Change scale multiplier to be closer to expectations 2021-05-03 15:25:18 +09:00
Dean Herbert
7d8be8cd83 Add comment about why we are running checkForComponents on a timer 2021-05-03 15:20:00 +09:00
Dean Herbert
a298a93070 Remove redundant storage of blueprint's related item 2021-05-03 15:18:18 +09:00
Dean Herbert
51f4077b27 Reorder methods in SkinSelectionHandler to follow standards 2021-05-03 15:15:00 +09:00
Dean Herbert
a2faa0b74c Remove dead code 2021-05-03 15:13:53 +09:00
Dean Herbert
01984de9c7 Use existing GetStateFromSelection helper function 2021-05-03 15:13:32 +09:00
Dean Herbert
f3b305bbe6 Rename and improve xmldoc of SkinEditorOverlay 2021-05-03 14:58:25 +09:00
Dean Herbert
e663629bc6 Match button appearance to that of the beatmap editor 2021-04-30 15:22:51 +09:00
Dean Herbert
a1e64f4e3c Use the existing toolbox design 2021-04-30 14:41:06 +09:00
Dean Herbert
bde72faa7c Limit components list height to better align with actual viewport 2021-04-30 13:10:42 +09:00
Dean Herbert
8b82a07914 Move skin-related interfaces out of HUD namespace 2021-04-30 13:10:42 +09:00
Dean Herbert
5585a7d438 Add basic interfaces for skinnable target containers 2021-04-30 13:10:42 +09:00
Dean Herbert
ae9d1dc40b Add component list to main editor interface and enable basic placement 2021-04-30 13:10:42 +09:00
Dean Herbert
6442fb819f Split out component from test scene and fix SongProgress 2021-04-30 13:10:42 +09:00
Dean Herbert
cdef07b2ee Fix blueprints not hiding when deleting elements 2021-04-30 13:09:57 +09:00
Dean Herbert
8d056ff38f Remove redundant parenthesis 2021-04-29 18:23:22 +09:00
Dean Herbert
fb64f6faf2 Add ability to exit using game "back" binding 2021-04-29 17:40:58 +09:00
Dean Herbert
a7982787d4 Add basic header text 2021-04-29 17:40:48 +09:00
Dean Herbert
b936043956 Add the skin editor to the game 2021-04-29 17:20:22 +09:00
Dean Herbert
b460181f15 Add note about rotation not working as expected 2021-04-29 16:16:52 +09:00
Dean Herbert
1516e2ffef Update blueprint implementation in line with #12625. 2021-04-29 16:12:31 +09:00
Dean Herbert
3c84b0d8c6 Fix selection screen point being wrong since recent refactors 2021-04-29 16:12:15 +09:00
Dean Herbert
de73ac7cec Allow skin editor to be invoked from any context
This is kind of how I see things working going forward, where the editor
can be applied to anything in the game which supports it (ie. a results
screen, gameplay screen, etc.) and it will immediately allow changing
the interface.

This adds a test scene which shows this working with gameplay.
2021-04-29 16:12:15 +09:00
Dean Herbert
4f9e1e4945 Check for new components every one second to handle late loaders 2021-04-29 16:12:15 +09:00
Dean Herbert
fd587a82ff Replace abstract class with interface, attached to the actual components (not skinnable wrapper) 2021-04-29 16:12:15 +09:00
Dean Herbert
59339aa4fd Add support for x/y position and scale back in 2021-04-29 16:12:15 +09:00
Dean Herbert
1cb8fc9a24 Extract editor classes out of test namespace and add anchor support 2021-04-29 16:12:15 +09:00
smoogipoo
281c2041b2 Add failing test 2021-04-20 16:51:00 +09:00
Salman Ahmed
1b6e08b3eb Fix incorrect default font overlap for score and combo 2021-03-26 10:35:46 +03:00
Salman Ahmed
6aa0c9d8fd Merge branch 'master' into legacy-sprite-text-fonts 2021-03-25 14:52:01 +03:00
Dan Balasescu
41cf261286
Merge pull request #12177 from peppy/fix-comment-parsing-regression
Don't strip comments from metadata during parsing
2021-03-25 15:02:10 +09:00
Dean Herbert
0324bfa857 Change checks back to Contains 2021-03-25 14:14:38 +09:00
Dean Herbert
e22650293d Remove unnecessary second call to StripComments in skin parsing logic 2021-03-25 13:35:42 +09:00
Salman Ahmed
fc5719e445 Fix SkinManager not handling extensions casing comparsion properly 2021-03-24 21:31:53 +03:00
Dean Herbert
073dba5330 Remove local workarounds to attempt to avoid crashes on skin change 2021-03-22 14:05:37 +09:00
Bartłomiej Dach
a16c0641b2 Revert EF Core to version 2.2
This reverts commit f3faad74d5, reversing
changes made to 712e7bc7bf.

Several issues arose after migrating to 5.0, including, but possibly not
limited to, performance regressions in song select, as well as failures
when attempting to save beatmaps after metadata changes in the editor.
2021-03-21 11:05:15 +01:00
Dean Herbert
ca943a897a Fix back to front initialisation order 2021-03-20 10:51:58 +09:00
Dean Herbert
68aaf90702 Fix disposal rather than performing some weird hack 2021-03-19 20:30:52 +09:00
Dean Herbert
f59327cc3e Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-19 20:29:44 +09:00
Dean Herbert
b2d8db3a92 Rename incorrect variable 2021-03-19 20:25:21 +09:00
Dean Herbert
c0c8b3e46c Fix regression meaning SkinnableSound initialisation may never happen 2021-03-19 19:22:50 +09:00
Dean Herbert
9491e6394a Include the bundled skins when selecting a random skin 2021-03-19 15:46:43 +09:00
Dean Herbert
bf4317d3f0 Ensure looping is disabled on old samples when switching skins 2021-03-19 15:34:21 +09:00
Dean Herbert
0e821e857e Remove unnecessary duplicated skin changed handling
For some reason we were handling this both in `DrawableSkinnableSound`
and `PoolableSkinnableSample` in very similar ways. Only one seems
required.
2021-03-19 15:23:32 +09:00
Bartłomiej Dach
b419d2c2e2 Fix invalid xmldoc indent 2021-03-18 19:52:38 +01:00
Bartłomiej Dach
aec859b4d1 Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-18 19:51:46 +01:00
Dean Herbert
5b0d75ee56 Only trim trailing spaces to avoid breakage in storyboard parsing 2021-03-18 16:30:30 +09:00
Dean Herbert
2bdffd1004 Move skin requery logic into extension methods 2021-03-15 13:11:58 +09:00
Roman Kapustin
0a1e325fc7 Extract requerying of navigational properties from DbContext 2021-03-14 19:34:53 +03:00
Salman Ahmed
43c1e1d217 Update existing usages
Resolve post-conflict issues
2021-03-13 06:09:07 +03:00
Salman Ahmed
2a2ee3fa5e Update legacy sprite text constructor 2021-03-13 06:05:36 +03:00
Salman Ahmed
64d1cb5193 Remove text skin components in favour of plain LegacySpriteTexts 2021-03-13 06:05:36 +03:00
Salman Ahmed
91741564e8 Add legacy font enum and extensions 2021-03-13 06:05:36 +03:00
Salman Ahmed
115c186cb7 Move hit circle font from osu! ruleset 2021-03-13 06:05:36 +03:00
Roman Kapustin
47b80d2474 Workaround InvalidOperation exceptions 2021-03-11 20:51:54 +03:00
Dean Herbert
b1cd01ceb8 Apply ConfigureAwait changes to game side 2021-03-08 14:36:35 +09:00
Dean Herbert
c4ba045df1 Add note about finalizers required for audio store clean-up 2021-03-02 16:07:51 +09:00
Dean Herbert
1fd76ea3fb Apply changes to UI components overriding functions with changing signatures 2021-02-22 19:01:42 +09:00
smoogipoo
f48e017ac9 Move nested class to bottom of file 2021-02-22 18:34:05 +09:00
smoogipoo
0bda9e4b79 Implement some new methods 2021-02-22 18:31:33 +09:00
smoogipoo
ee6a94273d Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-02-22 18:31:27 +09:00
Dean Herbert
fde026d443 Remove redundant interface specification 2021-02-22 14:54:48 +09:00
Dean Herbert
63dd55c92c Add missing methods from updated audio component interface implementation 2021-02-22 14:18:52 +09:00
Dean Herbert
487a39eea9 Update interface implementations with framework changes 2021-02-18 18:52:34 +09:00
Dean Herbert
880fe82073 Add sample wrapper in LegacySkin to keep a reference and avoid GC death 2021-02-18 18:32:51 +09:00
Dean Herbert
4aff54412a Move dispose method to end of file 2021-02-18 18:32:39 +09:00
Dean Herbert
00574a5288 Use ISample everywhere in Skin GetSample lookup path 2021-02-18 18:32:28 +09:00
Dean Herbert
143e145670 Update implementation of AdjustableAudioComponents 2021-02-18 15:44:23 +09:00
smoogipoo
9b5995f2f1 Update with removal of looping parameter 2021-02-12 19:05:17 +09:00
smoogipoo
0c3aef8645 Fix potential race in looping sample
As mentioned via GitHub comments. Very unlikely for this to happen unless: the sample takes a short amount of time to load, is very short itself, and the update thread stalls until the sample fully completes.
2021-02-12 17:42:35 +09:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Mysfit
3307e8357f DrawableStoryboardSample event method override for SamplePlaybackDisabledChanged 2021-01-26 00:36:32 -05:00
Bartłomiej Dach
b692abd3c2 Simplify condition from two to one operand 2021-01-22 20:35:34 +01:00
Mysfit
e0f8f6a23f introduce overrideable bool instead of copying event logic entirely 2021-01-22 12:09:40 -05:00
Mysfit
5b1bdfbdc5 Use callback method override 2021-01-21 20:06:24 -05:00
Mysfit
b53ad50cd4 Remove redundant variable 2021-01-21 18:00:37 -05:00
Mysfit
07ec0c0e0b Updated DrawableStoryboardSample to use GetBoundCopy() 2021-01-21 17:46:47 -05:00
Mysfit
b220939650 Fix storyboard samples continuing to play when the beatmap is paused or the intro is skipped. 2021-01-21 17:10:11 -05:00
smoogipoo
8ffbcc9860 Fix test failures and general discrepancies 2021-01-20 14:05:35 +09:00
smoogipoo
bdb9d4f7d0 Restart sound on play 2021-01-20 13:59:30 +09:00
smoogipoo
58269f9314 Update with framework changes 2021-01-20 13:35:43 +09:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
Dean Herbert
ced7a36788 Update namespaces 2021-01-18 21:24:10 +09:00
Dean Herbert
707d5346c9 Merge branch 'master' into fix-spinner-spinning-weirdness 2021-01-18 18:26:44 +09:00
Dean Herbert
94fee8c31d Avoid doing a config lookup if initial conditional fails 2021-01-18 16:13:58 +09:00
Dean Herbert
1364de1166
Merge branch 'master' into beatmap-colour-setting 2021-01-18 16:07:46 +09:00
Bartłomiej Dach
3c1a86d11d Trim braces for consistency 2021-01-15 22:04:45 +01:00
Dean Herbert
8a6857f151 Add support for playing a SkinnableSample without restarting it 2021-01-15 17:16:12 +09:00
Dean Herbert
ebbc32adfa Change conditional used to decide legacy judgement animation to match stable
In stable, the type of legacy judgement to show is based on the presence
of particle textures in the skin. We were using the skin version
instead, which turns out to be incorrect and not what some user skins
expect.

Closes #11078.
2021-01-15 14:51:27 +09:00
Mysfit
0c01a3a685 Found a better solution than TValue type checking for additional beatmap colour settings. Added unit tests for Catch Beatmap Skin settings. 2021-01-14 23:30:24 -05:00
Mysfit
99e43c77c2 Simplified colour config checks in SkinProvidingContainer.cs 2021-01-14 16:53:55 -05:00
Jesse Myers
562634dfd2
Improve naming around the config lookup with fallback private method.
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-13 16:49:14 -05:00
Mysfit
8b95817f7a Moved SkinProvidingContainer bindable fetching to common method. Replaced redundant test boolean declarations with inline values. 2021-01-13 16:05:46 -05:00
Mysfit
1248d39d7e Reverted change to AllowConfigurationLookup and added a separate AllowColourLookup bool with config case based on lookup type in SkinProvidingContainer GetConfig call. 2021-01-13 13:07:07 -05:00
Mysfit
7bfb5954a8 Fix whitespace formatting. 2021-01-13 00:25:54 -05:00
Mysfit
5f10bcce02 Added beatmap colour settings checkbox and associated tests. 2021-01-13 00:09:22 -05:00
Dean Herbert
13ef097a53 Annotate potentially null parameters in protected ctor of LegacySkin 2020-12-22 12:08:40 +09:00
Dean Herbert
10c2745682 Add region specifications around implicit interface implementations 2020-12-22 12:01:09 +09:00
Dean Herbert
a5bcf1dc20 Expose resources to skin via interface (and share common pieces with beatmap) 2020-12-21 15:18:52 +09:00
Dean Herbert
c002184768 Clamp osu!mania's HitPosition offset to match osu-stable implementation
Closes #11184.
2020-12-16 18:08:19 +09:00
smoogipoo
ca11eeefdf Merge branch 'master' into mania-legacyskin-scoreposition 2020-12-14 11:25:34 +09:00
Firmatorenio
3741c2339a simplify implementation and adjust the default values 2020-12-13 22:43:36 +06:00
Firmatorenio
2108844319 apply ScorePosition to the judgement container 2020-12-13 22:01:08 +06:00
Firmatorenio
b3d8347315 add support for ScorePosition into LegacyManiaSkin 2020-12-10 20:11:08 +06:00
Bartłomiej Dach
f6d15b9757 Invert back-to-front logic 2020-12-06 18:59:38 +01:00
Bartłomiej Dach
fcd9483ffa
Merge branch 'master' into fix-multiple-playback-on-skin-change 2020-12-06 18:21:24 +01:00
Dean Herbert
a0f92628ac Merge branch 'master' into fix-sample-expire 2020-12-04 13:49:08 +09:00
ekrctb
6c46046c24 Fix DHO expires while hit sound is playing 2020-12-03 12:32:49 +09:00
Bartłomiej Dach
2c57deea2b Trim double full-stop in xmldoc 2020-11-30 19:43:20 +01:00
smoogipoo
c29ad8edf8 Better API for dealing with the contained drawable samples 2020-11-30 19:26:25 +09:00
smoogipoo
f5e8d1d14d Lose old reference immediately on updateSample() 2020-11-30 19:19:24 +09:00
smoogipoo
afb8eb636d Apply simple PR reviews 2020-11-30 18:40:22 +09:00
smoogipoo
4bbeb9ebd4 Merge branch 'master' into hit-sample-pooling 2020-11-30 18:31:58 +09:00
Bartłomiej Dach
1c31a4a6b6 Expose animation start time as mutable in interface 2020-11-22 13:11:22 +01:00
Dean Herbert
a3b1d14f17 Apply similar fix to PoolableSkinnableSound 2020-11-22 14:44:39 +09:00
Bartłomiej Dach
240c1b0aef Add support for changing animation start time after load 2020-11-21 20:06:30 +01:00
Dean Herbert
8080fe942c Fix samples being played more than once on skin change 2020-11-20 20:38:26 +09:00
Dean Herbert
a00e0d7279 Move CanBeNull specification to the interface 2020-11-20 16:30:48 +09:00
Dean Herbert
7fe0923fcf Show main judgement content above hitobjects 2020-11-20 16:25:48 +09:00
smoogipoo
7c83a27002 Add more xmldocs 2020-11-19 22:48:21 +09:00
smoogipoo
8a656f7cee Fix missing SkinChanged event + safety 2020-11-19 22:42:44 +09:00
smoogipoo
d388c44428 Cleanup, refactoring, and restart sample on skin change 2020-11-19 22:30:21 +09:00
smoogipoo
0287269b2f Fix volume discrepancies 2020-11-19 21:21:30 +09:00
smoogipoo
70cb197957 Cleanups 2020-11-19 20:38:36 +09:00
smoogipoo
812d5d59b1 Fix looping not being propagated 2020-11-19 20:29:09 +09:00
smoogipoo
003fed857c Separate files 2020-11-19 19:52:34 +09:00
smoogipoo
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
Dean Herbert
9d04ce75cc Make particles additive and consume in judgement explosions 2020-11-19 15:47:02 +09:00
Dean Herbert
85c5c68dfa Provide particle drawable as a function (for future use) 2020-11-19 13:20:21 +09:00
Bartłomiej Dach
24d7fa03d8
Merge branch 'master' into legacy-jugement-match-stable-transforms 2020-11-18 20:33:58 +01:00
Bartłomiej Dach
5156de3a10
Merge branch 'master' into fix-judgement-transform-logic 2020-11-18 19:20:11 +01:00
Dean Herbert
c47e70da9b Update animations for new/old miss style and add fades 2020-11-18 19:03:34 +09:00
Dean Herbert
9d0a6de26e Fix SkinnableSprite initialising a drawable even when the texture is not available 2020-11-18 19:03:34 +09:00
Dean Herbert
5bd4ace37f Split out new and old style legacy judgement pieces 2020-11-18 19:03:34 +09:00
Dean Herbert
8be31f4805 Adjust legacy skin judgement transforms to match stable 2020-11-18 19:03:05 +09:00
Dean Herbert
bb1aacb360 Fix SkinnableSprite initialising a drawable even when the texture is not available 2020-11-18 18:07:00 +09:00
Bartłomiej Dach
57eaee27ae Rename param to match type better 2020-11-17 20:12:04 +01:00
Dean Herbert
dd4b69feab Add legacy judgement implementation which doesn't transform on animations 2020-11-17 15:46:57 +09:00
Dean Herbert
9a7fdb2b7e Move skin deletion logic to OsuGameBase to promote thread safety
`CurrentSkinInfo` is used in multiple places expecting thread safety,
while ItemRemoved events are explicitly mentioning they are not thread
safe. As SkinManager itself doesn't have the ability to schedule to the
update thread, I've just moved the logic to `OsuGameBase`. We may want
to move the current skin bindable out of the manager class in the
future to match things like `BeatmapManager`.

Closes https://github.com/ppy/osu/issues/10837.
2020-11-16 16:43:19 +09:00
Dean Herbert
8d38d9cc93 Add hotkey to select random skin 2020-11-11 13:05:03 +09:00
Dean Herbert
6b548ef5e4 Split out SkinInfo ID constants and fix random logic 2020-11-11 11:54:40 +09:00
Dean Herbert
a5e13e4d2c Merge branch 'master' into shuffle-skin 2020-11-11 11:34:48 +09:00
Dean Herbert
8706b51b77
Merge pull request #10717 from smoogipoo/dho-apply 2020-11-11 10:54:24 +09:00
Morilli
7b0e387dfc apply different offset based on whether the marker is newStyle or not 2020-11-09 08:20:19 +01:00
Morilli
490fbd1dd8 Fix ki* textures having an incorrect vertical position 2020-11-09 05:54:48 +01:00
smoogipoo
248d342a2f Initial Apply()/FreeAfterUse() DHO implementation 2020-11-06 23:02:37 +09:00
smoogipoo
2bef9312d9 Make SkinReloadableDrawable poolable 2020-11-06 22:15:06 +09:00
Dean Herbert
414daab1dc Fix paused samples potentially getting stuck in a playing state in rapid toggling
Closes #10693. Should be obvious why.
2020-11-05 16:14:23 +09:00
Dean Herbert
bc69ed3870 Simplify sample lookup 2020-10-30 22:33:27 +09:00
Dean Herbert
b906736b85 Remove redundant initialisation 2020-10-30 12:28:40 +09:00
Dean Herbert
d319b27b3d Run sample lookup logic through getFallbackNames 2020-10-30 11:59:41 +09:00
Dean Herbert
0b28cca7e6 Don't force Gameplay prefix on all skin sample lookups 2020-10-30 11:59:40 +09:00
Dean Herbert
39cf27637e Update to use virtual methods instead of reconstructing TextBuilder 2020-10-19 14:59:03 +09:00
Dean Herbert
cdb649476b Allow legacy text to display fixed width correctly 2020-10-19 14:33:53 +09:00
Bartłomiej Dach
a5b0307cfb Apply same fix to legacy accuracy counter 2020-10-17 15:39:26 +02:00
Bartłomiej Dach
0acc86f757 Split line for readability 2020-10-17 15:39:25 +02:00
unknown
bba9a0b2fe set sprite text anchor and origin to top right 2020-10-17 00:25:16 +08:00
Dan Balasescu
dff2ba6e5d
Merge pull request #10531 from peppy/fix-accuracy-scale
Adjust accuracy display to match stable
2020-10-16 23:52:30 +09:00
smoogipoo
dfbc0965e4 Merge branch 'master' into peppy/skinnable-health-display 2020-10-16 23:17:17 +09:00
Dean Herbert
e87f515a4f
Merge pull request #10522 from Morilli/legacyskin-fixes
Add support for ScorePrefix and ScoreOverlap values in legacy skins
2020-10-16 20:54:03 +09:00
Berkan Diler
fe3a23750c Use char overloads for string methods 2020-10-16 11:52:29 +02:00
Dean Herbert
2ba8bc45fd Also add slight adjustment to score display 2020-10-16 18:37:24 +09:00
Dean Herbert
cbaad4eb56 Adjust accuracy display to match stable 2020-10-16 18:34:14 +09:00
Dean Herbert
a774de2270 Also add support in LegacyComboCounter 2020-10-16 17:52:22 +09:00
Dean Herbert
24b0a1b84b Switch to direct casts (we can be sure LegacySpriteText is present at this point) 2020-10-16 17:40:07 +09:00
Dean Herbert
3ce6d1fea1 Remove unnecessary AccuracyText enum
All elements use "score" regardless.
2020-10-16 17:36:54 +09:00
Dean Herbert
e9c4b67cf4 Inline variable 2020-10-16 17:35:35 +09:00
Dean Herbert
05f1017c28 Fix lookup check not being updated to use prefix 2020-10-16 17:35:21 +09:00
Dean Herbert
a1892aa0a7 Only additive flash explosions over the epic cutoff 2020-10-16 17:25:55 +09:00
Dean Herbert
9572260e6d Add bulge and explode support 2020-10-16 17:09:00 +09:00
Dean Herbert
8104bd0f74 Add fill colour changes 2020-10-16 17:08:46 +09:00
Dean Herbert
5803c72b4c Add support for old marker style danger textures 2020-10-16 17:08:46 +09:00
Dean Herbert
f0b15813e2 Add support for both legacy styles 2020-10-16 17:08:46 +09:00
Dean Herbert
6d3a106a86 Simplify texture lookups 2020-10-16 17:08:46 +09:00
Dean Herbert
f28bcabae7 Avoid transforms per hp change 2020-10-16 17:08:46 +09:00
Dean Herbert
5be9e30cd0 Add legacy implementation 2020-10-16 17:08:46 +09:00
Dean Herbert
e89c5c3b3c Add dynamic compile exceptions to fix skin test scenes 2020-10-16 17:08:46 +09:00
Dean Herbert
c0a1f2158c Add basic component structure for skinnable health displays 2020-10-16 17:08:46 +09:00
Morilli
df1db8611c move skin-specific config retrieval to GetDrawableComponent 2020-10-16 08:36:20 +02:00
Morilli
085d8d0ecb Add support for ScorePrefix and ScoreOverlap values in legacy skins 2020-10-16 06:16:20 +02:00
Dean Herbert
88ffcb9234 Update EndsWith usages 2020-10-16 12:58:34 +09:00
Dean Herbert
cc41845f56 Add missing string function ordinal specifications 2020-10-16 12:49:31 +09:00
Dean Herbert
ca74cf824c Add padding 2020-10-15 18:24:28 +09:00