From b8a1831d98feb8fc6752a2755b66df55de66c832 Mon Sep 17 00:00:00 2001 From: smoogipoo <smoogipoo@smgi.me> Date: Tue, 21 Apr 2020 17:14:04 +0900 Subject: [PATCH 1/4] Read line widths from skin --- osu.Game/Skinning/LegacySkin.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/osu.Game/Skinning/LegacySkin.cs b/osu.Game/Skinning/LegacySkin.cs index 91f970d19f..003fa24d5b 100644 --- a/osu.Game/Skinning/LegacySkin.cs +++ b/osu.Game/Skinning/LegacySkin.cs @@ -249,6 +249,14 @@ namespace osu.Game.Skinning case LegacyManiaSkinConfigurationLookups.RightStageImage: return SkinUtils.As<TValue>(getManiaImage(existing, "StageRight")); + + case LegacyManiaSkinConfigurationLookups.LeftLineWidth: + Debug.Assert(maniaLookup.TargetColumn != null); + return SkinUtils.As<TValue>(new Bindable<float>(existing.ColumnLineWidth[maniaLookup.TargetColumn.Value])); + + case LegacyManiaSkinConfigurationLookups.RightLineWidth: + Debug.Assert(maniaLookup.TargetColumn != null); + return SkinUtils.As<TValue>(new Bindable<float>(existing.ColumnLineWidth[maniaLookup.TargetColumn.Value + 1])); } return null; From 0a2b585c65ca963a1fac0eb917328f329b722d54 Mon Sep 17 00:00:00 2001 From: smoogipoo <smoogipoo@smgi.me> Date: Tue, 21 Apr 2020 17:14:49 +0900 Subject: [PATCH 2/4] Apply missing scale --- osu.Game.Rulesets.Mania/Skinning/LegacyColumnBackground.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/osu.Game.Rulesets.Mania/Skinning/LegacyColumnBackground.cs b/osu.Game.Rulesets.Mania/Skinning/LegacyColumnBackground.cs index 6504321bb2..1a097405ac 100644 --- a/osu.Game.Rulesets.Mania/Skinning/LegacyColumnBackground.cs +++ b/osu.Game.Rulesets.Mania/Skinning/LegacyColumnBackground.cs @@ -67,6 +67,7 @@ namespace osu.Game.Rulesets.Mania.Skinning { RelativeSizeAxes = Axes.Y, Width = leftLineWidth, + Scale = new Vector2(0.740f, 1), Colour = lineColour, Alpha = hasLeftLine ? 1 : 0 }, @@ -76,6 +77,7 @@ namespace osu.Game.Rulesets.Mania.Skinning Origin = Anchor.TopRight, RelativeSizeAxes = Axes.Y, Width = rightLineWidth, + Scale = new Vector2(0.740f, 1), Colour = lineColour, Alpha = hasRightLine ? 1 : 0 }, From a41ac50e2f052854032131e62d12407e6fd3242d Mon Sep 17 00:00:00 2001 From: smoogipoo <smoogipoo@smgi.me> Date: Tue, 21 Apr 2020 17:15:06 +0900 Subject: [PATCH 3/4] Line widths should not receive scale factor --- osu.Game/Skinning/LegacyManiaSkinDecoder.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/osu.Game/Skinning/LegacyManiaSkinDecoder.cs b/osu.Game/Skinning/LegacyManiaSkinDecoder.cs index 2db902c182..a988bd589f 100644 --- a/osu.Game/Skinning/LegacyManiaSkinDecoder.cs +++ b/osu.Game/Skinning/LegacyManiaSkinDecoder.cs @@ -74,7 +74,7 @@ namespace osu.Game.Skinning switch (pair.Key) { case "ColumnLineWidth": - parseArrayValue(pair.Value, currentConfig.ColumnLineWidth); + parseArrayValue(pair.Value, currentConfig.ColumnLineWidth, false); break; case "ColumnSpacing": @@ -124,7 +124,7 @@ namespace osu.Game.Skinning pendingLines.Clear(); } - private void parseArrayValue(string value, float[] output) + private void parseArrayValue(string value, float[] output, bool applyScaleFactor = true) { string[] values = value.Split(','); @@ -133,7 +133,7 @@ namespace osu.Game.Skinning if (i >= output.Length) break; - output[i] = float.Parse(values[i], CultureInfo.InvariantCulture) * LegacyManiaSkinConfiguration.POSITION_SCALE_FACTOR; + output[i] = float.Parse(values[i], CultureInfo.InvariantCulture) * (applyScaleFactor ? LegacyManiaSkinConfiguration.POSITION_SCALE_FACTOR : 1); } } } From 4642a6093c2b6e5fa559059567e77863125e2c2a Mon Sep 17 00:00:00 2001 From: smoogipoo <smoogipoo@smgi.me> Date: Tue, 21 Apr 2020 17:15:13 +0900 Subject: [PATCH 4/4] Add test --- .../Resources/special-skin/mania-key1@2x.png | Bin 0 -> 12914 bytes .../Resources/special-skin/skin.ini | 6 ++++++ .../Skinning/TestSceneColumnBackground.cs | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 osu.Game.Rulesets.Mania.Tests/Resources/special-skin/mania-key1@2x.png create mode 100644 osu.Game.Rulesets.Mania.Tests/Resources/special-skin/skin.ini diff --git a/osu.Game.Rulesets.Mania.Tests/Resources/special-skin/mania-key1@2x.png b/osu.Game.Rulesets.Mania.Tests/Resources/special-skin/mania-key1@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..aa681f6f223ea44319b3a383935237d1a2e4b345 GIT binary patch literal 12914 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 literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Mania.Tests/Resources/special-skin/skin.ini b/osu.Game.Rulesets.Mania.Tests/Resources/special-skin/skin.ini new file mode 100644 index 0000000000..56564776b3 --- /dev/null +++ b/osu.Game.Rulesets.Mania.Tests/Resources/special-skin/skin.ini @@ -0,0 +1,6 @@ +[General] +Version: 2.4 + +[Mania] +Keys: 4 +ColumnLineWidth: 3,1,3,1,1 \ No newline at end of file diff --git a/osu.Game.Rulesets.Mania.Tests/Skinning/TestSceneColumnBackground.cs b/osu.Game.Rulesets.Mania.Tests/Skinning/TestSceneColumnBackground.cs index d6bacbe59e..bde323f187 100644 --- a/osu.Game.Rulesets.Mania.Tests/Skinning/TestSceneColumnBackground.cs +++ b/osu.Game.Rulesets.Mania.Tests/Skinning/TestSceneColumnBackground.cs @@ -37,7 +37,7 @@ namespace osu.Game.Rulesets.Mania.Tests.Skinning { RelativeSizeAxes = Axes.Both, Width = 0.5f, - Child = new SkinnableDrawable(new ManiaSkinComponent(ManiaSkinComponents.ColumnBackground, 0), _ => new DefaultColumnBackground()) + Child = new SkinnableDrawable(new ManiaSkinComponent(ManiaSkinComponents.ColumnBackground, 1), _ => new DefaultColumnBackground()) { RelativeSizeAxes = Axes.Both }