From 7267602b951db6c708d379331bf7173528615c24 Mon Sep 17 00:00:00 2001
From: AbstractQbit <38468635+AbstractQbit@users.noreply.github.com>
Date: Mon, 13 Sep 2021 17:14:39 +0300
Subject: [PATCH 1/2] Fix icon orientation for horizontal bar hit error meter
---
.../HUD/HitErrorMeters/BarHitErrorMeter.cs | 20 +++++++++++++------
osu.Game/Skinning/LegacySkin.cs | 1 +
2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/osu.Game/Screens/Play/HUD/HitErrorMeters/BarHitErrorMeter.cs b/osu.Game/Screens/Play/HUD/HitErrorMeters/BarHitErrorMeter.cs
index 89f61785e8..a557e0acd7 100644
--- a/osu.Game/Screens/Play/HUD/HitErrorMeters/BarHitErrorMeter.cs
+++ b/osu.Game/Screens/Play/HUD/HitErrorMeters/BarHitErrorMeter.cs
@@ -33,6 +33,8 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
private const float chevron_size = 8;
private SpriteIcon arrow;
+ private SpriteIcon iconEarly;
+ private SpriteIcon iconLate;
private Container colourBarsEarly;
private Container colourBarsLate;
@@ -97,25 +99,21 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
RelativeSizeAxes = Axes.Both,
Height = 0.5f,
},
- new SpriteIcon
+ iconEarly = new SpriteIcon
{
Y = -10,
Size = new Vector2(10),
Icon = FontAwesome.Solid.ShippingFast,
Anchor = Anchor.TopCentre,
Origin = Anchor.Centre,
- // undo any layout rotation to display the icon the correct orientation
- Rotation = -Rotation,
},
- new SpriteIcon
+ iconLate = new SpriteIcon
{
Y = 10,
Size = new Vector2(10),
Icon = FontAwesome.Solid.Bicycle,
Anchor = Anchor.BottomCentre,
Origin = Anchor.Centre,
- // undo any layout rotation to display the icon the correct orientation
- Rotation = -Rotation,
}
}
},
@@ -130,6 +128,7 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
};
createColourBars(colours);
+ OrientIcons();
}
protected override void LoadComplete()
@@ -143,6 +142,15 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
arrow.Delay(200).FadeInFromZero(600);
}
+ ///
+ /// Method to undo any layout rotation to display icons in the correct orientation.
+ ///
+ public void OrientIcons()
+ {
+ iconEarly.Rotation = -Rotation;
+ iconLate.Rotation = -Rotation;
+ }
+
private void createColourBars(OsuColour colours)
{
var windows = HitWindows.GetAllAvailableWindows().ToArray();
diff --git a/osu.Game/Skinning/LegacySkin.cs b/osu.Game/Skinning/LegacySkin.cs
index b09620411b..41f5b7ae46 100644
--- a/osu.Game/Skinning/LegacySkin.cs
+++ b/osu.Game/Skinning/LegacySkin.cs
@@ -376,6 +376,7 @@ namespace osu.Game.Skinning
hitError.Anchor = Anchor.BottomCentre;
hitError.Origin = Anchor.CentreLeft;
hitError.Rotation = -90;
+ if (hitError is BarHitErrorMeter barHitError) barHitError.OrientIcons();
}
if (songProgress != null)
From 3c75094f4350181f3e1e9a5dc070231a94906280 Mon Sep 17 00:00:00 2001
From: AbstractQbit <38468635+AbstractQbit@users.noreply.github.com>
Date: Mon, 13 Sep 2021 19:41:55 +0300
Subject: [PATCH 2/2] Move `BarHitErrorMeter`'s icon reorintation to `Update()`
---
.../Screens/Play/HUD/HitErrorMeters/BarHitErrorMeter.cs | 9 ++++-----
osu.Game/Skinning/LegacySkin.cs | 1 -
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/osu.Game/Screens/Play/HUD/HitErrorMeters/BarHitErrorMeter.cs b/osu.Game/Screens/Play/HUD/HitErrorMeters/BarHitErrorMeter.cs
index a557e0acd7..7562df5a3b 100644
--- a/osu.Game/Screens/Play/HUD/HitErrorMeters/BarHitErrorMeter.cs
+++ b/osu.Game/Screens/Play/HUD/HitErrorMeters/BarHitErrorMeter.cs
@@ -128,7 +128,6 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
};
createColourBars(colours);
- OrientIcons();
}
protected override void LoadComplete()
@@ -142,11 +141,11 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
arrow.Delay(200).FadeInFromZero(600);
}
- ///
- /// Method to undo any layout rotation to display icons in the correct orientation.
- ///
- public void OrientIcons()
+ protected override void Update()
{
+ base.Update();
+
+ // undo any layout rotation to display icons in the correct orientation
iconEarly.Rotation = -Rotation;
iconLate.Rotation = -Rotation;
}
diff --git a/osu.Game/Skinning/LegacySkin.cs b/osu.Game/Skinning/LegacySkin.cs
index 41f5b7ae46..b09620411b 100644
--- a/osu.Game/Skinning/LegacySkin.cs
+++ b/osu.Game/Skinning/LegacySkin.cs
@@ -376,7 +376,6 @@ namespace osu.Game.Skinning
hitError.Anchor = Anchor.BottomCentre;
hitError.Origin = Anchor.CentreLeft;
hitError.Rotation = -90;
- if (hitError is BarHitErrorMeter barHitError) barHitError.OrientIcons();
}
if (songProgress != null)