From 7efbf0633e0e0d38d1841f47169dbaf54eb23e83 Mon Sep 17 00:00:00 2001 From: deniz1a Date: Sun, 26 Jul 2015 03:25:43 +0300 Subject: [PATCH 1/2] Changes shroud lobby setting from disabling shroud to revealing it. --- OpenRA.Game/Traits/World/Shroud.cs | 2 +- OpenRA.Game/World.cs | 4 ++++ OpenRA.Mods.Common/Traits/RevealsShroud.cs | 4 +--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/OpenRA.Game/Traits/World/Shroud.cs b/OpenRA.Game/Traits/World/Shroud.cs index d9517f08ec..01e75e5e09 100644 --- a/OpenRA.Game/Traits/World/Shroud.cs +++ b/OpenRA.Game/Traits/World/Shroud.cs @@ -282,7 +282,7 @@ namespace OpenRA.Traits return explored.Contains(uv) && explored[uv] && (generatedShroudCount[uv] == 0 || visibleCount[uv] > 0); } - public bool ShroudEnabled { get { return !Disabled && self.World.LobbyInfo.GlobalSettings.Shroud; } } + public bool ShroudEnabled { get { return !Disabled; } } /// /// Returns a fast exploration lookup that skips the usual validation. diff --git a/OpenRA.Game/World.cs b/OpenRA.Game/World.cs index 94ce263507..be8fbd8a99 100644 --- a/OpenRA.Game/World.cs +++ b/OpenRA.Game/World.cs @@ -180,6 +180,10 @@ namespace OpenRA MapUid = Map.Uid, MapTitle = Map.Title }; + + if (!LobbyInfo.GlobalSettings.Shroud) + foreach (var player in Players) + player.Shroud.ExploreAll(this); } public void LoadComplete(WorldRenderer wr) diff --git a/OpenRA.Mods.Common/Traits/RevealsShroud.cs b/OpenRA.Mods.Common/Traits/RevealsShroud.cs index 535e710ff2..c7aba8b796 100644 --- a/OpenRA.Mods.Common/Traits/RevealsShroud.cs +++ b/OpenRA.Mods.Common/Traits/RevealsShroud.cs @@ -30,7 +30,6 @@ namespace OpenRA.Mods.Common.Traits static readonly PPos[] NoCells = { }; readonly RevealsShroudInfo info; - readonly bool lobbyShroudFogDisabled; [Sync] CPos cachedLocation; [Sync] bool cachedDisabled; @@ -41,7 +40,6 @@ namespace OpenRA.Mods.Common.Traits public RevealsShroud(Actor self, RevealsShroudInfo info) { this.info = info; - lobbyShroudFogDisabled = !self.World.LobbyInfo.GlobalSettings.Shroud && !self.World.LobbyInfo.GlobalSettings.Fog; addCellsToPlayerShroud = (p, uv) => p.Shroud.AddProjectedVisibility(self, uv); removeCellsFromPlayerShroud = p => p.Shroud.RemoveVisibility(self); @@ -66,7 +64,7 @@ namespace OpenRA.Mods.Common.Traits public void Tick(Actor self) { - if (lobbyShroudFogDisabled || !self.IsInWorld) + if (!self.IsInWorld) return; var centerPosition = self.CenterPosition; From 2ca949dbd2b1d381c1015c3d345715e4716c2403 Mon Sep 17 00:00:00 2001 From: deniz1a Date: Sun, 26 Jul 2015 15:09:43 +0300 Subject: [PATCH 2/2] Renames Shroud lobby option to Explored map. --- OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs | 4 ++-- .../ServerTraits/LobbySettingsNotification.cs | 2 +- OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs | 10 +++++----- mods/cnc/chrome/lobby-dialogs.yaml | 4 ++-- mods/d2k/chrome/lobby-dialogs.yaml | 4 ++-- mods/ra/chrome/lobby-dialogs.yaml | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index ffa18b3719..ae52062330 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -440,8 +440,8 @@ namespace OpenRA.Mods.Common.Server bool.TryParse(s, out server.LobbyInfo.GlobalSettings.Shroud); server.SyncLobbyGlobalSettings(); - server.SendMessage("{0} {1} Shroud." - .F(client.Name, server.LobbyInfo.GlobalSettings.Shroud ? "enabled" : "disabled")); + server.SendMessage("{0} {1} Explored map." + .F(client.Name, server.LobbyInfo.GlobalSettings.Shroud ? "disabled" : "enabled")); return true; } diff --git a/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs b/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs index 31c52a2278..c9fc5f1ed2 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs @@ -32,7 +32,7 @@ namespace OpenRA.Mods.Common.Server server.SendOrderTo(conn, "Message", "Allow Cheats: {0}".F(server.LobbyInfo.GlobalSettings.AllowCheats)); if (server.LobbyInfo.GlobalSettings.Shroud != defaults.Shroud) - server.SendOrderTo(conn, "Message", "Shroud: {0}".F(server.LobbyInfo.GlobalSettings.Shroud)); + server.SendOrderTo(conn, "Message", "Explored map: {0}".F(!server.LobbyInfo.GlobalSettings.Shroud)); if (server.LobbyInfo.GlobalSettings.Fog != defaults.Fog) server.SendOrderTo(conn, "Message", "Fog of war: {0}".F(server.LobbyInfo.GlobalSettings.Fog)); diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs index 0052a8a805..08986f28cc 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyLogic.cs @@ -497,12 +497,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic }; } - var enableShroud = optionsBin.GetOrNull("SHROUD_CHECKBOX"); - if (enableShroud != null) + var exploredMap = optionsBin.GetOrNull("EXPLORED_MAP_CHECKBOX"); + if (exploredMap != null) { - enableShroud.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Shroud; - enableShroud.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Shroud.HasValue || configurationDisabled(); - enableShroud.OnClick = () => orderManager.IssueOrder(Order.Command( + exploredMap.IsChecked = () => !orderManager.LobbyInfo.GlobalSettings.Shroud; + exploredMap.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Shroud.HasValue || configurationDisabled(); + exploredMap.OnClick = () => orderManager.IssueOrder(Order.Command( "shroud {0}".F(!orderManager.LobbyInfo.GlobalSettings.Shroud))); } diff --git a/mods/cnc/chrome/lobby-dialogs.yaml b/mods/cnc/chrome/lobby-dialogs.yaml index 33d45f4863..2028a32b0b 100644 --- a/mods/cnc/chrome/lobby-dialogs.yaml +++ b/mods/cnc/chrome/lobby-dialogs.yaml @@ -110,11 +110,11 @@ Background@LOBBY_OPTIONS_BIN: Width: PARENT_RIGHT-60 Height: PARENT_BOTTOM-75 Children: - Checkbox@SHROUD_CHECKBOX: + Checkbox@EXPLORED_MAP_CHECKBOX: Width: 230 Height: 20 Font: Regular - Text: Shroud + Text: Explored map Checkbox@FOG_CHECKBOX: Y: 35 Width: 230 diff --git a/mods/d2k/chrome/lobby-dialogs.yaml b/mods/d2k/chrome/lobby-dialogs.yaml index 4a5c12497d..095000caa9 100644 --- a/mods/d2k/chrome/lobby-dialogs.yaml +++ b/mods/d2k/chrome/lobby-dialogs.yaml @@ -109,10 +109,10 @@ Background@LOBBY_OPTIONS_BIN: Width: PARENT_RIGHT-60 Height: PARENT_BOTTOM-75 Children: - Checkbox@SHROUD_CHECKBOX: + Checkbox@EXPLORED_MAP_CHECKBOX: Width: 140 Height: 20 - Text: Shroud + Text: Explored map Checkbox@FOG_CHECKBOX: Y: 35 Width: 140 diff --git a/mods/ra/chrome/lobby-dialogs.yaml b/mods/ra/chrome/lobby-dialogs.yaml index a3438f6114..294444c495 100644 --- a/mods/ra/chrome/lobby-dialogs.yaml +++ b/mods/ra/chrome/lobby-dialogs.yaml @@ -109,10 +109,10 @@ Background@LOBBY_OPTIONS_BIN: Width: PARENT_RIGHT-60 Height: PARENT_BOTTOM-75 Children: - Checkbox@SHROUD_CHECKBOX: + Checkbox@EXPLORED_MAP_CHECKBOX: Width: 140 Height: 20 - Text: Shroud + Text: Explored map Checkbox@FOG_CHECKBOX: Y: 35 Width: 140