1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-21 05:01:20 +08:00

Merge pull request #33400 from bdach/argon-slider-body-colour

Fix argon & triangles skins reading legacy slider colour overrides from beatmap skins
This commit is contained in:
Dan Balasescu
2025-06-03 20:43:14 +09:00
committed by GitHub
Unverified
2 changed files with 8 additions and 6 deletions
@@ -44,10 +44,11 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default
SnakingOut.BindTo(configSnakingOut);
BorderColour = skin.GetConfig<OsuSkinColour, Color4>(OsuSkinColour.SliderBorder)?.Value ?? Color4.White;
BorderColour = GetBorderColour(skin);
}
protected virtual Color4 GetBodyAccentColour(ISkinSource skin, Color4 hitObjectAccentColour) =>
skin.GetConfig<OsuSkinColour, Color4>(OsuSkinColour.SliderTrackOverride)?.Value ?? hitObjectAccentColour;
protected virtual Color4 GetBorderColour(ISkinSource skin) => Color4.White;
protected virtual Color4 GetBodyAccentColour(ISkinSource skin, Color4 hitObjectAccentColour) => hitObjectAccentColour;
}
}
@@ -15,11 +15,12 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy
{
protected override DrawableSliderPath CreateSliderPath() => new LegacyDrawableSliderPath();
protected override Color4 GetBorderColour(ISkinSource skin)
=> skin.GetConfig<OsuSkinColour, Color4>(OsuSkinColour.SliderBorder)?.Value ?? Color4.White;
protected override Color4 GetBodyAccentColour(ISkinSource skin, Color4 hitObjectAccentColour)
{
// legacy skins use a constant value for slider track alpha, regardless of the source colour.
return base.GetBodyAccentColour(skin, hitObjectAccentColour).Opacity(0.7f);
}
=> (skin.GetConfig<OsuSkinColour, Color4>(OsuSkinColour.SliderTrackOverride)?.Value ?? hitObjectAccentColour).Opacity(0.7f);
private partial class LegacyDrawableSliderPath : DrawableSliderPath
{