Add lobby options for Shroud and Fog.

This commit is contained in:
Paul Chote
2013-08-04 12:25:32 +12:00
parent d867e8200f
commit c08f602661
14 changed files with 143 additions and 47 deletions

View File

@@ -15,8 +15,8 @@ namespace OpenRA.Graphics
{
public class ShroudRenderer
{
World world;
Map map;
ShroudInfo shroudInfo;
Sprite[] shadowBits = Game.modData.SpriteLoader.LoadAllSprites("shadow");
Sprite[,] sprites, fogSprites;
int shroudHash;
@@ -46,8 +46,8 @@ namespace OpenRA.Graphics
public ShroudRenderer(World world)
{
this.world = world;
this.map = world.Map;
shroudInfo = Rules.Info["player"].Traits.Get<ShroudInfo>();
sprites = new Sprite[map.MapSize.X, map.MapSize.Y];
fogSprites = new Sprite[map.MapSize.X, map.MapSize.Y];
@@ -152,9 +152,10 @@ namespace OpenRA.Graphics
{
if (initializePalettes)
{
if (shroudInfo.Fog)
if (world.LobbyInfo.GlobalSettings.Fog)
fogPalette = wr.Palette("fog");
shroudPalette = wr.Palette("shroud");
shroudPalette = world.LobbyInfo.GlobalSettings.Fog ? wr.Palette("shroud") : wr.Palette("shroudfog");
initializePalettes = false;
}
@@ -165,7 +166,7 @@ namespace OpenRA.Graphics
// We draw the shroud when disabled to hide the sharp map edges
DrawShroud(wr, clipRect, sprites, shroudPalette);
if (shroudInfo.Fog)
if (world.LobbyInfo.GlobalSettings.Fog)
DrawShroud(wr, clipRect, fogSprites, fogPalette);
}