diff --git a/OpenRA.Game/GameRules/UserSettings.cs b/OpenRA.Game/GameRules/UserSettings.cs index f94ea0ee27..0701d7855c 100644 --- a/OpenRA.Game/GameRules/UserSettings.cs +++ b/OpenRA.Game/GameRules/UserSettings.cs @@ -56,6 +56,7 @@ namespace OpenRA.GameRules public int ExternalPort = 1234; public bool AdvertiseOnline = true; public string MasterServer = "http://open-ra.org/master/"; + public bool AllowCheats = false; string SettingsFile; UserSettings defaults; diff --git a/OpenRA.Game/Widgets/Delegates/CreateServerMenuDelegate.cs b/OpenRA.Game/Widgets/Delegates/CreateServerMenuDelegate.cs index 94497f2495..1bc797b341 100644 --- a/OpenRA.Game/Widgets/Delegates/CreateServerMenuDelegate.cs +++ b/OpenRA.Game/Widgets/Delegates/CreateServerMenuDelegate.cs @@ -44,7 +44,7 @@ namespace OpenRA.Widgets.Delegates Game.Settings.Save(); Server.Server.ServerMain(Game.Settings.AdvertiseOnline, Game.Settings.MasterServer, Game.Settings.LastServerTitle, - Game.Settings.ListenPort, Game.Settings.ExternalPort, mods, map, Game.Settings.DeveloperMode); + Game.Settings.ListenPort, Game.Settings.ExternalPort, mods, map, Game.Settings.AllowCheats); Game.JoinServer(IPAddress.Loopback.ToString(), Game.Settings.ListenPort); return true; @@ -59,6 +59,12 @@ namespace OpenRA.Widgets.Delegates Game.Settings.Save(); return true; }; + cs.GetWidget("CHECKBOX_CHEATS").Checked = () => Game.Settings.AllowCheats; + cs.GetWidget("CHECKBOX_CHEATS").OnMouseDown = mi => { + Game.Settings.AllowCheats ^=true; + Game.Settings.Save(); + return true; + }; } } } diff --git a/mods/cnc/chrome/serverbrowser.yaml b/mods/cnc/chrome/serverbrowser.yaml index e5ad8f2e12..522af0b1f2 100644 --- a/mods/cnc/chrome/serverbrowser.yaml +++ b/mods/cnc/chrome/serverbrowser.yaml @@ -6,7 +6,7 @@ Container@ROOT: X:(WINDOW_RIGHT - WIDTH)/2 Y:(WINDOW_BOTTOM - HEIGHT)/2 Width:400 - Height:210 + Height:240 Visible:false Children: Label@LABEL_TITLE: @@ -72,6 +72,13 @@ Container@ROOT: Width:300 Height:20 Text:Advertise game Online + Checkbox@CHECKBOX_CHEATS: + Id:CHECKBOX_CHEATS + X:165 + Y:160 + Width:300 + Height:20 + Text:Allow Cheats Button@BUTTON_START: Id:BUTTON_START X:130 diff --git a/mods/ra/chrome/serverbrowser.yaml b/mods/ra/chrome/serverbrowser.yaml index e5ad8f2e12..522af0b1f2 100644 --- a/mods/ra/chrome/serverbrowser.yaml +++ b/mods/ra/chrome/serverbrowser.yaml @@ -6,7 +6,7 @@ Container@ROOT: X:(WINDOW_RIGHT - WIDTH)/2 Y:(WINDOW_BOTTOM - HEIGHT)/2 Width:400 - Height:210 + Height:240 Visible:false Children: Label@LABEL_TITLE: @@ -72,6 +72,13 @@ Container@ROOT: Width:300 Height:20 Text:Advertise game Online + Checkbox@CHECKBOX_CHEATS: + Id:CHECKBOX_CHEATS + X:165 + Y:160 + Width:300 + Height:20 + Text:Allow Cheats Button@BUTTON_START: Id:BUTTON_START X:130