diff --git a/OpenRA.Game/Widgets/CheckboxWidget.cs b/OpenRA.Game/Widgets/CheckboxWidget.cs index a8c1fd41e5..a26532fd1d 100644 --- a/OpenRA.Game/Widgets/CheckboxWidget.cs +++ b/OpenRA.Game/Widgets/CheckboxWidget.cs @@ -42,6 +42,7 @@ namespace OpenRA.Widgets public override void Draw() { var disabled = IsDisabled(); + var highlighted = IsHighlighted(); var font = Game.Renderer.Fonts[Font]; var color = GetColor(); var colordisabled = GetColorDisabled(); @@ -50,6 +51,7 @@ namespace OpenRA.Widgets var textSize = font.Measure(Text); var check = new Rectangle(rect.Location, new Size(Bounds.Height, Bounds.Height)); var state = disabled ? "checkbox-disabled" : + highlighted ? "checkbox-highlighted" : Depressed && HasPressedState ? "checkbox-pressed" : Ui.MouseOverWidget == this ? "checkbox-hover" : "checkbox"; diff --git a/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs index a7f0597644..3d75b073f0 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs @@ -284,6 +284,14 @@ namespace OpenRA.Mods.RA.Widgets.Logic }; } + var statusCheckbox = lobby.GetOrNull("STATUS_CHECKBOX"); + if (statusCheckbox != null) + { + statusCheckbox.IsHighlighted = () => !statusCheckbox.IsChecked() && + orderManager.LobbyInfo.FirstEmptySlot() == null && + world.FrameNumber / 25 % 2 == 0; + } + // Options panel var allowCheats = optionsBin.GetOrNull("ALLOWCHEATS_CHECKBOX"); if (allowCheats != null) diff --git a/mods/cnc/chrome.yaml b/mods/cnc/chrome.yaml index dbbdd57a0a..56db6af84a 100644 --- a/mods/cnc/chrome.yaml +++ b/mods/cnc/chrome.yaml @@ -315,6 +315,18 @@ checkbox-pressed: chrome.png corner-bl: 64,254,2,2 corner-br: 126,254,2,2 +# A copy of button-highlighted-pressed +checkbox-highlighted: chrome.png + background: 257,161,30,30 + border-r: 287,161,1,30 + border-l: 256,161,1,30 + border-b: 257,191,30,1 + border-t: 257,160,30,1 + corner-tl: 256,160,1,1 + corner-tr: 287,160,1,1 + corner-bl: 256,191,1,1 + corner-br: 287,191,1,1 + panel-black: chrome.png background: 66,2,60,60 border-r: 126,2,2,60 diff --git a/mods/d2k/chrome.yaml b/mods/d2k/chrome.yaml index 8d8a934802..067611459a 100644 --- a/mods/d2k/chrome.yaml +++ b/mods/d2k/chrome.yaml @@ -544,7 +544,19 @@ checkbox-disabled: dialog.png corner-tr: 767,256,1,1 corner-bl: 640,383,1,1 corner-br: 767,383,1,1 - + +# Same as button-highlighted-pressed +checkbox-highlighted: dialog.png + background: 897,1,126,126 + border-r: 1023,1,1,126 + border-l: 896,1,1,126 + border-b: 897,127,126,1 + border-t: 897,0,126,1 + corner-tl: 896,0,1,1 + corner-tr: 1023,0,1,1 + corner-bl: 896,127,1,1 + corner-br: 1023,127,1,1 + # A copy of dialog3 (pressed button) scrollitem-selected: dialog.png background: 641,1,126,126 @@ -556,7 +568,7 @@ scrollitem-selected: dialog.png corner-tr: 767,0,1,1 corner-bl: 640,127,1,1 corner-br: 767,127,1,1 - + # A copy of dialog2 (normal button) scrollitem-hover: dialog.png background: 513,1,126,126 diff --git a/mods/ra/chrome.yaml b/mods/ra/chrome.yaml index 69dd4d7248..de1938643b 100644 --- a/mods/ra/chrome.yaml +++ b/mods/ra/chrome.yaml @@ -495,6 +495,18 @@ checkbox-disabled: dialog.png corner-bl: 640,383,1,1 corner-br: 767,383,1,1 +# Same as button-highlighted-pressed +checkbox-highlighted: dialog.png + background: 897,1,126,126 + border-r: 1023,1,1,126 + border-l: 896,1,1,126 + border-b: 897,127,126,1 + border-t: 897,0,126,1 + corner-tl: 896,0,1,1 + corner-tr: 1023,0,1,1 + corner-bl: 896,127,1,1 + corner-br: 1023,127,1,1 + # A copy of dialog3 (pressed button) scrollitem-selected: dialog.png background: 641,1,126,126 diff --git a/mods/ts/chrome.yaml b/mods/ts/chrome.yaml index 78f590ea7e..48b3f4257c 100644 --- a/mods/ts/chrome.yaml +++ b/mods/ts/chrome.yaml @@ -314,9 +314,9 @@ button-highlighted-pressed: dialog.png corner-tl: 896,0,1,1 corner-tr: 1023,0,1,1 corner-bl: 896,127,1,1 - corner-br: 1023,127,1,1 + corner-br: 1023,127,1,1 -# A copy of button-highlighted +# A copy of button-highlighted button-highlighted-disabled: dialog.png background: 769,1,126,126 border-r: 639,1,1,126 @@ -388,7 +388,7 @@ textfield: dialog.png corner-bl: 640,127,1,1 corner-br: 767,127,1,1 -# A copy of checkbox-hover +# A copy of checkbox-hover textfield-hover: dialog.png background: 641,129,126,126 border-r: 767,129,1,126 @@ -488,7 +488,19 @@ checkbox-disabled: dialog.png corner-tr: 767,256,1,1 corner-bl: 640,383,1,1 corner-br: 767,383,1,1 - + +# Same as a button-highlighted-pressed +checkbox-highlighted: dialog.png + background: 897,1,126,126 + border-r: 1023,1,1,126 + border-l: 896,1,1,126 + border-b: 897,127,126,1 + border-t: 897,0,126,1 + corner-tl: 896,0,1,1 + corner-tr: 1023,0,1,1 + corner-bl: 896,127,1,1 + corner-br: 1023,127,1,1 + # A copy of dialog3 (pressed button) scrollitem-selected: dialog.png background: 641,1,126,126 @@ -500,7 +512,7 @@ scrollitem-selected: dialog.png corner-tr: 767,0,1,1 corner-bl: 640,127,1,1 corner-br: 767,127,1,1 - + # A copy of dialog2 (normal button) scrollitem-hover: dialog.png background: 513,1,126,126