Fix traceable sliders incorrectly being opaque

Closes https://github.com/ppy/osu/issues/14449.
Regressed in https://github.com/ppy/osu/pull/14205.
This commit is contained in:
Dean Herbert
2021-08-31 20:12:40 +09:00
parent d6a0d2aa44
commit 3f93aa1507
2 changed files with 19 additions and 4 deletions

View File

@ -22,8 +22,6 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy
// Roughly matches osu!stable's slider border portions. // Roughly matches osu!stable's slider border portions.
=> base.CalculatedBorderPortion * 0.77f; => base.CalculatedBorderPortion * 0.77f;
public new Color4 AccentColour => new Color4(base.AccentColour.R, base.AccentColour.G, base.AccentColour.B, 0.7f);
protected override Color4 ColourAt(float position) protected override Color4 ColourAt(float position)
{ {
float realBorderPortion = shadow_portion + CalculatedBorderPortion; float realBorderPortion = shadow_portion + CalculatedBorderPortion;

View File

@ -3,9 +3,11 @@
using System; using System;
using osu.Framework.Bindables; using osu.Framework.Bindables;
using osu.Framework.Extensions.Color4Extensions;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Game.Skinning; using osu.Game.Skinning;
using osuTK; using osuTK;
using osuTK.Graphics;
namespace osu.Game.Rulesets.Osu.Skinning.Legacy namespace osu.Game.Rulesets.Osu.Skinning.Legacy
{ {
@ -118,8 +120,23 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy
{ {
switch (lookup) switch (lookup)
{ {
case OsuSkinColour colour: case OsuSkinColour colourLookup:
return base.GetConfig<SkinCustomColourLookup, TValue>(new SkinCustomColourLookup(colour)); var colour = base.GetConfig<SkinCustomColourLookup, TValue>(new SkinCustomColourLookup(colourLookup));
if (colour == null)
return null;
switch (colourLookup)
{
case OsuSkinColour.SliderTrackOverride:
var bindableColour = ((Bindable<Color4>)colour);
// legacy skins use a constant value for slider track alpha, regardless of the source colour.
bindableColour.Value = bindableColour.Value.Opacity(0.7f);
break;
}
return colour;
case OsuSkinConfiguration osuLookup: case OsuSkinConfiguration osuLookup:
switch (osuLookup) switch (osuLookup)