From 9c251e8b6a2b96da7a96d19e6df99b1a838e3a65 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Tue, 24 Mar 2020 18:17:41 +0000 Subject: [PATCH] Fix detection circle line rendering. --- .../Graphics/DetectionCircleAnnotationRenderable.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/OpenRA.Mods.Common/Graphics/DetectionCircleAnnotationRenderable.cs b/OpenRA.Mods.Common/Graphics/DetectionCircleAnnotationRenderable.cs index 1c69b0394d..74f9fff0d6 100644 --- a/OpenRA.Mods.Common/Graphics/DetectionCircleAnnotationRenderable.cs +++ b/OpenRA.Mods.Common/Graphics/DetectionCircleAnnotationRenderable.cs @@ -66,18 +66,17 @@ namespace OpenRA.Mods.Common.Graphics public IFinalizedRenderable PrepareRender(WorldRenderer wr) { return this; } public void Render(WorldRenderer wr) { - var wcr = Game.Renderer.WorldRgbaColorRenderer; - var center = wr.Screen3DPosition(centerPosition); + var cr = Game.Renderer.RgbaColorRenderer; + var center = wr.Viewport.WorldToViewPx(wr.Screen3DPosition(centerPosition)); for (var i = 0; i < trailCount; i++) { var angle = trailAngle - new WAngle(i * (trailSeparation.Angle <= 512 ? 1 : -1)); var length = radius.Length * new WVec(angle.Cos(), angle.Sin(), 0) / 1024; - var end = wr.Screen3DPosition(centerPosition + length); + var end = wr.Viewport.WorldToViewPx(wr.Screen3DPosition(centerPosition + length)); var alpha = color.A - i * color.A / trailCount; - - wcr.DrawLine(center, end, 3, Color.FromArgb(alpha, contrastColor)); - wcr.DrawLine(center, end, 1, Color.FromArgb(alpha, color)); + cr.DrawLine(center, end, 3, Color.FromArgb(alpha, contrastColor)); + cr.DrawLine(center, end, 1, Color.FromArgb(alpha, color)); } RangeCircleAnnotationRenderable.DrawRangeCircle(wr, centerPosition, radius, 1, color, 3, contrastColor);