diff --git a/OpenRA.Game/Widgets/MapPreviewWidget.cs b/OpenRA.Game/Widgets/MapPreviewWidget.cs index cf58709fd1..928066c406 100644 --- a/OpenRA.Game/Widgets/MapPreviewWidget.cs +++ b/OpenRA.Game/Widgets/MapPreviewWidget.cs @@ -124,7 +124,7 @@ namespace OpenRA.Widgets Game.Renderer.RgbaSpriteRenderer.DrawSprite(sprite, pos - offset); var fonts = Game.Renderer.Fonts[ChromeMetrics.Get("SpawnFont")]; - var number = Convert.ToString(spawnPoints.IndexOf(p) + 1); + var number = Convert.ToChar('A' + spawnPoints.IndexOf(p)).ToString(); offset = fonts.Measure(number) / 2; offset.Y += 1; // Does not center well vertically for some reason fonts.DrawTextWithContrast(number, pos - offset, ChromeMetrics.Get("SpawnColor"), ChromeMetrics.Get("SpawnContrastColor"), 1); diff --git a/OpenRA.Mods.RA/Widgets/Logic/LobbyUtils.cs b/OpenRA.Mods.RA/Widgets/Logic/LobbyUtils.cs index f86208893a..554679f1de 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/LobbyUtils.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/LobbyUtils.cs @@ -89,18 +89,19 @@ namespace OpenRA.Mods.RA.Widgets.Logic } public static void ShowSpawnDropDown(DropDownButtonWidget dropdown, Session.Client client, - OrderManager orderManager, int teamCount) + OrderManager orderManager, IEnumerable spawnPoints) { Func setupItem = (ii, itemTemplate) => { + var spawnPoint = spawnPoints.ToList()[ii]; var item = ScrollItemWidget.Setup(itemTemplate, - () => client.SpawnPoint == ii, - () => SetSpawnPoint(orderManager, client, ii)); - item.Get("LABEL").GetText = () => ii == 0 ? "-" : ii.ToString(); + () => client.SpawnPoint == spawnPoint, + () => SetSpawnPoint(orderManager, client, spawnPoint)); + item.Get("LABEL").GetText = () => spawnPoint == 0 ? "-" : Convert.ToChar('A' - 1 + spawnPoint).ToString(); return item; }; - var options = Exts.MakeArray(teamCount + 1, i => i).ToList(); + var options = Exts.MakeArray(spawnPoints.Count(), i => i).ToList(); dropdown.ShowDropDown("SPAWN_DROPDOWN_TEMPLATE", 150, options, setupItem); } @@ -407,8 +408,9 @@ namespace OpenRA.Mods.RA.Widgets.Logic { var dropdown = parent.Get("SPAWN"); dropdown.IsDisabled = () => s.LockSpawn || orderManager.LocalClient.IsReady; - dropdown.OnMouseDown = _ => ShowSpawnDropDown(dropdown, c, orderManager, map.PlayerCount); - dropdown.GetText = () => (c.SpawnPoint == 0) ? "-" : c.SpawnPoint.ToString(); + dropdown.OnMouseDown = _ => ShowSpawnDropDown(dropdown, c, orderManager, Enumerable.Range(0, map.PlayerCount + 1) + .Except(orderManager.LobbyInfo.Clients.Where(client => client != c && client.SpawnPoint != 0).Select(client => client.SpawnPoint))); + dropdown.GetText = () => (c.SpawnPoint == 0) ? "-" : Convert.ToChar('A' - 1 + c.SpawnPoint).ToString(); } public static void SetupSpawnWidget(Widget parent, Session.Slot s, Session.Client c) diff --git a/artsrc/cnc/chrome.svg b/artsrc/cnc/chrome.svg index ecd33e9e92..c7073554e1 100644 --- a/artsrc/cnc/chrome.svg +++ b/artsrc/cnc/chrome.svg @@ -13,9 +13,9 @@ height="512" id="svg2" version="1.1" - inkscape:version="0.48.2 r9819" + inkscape:version="0.48.4 r9939" sodipodi:docname="chrome.svg" - inkscape:export-filename="/Users/paul/src/OpenRA/mods/cnc/uibits/chrome.png" + inkscape:export-filename="D:\Documents\Visual Studio 2013\Projects\OpenRA\mods\cnc\uibits\chrome.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" enable-background="new"> @@ -99,17 +99,17 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="11.313708" - inkscape:cx="399.83211" - inkscape:cy="452.59159" + inkscape:zoom="7.9999996" + inkscape:cx="465.51623" + inkscape:cy="457.58054" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" - inkscape:window-width="1151" - inkscape:window-height="1004" - inkscape:window-x="540" - inkscape:window-y="22" - inkscape:window-maximized="0" + inkscape:window-width="1680" + inkscape:window-height="1027" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" showguides="true" inkscape:guide-bbox="true"> image/svg+xml - + @@ -696,7 +696,7 @@ d="m 280,556.36218 -8,8 0,0 8,8 z" style="fill:#ffffff;fill-opacity:1;stroke:none" /> @@ -1403,6 +1403,49 @@ id="path4056" inkscape:connector-curvature="0" sodipodi:nodetypes="csssssssccssssssscc" /> + + + + - + transform="matrix(0.67186134,0,0,0.67186135,2.4923191,2.6844376)" /> + transform="matrix(0.59188312,0,0,0.59188312,3.1479522,3.317201)" + inkscape:export-filename="D:\Documents\Visual Studio 2013\Projects\OpenRA\mods\ra\uibits\path3782-1.png" + inkscape:export-xdpi="180" + inkscape:export-ydpi="180" /> + transform="matrix(0.52786438,0,0,0.52786438,3.6727551,3.8236978)" /> + transform="matrix(0.52788567,0,0,0.52788567,19.672581,3.8235293)" />