From 965fe88755fe95119b866f2eb0887a4152b537e1 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 31 Dec 2011 11:32:59 +1300 Subject: [PATCH] #1284 fixed; don't show spawnpoints on serverbrowser thumbnails --- OpenRA.Game/Widgets/MapPreviewWidget.cs | 25 +++++++++++++++---------- mods/cnc/chrome/serverbrowser.yaml | 1 + mods/ra/chrome/serverbrowser.yaml | 1 + 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/OpenRA.Game/Widgets/MapPreviewWidget.cs b/OpenRA.Game/Widgets/MapPreviewWidget.cs index 7231d8cbd6..7228805b2b 100644 --- a/OpenRA.Game/Widgets/MapPreviewWidget.cs +++ b/OpenRA.Game/Widgets/MapPreviewWidget.cs @@ -22,6 +22,7 @@ namespace OpenRA.Widgets public Func> SpawnColors = () => new Dictionary(); public Action OnMouseDown = _ => {}; public bool IgnoreMouseInput = false; + public bool ShowSpawnPoints = true; static Cache PreviewCache = new Cache(stub => Minimap.RenderMapPreview( new Map( stub.Path ))); @@ -33,6 +34,7 @@ namespace OpenRA.Widgets lastMap = other.lastMap; Map = other.Map; SpawnColors = other.SpawnColors; + ShowSpawnPoints = other.ShowSpawnPoints; } public override Widget Clone() { return new MapPreviewWidget(this); } @@ -90,19 +92,22 @@ namespace OpenRA.Widgets new float2(MapRect.Location), new float2( MapRect.Size ) ); - // Overlay spawnpoints - var colors = SpawnColors(); - foreach (var p in map.GetSpawnPoints()) + if (ShowSpawnPoints) { - var owned = colors.ContainsKey(p); - var pos = ConvertToPreview(p); - var sprite = ChromeProvider.GetImage("spawnpoints", owned ? "owned" : "unowned"); - var offset = new int2(-sprite.bounds.Width/2, -sprite.bounds.Height/2); + var colors = SpawnColors(); - if (owned) - WidgetUtils.FillRectWithColor(new Rectangle(pos.X + offset.X + 2, pos.Y + offset.Y + 2, 12, 12), colors[p]); + foreach (var p in map.GetSpawnPoints()) + { + var owned = colors.ContainsKey(p); + var pos = ConvertToPreview(p); + var sprite = ChromeProvider.GetImage("spawnpoints", owned ? "owned" : "unowned"); + var offset = new int2(-sprite.bounds.Width/2, -sprite.bounds.Height/2); - Game.Renderer.RgbaSpriteRenderer.DrawSprite(sprite, pos + offset); + if (owned) + WidgetUtils.FillRectWithColor(new Rectangle(pos.X + offset.X + 2, pos.Y + offset.Y + 2, 12, 12), colors[p]); + + Game.Renderer.RgbaSpriteRenderer.DrawSprite(sprite, pos + offset); + } } } } diff --git a/mods/cnc/chrome/serverbrowser.yaml b/mods/cnc/chrome/serverbrowser.yaml index 1be729df57..3f033c0b26 100644 --- a/mods/cnc/chrome/serverbrowser.yaml +++ b/mods/cnc/chrome/serverbrowser.yaml @@ -38,6 +38,7 @@ Container@SERVERBROWSER_PANEL: Y:2 Width:64 Height:64 + ShowSpawnPoints:no Label@TITLE: Id:TITLE X:70 diff --git a/mods/ra/chrome/serverbrowser.yaml b/mods/ra/chrome/serverbrowser.yaml index 94a6f300fd..9fb227ec90 100644 --- a/mods/ra/chrome/serverbrowser.yaml +++ b/mods/ra/chrome/serverbrowser.yaml @@ -35,6 +35,7 @@ Background@JOINSERVER_BG: Y:2 Width:64 Height:64 + ShowSpawnPoints:no Label@TITLE: Id:TITLE X:70