From bea3653c520b00f46305232a6704dc078179d5b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Tue, 3 Jun 2025 12:46:09 +0200 Subject: [PATCH] Fix argon & triangles skins reading legacy slider colour overrides from beatmap skins Closes https://github.com/ppy/osu/issues/33383. --- osu.Game.Rulesets.Osu/Skinning/Default/PlaySliderBody.cs | 7 ++++--- osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBody.cs | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/PlaySliderBody.cs b/osu.Game.Rulesets.Osu/Skinning/Default/PlaySliderBody.cs index bda1e6cf41..7b43886057 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/PlaySliderBody.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/PlaySliderBody.cs @@ -44,10 +44,11 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default SnakingOut.BindTo(configSnakingOut); - BorderColour = skin.GetConfig(OsuSkinColour.SliderBorder)?.Value ?? Color4.White; + BorderColour = GetBorderColour(skin); } - protected virtual Color4 GetBodyAccentColour(ISkinSource skin, Color4 hitObjectAccentColour) => - skin.GetConfig(OsuSkinColour.SliderTrackOverride)?.Value ?? hitObjectAccentColour; + protected virtual Color4 GetBorderColour(ISkinSource skin) => Color4.White; + + protected virtual Color4 GetBodyAccentColour(ISkinSource skin, Color4 hitObjectAccentColour) => hitObjectAccentColour; } } diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBody.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBody.cs index b54bb44f94..43b7260e2c 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBody.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBody.cs @@ -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.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.SliderTrackOverride)?.Value ?? hitObjectAccentColour).Opacity(0.7f); private partial class LegacyDrawableSliderPath : DrawableSliderPath {