Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix beatmap skin always overriding ruleset HUD components #29427

Merged
merged 1 commit into from
Aug 15, 2024

Conversation

frenzibyte
Copy link
Member

The beatmap skin gets a legacy transformer applied to it, and the legacy transformer makes the beatmap skin always return the ruleset-specific HUD components as legacy regardless of availability of assets.

This does not happen on the global/non-ruleset-specific target because of this line:

// this should exist in LegacySkin instead, but there isn't a fallback skin for LegacySkins yet.
// therefore keep the check here until fallback default legacy skin is supported.
if (!this.HasFont(LegacyFont.Score))
return null;

So basically do the same on each transformer that attempts to return a list of components.

This adds one extra level of complexity and there are questions to ask about this direction such as "what if there are assets available for one part of the HUD component but not the other?", but this is temporary at best and the entire skinning system will be rethought after having this concept of "ruleset-specific skinning components".

This will also solve the issue mentioned in #26254 (comment) / #26254 (review) (technically #26254 will have to apply this change to the mania transformer, it can't be done here).

@frenzibyte frenzibyte added area:skinning next release Pull requests which are almost there. We'll aim to get them in the next release, but no guarantees! labels Aug 15, 2024
@smoogipoo smoogipoo requested a review from peppy August 15, 2024 08:09
@peppy peppy merged commit e7b4a2f into ppy:master Aug 15, 2024
11 of 13 checks passed
@frenzibyte frenzibyte deleted the fix-ruleset-components-beatmap-skin branch August 15, 2024 10:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:skinning next release Pull requests which are almost there. We'll aim to get them in the next release, but no guarantees! size/XS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ruleset only components not visible
2 participants