diff --git a/OpenRA.Game/Graphics/SelectionBarsRenderable.cs b/OpenRA.Game/Graphics/SelectionBarsRenderable.cs index 68a5c179a4..df6ed1a018 100644 --- a/OpenRA.Game/Graphics/SelectionBarsRenderable.cs +++ b/OpenRA.Game/Graphics/SelectionBarsRenderable.cs @@ -64,23 +64,24 @@ namespace OpenRA.Graphics void DrawSelectionBar(WorldRenderer wr, float2 start, float2 end, float value, Color barColor) { + var iz = 1 / wr.Viewport.Zoom; var c = Color.FromArgb(128, 30, 30, 30); var c2 = Color.FromArgb(128, 10, 10, 10); - var p = new float2(0, -4 / wr.Viewport.Zoom); - var q = new float2(0, -3 / wr.Viewport.Zoom); - var r = new float2(0, -2 / wr.Viewport.Zoom); + var p = new float2(0, -4 * iz); + var q = new float2(0, -3 * iz); + var r = new float2(0, -2 * iz); var barColor2 = Color.FromArgb(255, barColor.R / 2, barColor.G / 2, barColor.B / 2); var z = float2.Lerp(start, end, value); - var wlr = Game.Renderer.WorldLineRenderer; - wlr.DrawLine(start + p, end + p, c); - wlr.DrawLine(start + q, end + q, c2); - wlr.DrawLine(start + r, end + r, c); + var wcr = Game.Renderer.WorldRgbaColorRenderer; + wcr.DrawLine(start + p, end + p, iz, c); + wcr.DrawLine(start + q, end + q, iz, c2); + wcr.DrawLine(start + r, end + r, iz, c); - wlr.DrawLine(start + p, z + p, barColor2); - wlr.DrawLine(start + q, z + q, barColor); - wlr.DrawLine(start + r, z + r, barColor2); + wcr.DrawLine(start + p, z + p, iz, barColor2); + wcr.DrawLine(start + q, z + q, iz, barColor); + wcr.DrawLine(start + r, z + r, iz, barColor2); } Color GetHealthColor(IHealth health) @@ -120,9 +121,10 @@ namespace OpenRA.Graphics var c = Color.FromArgb(128, 30, 30, 30); var c2 = Color.FromArgb(128, 10, 10, 10); - var p = new float2(0, -4 / wr.Viewport.Zoom); - var q = new float2(0, -3 / wr.Viewport.Zoom); - var r = new float2(0, -2 / wr.Viewport.Zoom); + var iz = 1 / wr.Viewport.Zoom; + var p = new float2(0, -4 * iz); + var q = new float2(0, -3 * iz); + var r = new float2(0, -2 * iz); var healthColor = GetHealthColor(health); var healthColor2 = Color.FromArgb( @@ -133,14 +135,14 @@ namespace OpenRA.Graphics var z = float2.Lerp(start, end, (float)health.HP / health.MaxHP); - var wlr = Game.Renderer.WorldLineRenderer; - wlr.DrawLine(start + p, end + p, c); - wlr.DrawLine(start + q, end + q, c2); - wlr.DrawLine(start + r, end + r, c); + var wcr = Game.Renderer.WorldRgbaColorRenderer; + wcr.DrawLine(start + p, end + p, iz, c); + wcr.DrawLine(start + q, end + q, iz, c2); + wcr.DrawLine(start + r, end + r, iz, c); - wlr.DrawLine(start + p, z + p, healthColor2); - wlr.DrawLine(start + q, z + q, healthColor); - wlr.DrawLine(start + r, z + r, healthColor2); + wcr.DrawLine(start + p, z + p, iz, healthColor2); + wcr.DrawLine(start + q, z + q, iz, healthColor); + wcr.DrawLine(start + r, z + r, iz, healthColor2); if (health.DisplayHP != health.HP) { @@ -152,9 +154,9 @@ namespace OpenRA.Graphics deltaColor.B / 2); var zz = float2.Lerp(start, end, (float)health.DisplayHP / health.MaxHP); - wlr.DrawLine(z + p, zz + p, deltaColor2); - wlr.DrawLine(z + q, zz + q, deltaColor); - wlr.DrawLine(z + r, zz + r, deltaColor2); + wcr.DrawLine(z + p, zz + p, iz, deltaColor2); + wcr.DrawLine(z + q, zz + q, iz, deltaColor); + wcr.DrawLine(z + r, zz + r, iz, deltaColor2); } }