Merge pull request #8792 from deniz1a/reveal-shroud
Changes shroud lobby setting from disabling shroud to revealing it.
This commit is contained in:
@@ -282,7 +282,7 @@ namespace OpenRA.Traits
|
|||||||
return explored.Contains(uv) && explored[uv] && (generatedShroudCount[uv] == 0 || visibleCount[uv] > 0);
|
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; } }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns a fast exploration lookup that skips the usual validation.
|
/// Returns a fast exploration lookup that skips the usual validation.
|
||||||
|
|||||||
@@ -173,6 +173,10 @@ namespace OpenRA
|
|||||||
MapUid = Map.Uid,
|
MapUid = Map.Uid,
|
||||||
MapTitle = Map.Title
|
MapTitle = Map.Title
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!LobbyInfo.GlobalSettings.Shroud)
|
||||||
|
foreach (var player in Players)
|
||||||
|
player.Shroud.ExploreAll(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadComplete(WorldRenderer wr)
|
public void LoadComplete(WorldRenderer wr)
|
||||||
|
|||||||
@@ -440,8 +440,8 @@ namespace OpenRA.Mods.Common.Server
|
|||||||
|
|
||||||
bool.TryParse(s, out server.LobbyInfo.GlobalSettings.Shroud);
|
bool.TryParse(s, out server.LobbyInfo.GlobalSettings.Shroud);
|
||||||
server.SyncLobbyGlobalSettings();
|
server.SyncLobbyGlobalSettings();
|
||||||
server.SendMessage("{0} {1} Shroud."
|
server.SendMessage("{0} {1} Explored map."
|
||||||
.F(client.Name, server.LobbyInfo.GlobalSettings.Shroud ? "enabled" : "disabled"));
|
.F(client.Name, server.LobbyInfo.GlobalSettings.Shroud ? "disabled" : "enabled"));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ namespace OpenRA.Mods.Common.Server
|
|||||||
server.SendOrderTo(conn, "Message", "Allow Cheats: {0}".F(server.LobbyInfo.GlobalSettings.AllowCheats));
|
server.SendOrderTo(conn, "Message", "Allow Cheats: {0}".F(server.LobbyInfo.GlobalSettings.AllowCheats));
|
||||||
|
|
||||||
if (server.LobbyInfo.GlobalSettings.Shroud != defaults.Shroud)
|
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)
|
if (server.LobbyInfo.GlobalSettings.Fog != defaults.Fog)
|
||||||
server.SendOrderTo(conn, "Message", "Fog of war: {0}".F(server.LobbyInfo.GlobalSettings.Fog));
|
server.SendOrderTo(conn, "Message", "Fog of war: {0}".F(server.LobbyInfo.GlobalSettings.Fog));
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
static readonly PPos[] NoCells = { };
|
static readonly PPos[] NoCells = { };
|
||||||
|
|
||||||
readonly RevealsShroudInfo info;
|
readonly RevealsShroudInfo info;
|
||||||
readonly bool lobbyShroudFogDisabled;
|
|
||||||
[Sync] CPos cachedLocation;
|
[Sync] CPos cachedLocation;
|
||||||
[Sync] bool cachedDisabled;
|
[Sync] bool cachedDisabled;
|
||||||
|
|
||||||
@@ -41,7 +40,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public RevealsShroud(Actor self, RevealsShroudInfo info)
|
public RevealsShroud(Actor self, RevealsShroudInfo info)
|
||||||
{
|
{
|
||||||
this.info = info;
|
this.info = info;
|
||||||
lobbyShroudFogDisabled = !self.World.LobbyInfo.GlobalSettings.Shroud && !self.World.LobbyInfo.GlobalSettings.Fog;
|
|
||||||
|
|
||||||
addCellsToPlayerShroud = (p, uv) => p.Shroud.AddProjectedVisibility(self, uv);
|
addCellsToPlayerShroud = (p, uv) => p.Shroud.AddProjectedVisibility(self, uv);
|
||||||
removeCellsFromPlayerShroud = p => p.Shroud.RemoveVisibility(self);
|
removeCellsFromPlayerShroud = p => p.Shroud.RemoveVisibility(self);
|
||||||
@@ -66,7 +64,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
public void Tick(Actor self)
|
public void Tick(Actor self)
|
||||||
{
|
{
|
||||||
if (lobbyShroudFogDisabled || !self.IsInWorld)
|
if (!self.IsInWorld)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var centerPosition = self.CenterPosition;
|
var centerPosition = self.CenterPosition;
|
||||||
|
|||||||
@@ -497,12 +497,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
var enableShroud = optionsBin.GetOrNull<CheckboxWidget>("SHROUD_CHECKBOX");
|
var exploredMap = optionsBin.GetOrNull<CheckboxWidget>("EXPLORED_MAP_CHECKBOX");
|
||||||
if (enableShroud != null)
|
if (exploredMap != null)
|
||||||
{
|
{
|
||||||
enableShroud.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Shroud;
|
exploredMap.IsChecked = () => !orderManager.LobbyInfo.GlobalSettings.Shroud;
|
||||||
enableShroud.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Shroud.HasValue || configurationDisabled();
|
exploredMap.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Shroud.HasValue || configurationDisabled();
|
||||||
enableShroud.OnClick = () => orderManager.IssueOrder(Order.Command(
|
exploredMap.OnClick = () => orderManager.IssueOrder(Order.Command(
|
||||||
"shroud {0}".F(!orderManager.LobbyInfo.GlobalSettings.Shroud)));
|
"shroud {0}".F(!orderManager.LobbyInfo.GlobalSettings.Shroud)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -110,11 +110,11 @@ Background@LOBBY_OPTIONS_BIN:
|
|||||||
Width: PARENT_RIGHT-60
|
Width: PARENT_RIGHT-60
|
||||||
Height: PARENT_BOTTOM-75
|
Height: PARENT_BOTTOM-75
|
||||||
Children:
|
Children:
|
||||||
Checkbox@SHROUD_CHECKBOX:
|
Checkbox@EXPLORED_MAP_CHECKBOX:
|
||||||
Width: 230
|
Width: 230
|
||||||
Height: 20
|
Height: 20
|
||||||
Font: Regular
|
Font: Regular
|
||||||
Text: Shroud
|
Text: Explored map
|
||||||
Checkbox@FOG_CHECKBOX:
|
Checkbox@FOG_CHECKBOX:
|
||||||
Y: 35
|
Y: 35
|
||||||
Width: 230
|
Width: 230
|
||||||
|
|||||||
@@ -109,10 +109,10 @@ Background@LOBBY_OPTIONS_BIN:
|
|||||||
Width: PARENT_RIGHT-60
|
Width: PARENT_RIGHT-60
|
||||||
Height: PARENT_BOTTOM-75
|
Height: PARENT_BOTTOM-75
|
||||||
Children:
|
Children:
|
||||||
Checkbox@SHROUD_CHECKBOX:
|
Checkbox@EXPLORED_MAP_CHECKBOX:
|
||||||
Width: 140
|
Width: 140
|
||||||
Height: 20
|
Height: 20
|
||||||
Text: Shroud
|
Text: Explored map
|
||||||
Checkbox@FOG_CHECKBOX:
|
Checkbox@FOG_CHECKBOX:
|
||||||
Y: 35
|
Y: 35
|
||||||
Width: 140
|
Width: 140
|
||||||
|
|||||||
@@ -109,10 +109,10 @@ Background@LOBBY_OPTIONS_BIN:
|
|||||||
Width: PARENT_RIGHT-60
|
Width: PARENT_RIGHT-60
|
||||||
Height: PARENT_BOTTOM-75
|
Height: PARENT_BOTTOM-75
|
||||||
Children:
|
Children:
|
||||||
Checkbox@SHROUD_CHECKBOX:
|
Checkbox@EXPLORED_MAP_CHECKBOX:
|
||||||
Width: 140
|
Width: 140
|
||||||
Height: 20
|
Height: 20
|
||||||
Text: Shroud
|
Text: Explored map
|
||||||
Checkbox@FOG_CHECKBOX:
|
Checkbox@FOG_CHECKBOX:
|
||||||
Y: 35
|
Y: 35
|
||||||
Width: 140
|
Width: 140
|
||||||
|
|||||||
Reference in New Issue
Block a user