Merge pull request #7134 from pchote/map-class

Introduce map Class field to replace Selectable/UseAsShellmap
This commit is contained in:
Matthias Mailänder
2014-12-22 22:23:41 +01:00
170 changed files with 210 additions and 240 deletions

View File

@@ -426,8 +426,7 @@ namespace OpenRA.Editor
pd.TitleBox.Text = surface1.Map.Title;
pd.DescBox.Text = surface1.Map.Description;
pd.AuthorBox.Text = surface1.Map.Author;
pd.SelectableCheckBox.Checked = surface1.Map.Selectable;
pd.ShellmapCheckBox.Checked = surface1.Map.UseAsShellmap;
pd.mapVisibilityComboBox.SelectedIndex = pd.mapVisibilityComboBox.FindStringExact(Enum.GetName(typeof(MapVisibility), surface1.Map.Visibility));
if (DialogResult.OK != pd.ShowDialog())
return;
@@ -435,8 +434,7 @@ namespace OpenRA.Editor
surface1.Map.Title = pd.TitleBox.Text;
surface1.Map.Description = pd.DescBox.Text;
surface1.Map.Author = pd.AuthorBox.Text;
surface1.Map.Selectable = pd.SelectableCheckBox.Checked;
surface1.Map.UseAsShellmap = pd.ShellmapCheckBox.Checked;
surface1.Map.Visibility = (MapVisibility)Enum.Parse(typeof(MapVisibility), pd.mapVisibilityComboBox.SelectedItem.ToString());
}
}

View File

@@ -43,10 +43,10 @@ namespace OpenRA.Editor
this.TitleBox = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.DescBox = new System.Windows.Forms.TextBox();
this.SelectableCheckBox = new System.Windows.Forms.CheckBox();
this.label3 = new System.Windows.Forms.Label();
this.AuthorBox = new System.Windows.Forms.TextBox();
this.ShellmapCheckBox = new System.Windows.Forms.CheckBox();
this.mapVisibilityComboBox = new System.Windows.Forms.ComboBox();
this.label4 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// button2
@@ -103,16 +103,6 @@ namespace OpenRA.Editor
this.DescBox.Size = new System.Drawing.Size(286, 20);
this.DescBox.TabIndex = 17;
//
// selectable
//
this.SelectableCheckBox.AutoSize = true;
this.SelectableCheckBox.Location = new System.Drawing.Point(118, 138);
this.SelectableCheckBox.Name = "selectable";
this.SelectableCheckBox.Size = new System.Drawing.Size(130, 17);
this.SelectableCheckBox.TabIndex = 18;
this.SelectableCheckBox.Text = "Show in Map Chooser";
this.SelectableCheckBox.UseVisualStyleBackColor = true;
//
// label3
//
this.label3.AutoSize = true;
@@ -129,16 +119,27 @@ namespace OpenRA.Editor
this.AuthorBox.Size = new System.Drawing.Size(286, 20);
this.AuthorBox.TabIndex = 17;
//
// checkBox1
//
this.ShellmapCheckBox.AutoSize = true;
this.ShellmapCheckBox.Location = new System.Drawing.Point(118, 161);
this.ShellmapCheckBox.Name = "checkBox1";
this.ShellmapCheckBox.Size = new System.Drawing.Size(105, 17);
this.ShellmapCheckBox.TabIndex = 18;
this.ShellmapCheckBox.Text = "Use as Shellmap";
this.ShellmapCheckBox.UseVisualStyleBackColor = true;
//
// mapVisibilityComboBox
//
this.mapVisibilityComboBox.FormattingEnabled = true;
this.mapVisibilityComboBox.Items.AddRange(new object[] {
"Lobby",
"Shellmap",
"MissionSelector"});
this.mapVisibilityComboBox.Location = new System.Drawing.Point(150, 137);
this.mapVisibilityComboBox.Name = "mapVisibilityComboBox";
this.mapVisibilityComboBox.Size = new System.Drawing.Size(121, 21);
this.mapVisibilityComboBox.TabIndex = 19;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(90, 140);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(58, 13);
this.label4.TabIndex = 20;
this.label4.Text = "Map class:";
// PropertiesDialog
//
this.AcceptButton = this.button2;
@@ -146,8 +147,8 @@ namespace OpenRA.Editor
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.button1;
this.ClientSize = new System.Drawing.Size(370, 228);
this.Controls.Add(this.ShellmapCheckBox);
this.Controls.Add(this.SelectableCheckBox);
this.Controls.Add(this.label4);
this.Controls.Add(this.mapVisibilityComboBox);
this.Controls.Add(this.AuthorBox);
this.Controls.Add(this.label3);
this.Controls.Add(this.DescBox);
@@ -173,9 +174,9 @@ namespace OpenRA.Editor
public System.Windows.Forms.TextBox TitleBox;
private System.Windows.Forms.Label label2;
public System.Windows.Forms.TextBox DescBox;
public System.Windows.Forms.CheckBox SelectableCheckBox;
private System.Windows.Forms.Label label3;
public System.Windows.Forms.TextBox AuthorBox;
public System.Windows.Forms.CheckBox ShellmapCheckBox;
public System.Windows.Forms.ComboBox mapVisibilityComboBox;
private System.Windows.Forms.Label label4;
}
}

View File

@@ -383,7 +383,7 @@ namespace OpenRA
static string ChooseShellmap()
{
var shellmaps = modData.MapCache
.Where(m => m.Status == MapStatus.Available && m.Map.UseAsShellmap)
.Where(m => m.Status == MapStatus.Available && m.Map.Visibility.HasFlag(MapVisibility.Shellmap))
.Select(m => m.Uid);
if (!shellmaps.Any())

View File

@@ -100,6 +100,14 @@ namespace OpenRA
public string GameLost;
}
[Flags]
public enum MapVisibility
{
Lobby = 1,
Shellmap = 2,
MissionSelector = 4
}
public class Map
{
[FieldLoader.Ignore] public IFolder Container;
@@ -108,8 +116,7 @@ namespace OpenRA
// Yaml map data
public string Uid { get; private set; }
public int MapFormat;
public bool Selectable = true;
public bool UseAsShellmap;
public MapVisibility Visibility = MapVisibility.Lobby;
public string RequiresMod;
public string Title;
@@ -218,6 +225,7 @@ namespace OpenRA
Author = "Your name here",
MapSize = new int2(size),
Tileset = tileset.Id,
Videos = new MapVideos(),
Options = new MapOptions(),
MapResources = Exts.Lazy(() => new CellLayer<ResourceTile>(tileShape, size)),
MapTiles = makeMapTiles,
@@ -225,6 +233,7 @@ namespace OpenRA
Actors = Exts.Lazy(() => new Dictionary<string, ActorReference>()),
Smudges = Exts.Lazy(() => new List<SmudgeReference>())
};
map.PostInit();
return map;
@@ -242,11 +251,7 @@ namespace OpenRA
public Map() { }
// The standard constructor for most purposes
public Map(string path) : this(path, null) { }
// Support upgrading format 5 maps to a more
// recent version by defining upgradeForMod.
public Map(string path, string upgradeForMod)
public Map(string path)
{
Path = path;
Container = GlobalFileSystem.OpenPackage(path, null, int.MaxValue);
@@ -260,24 +265,22 @@ namespace OpenRA
// Support for formats 1-3 dropped 2011-02-11.
// Use release-20110207 to convert older maps to format 4
// Use release-20110511 to convert older maps to format 5
if (MapFormat < 5)
// Use release-20141029 to convert older maps to format 6
if (MapFormat < 6)
throw new InvalidDataException("Map format {0} is not supported.\n File: {1}".F(MapFormat, path));
// Format 5 -> 6 enforces the use of RequiresMod
if (MapFormat == 5)
{
if (upgradeForMod == null)
throw new InvalidDataException("Map format {0} is not supported, but can be upgraded.\n File: {1}".F(MapFormat, path));
Console.WriteLine("Upgrading {0} from Format 5 to Format 6", path);
// TODO: This isn't very nice, but there is no other consistent way
// of finding the mod early during the engine initialization.
RequiresMod = upgradeForMod;
}
var nd = yaml.ToDictionary();
// Format 6 -> 7 combined the Selectable and UseAsShellmap flags into the Class enum
if (MapFormat < 7)
{
MiniYaml useAsShellmap;
if (nd.TryGetValue("UseAsShellmap", out useAsShellmap) && bool.Parse(useAsShellmap.Value))
Visibility = MapVisibility.Shellmap;
else if (Type == "Mission" || Type == "Campaign")
Visibility = MapVisibility.MissionSelector;
}
// Load players
foreach (var my in nd["Players"].ToDictionary().Values)
{
@@ -327,19 +330,19 @@ namespace OpenRA
LastSubCell = (SubCell)(SubCellOffsets.Length - 1);
DefaultSubCell = (SubCell)Game.modData.Manifest.SubCellDefaultIndex;
// The Uid is calculated from the data on-disk, so
// format changes must be flushed to disk.
// TODO: this isn't very nice
if (MapFormat < 6)
Save(path);
Uid = ComputeHash();
if (Container.Exists("map.png"))
using (var dataStream = Container.GetContent("map.png"))
CustomPreview = new Bitmap(dataStream);
PostInit();
// The Uid is calculated from the data on-disk, so
// format changes must be flushed to disk.
// TODO: this isn't very nice
if (MapFormat < 7)
Save(path);
Uid = ComputeHash();
}
void PostInit()
@@ -385,12 +388,11 @@ namespace OpenRA
public void Save(string toPath)
{
MapFormat = 6;
MapFormat = 7;
var root = new List<MiniYamlNode>();
var fields = new[]
{
"Selectable",
"MapFormat",
"RequiresMod",
"Title",
@@ -399,7 +401,7 @@ namespace OpenRA
"Tileset",
"MapSize",
"Bounds",
"UseAsShellmap",
"Visibility",
"Type",
};

View File

@@ -51,7 +51,7 @@ namespace OpenRA
{
using (new Support.PerfTimer(path.Key))
{
var map = new Map(path.Key, modData.Manifest.Mod.Id);
var map = new Map(path.Key);
if (modData.Manifest.MapCompatibility.Contains(map.RequiresMod))
previews[map.Uid].UpdateFromMap(map, path.Value);
}

View File

@@ -217,7 +217,7 @@ namespace OpenRA.Widgets
{
Func<MapPreview, bool> isIdealMap = m =>
{
if (m.Status != MapStatus.Available || !m.Map.Selectable)
if (m.Status != MapStatus.Available || !m.Map.Visibility.HasFlag(MapVisibility.Lobby))
return false;
// Other map types may have confusing settings or gameplay
@@ -236,7 +236,7 @@ namespace OpenRA.Widgets
};
var selected = Game.modData.MapCache.Where(m => isIdealMap(m)).RandomOrDefault(Game.CosmeticRandom) ??
Game.modData.MapCache.First(m => m.Status == MapStatus.Available && m.Map.Selectable);
Game.modData.MapCache.First(m => m.Status == MapStatus.Available && m.Map.Visibility.HasFlag(MapVisibility.Lobby));
return selected.Uid;
}

View File

@@ -150,7 +150,6 @@ namespace OpenRA.Mods.Common.UtilityCommands
map.MapSize.X = mapSize;
map.MapSize.Y = mapSize;
map.Bounds = Rectangle.FromLTRB(offsetX, offsetY, offsetX + width, offsetY + height);
map.Selectable = true;
map.Smudges = Exts.Lazy(() => new List<SmudgeReference>());
map.Actors = Exts.Lazy(() => new Dictionary<string, ActorReference>());

View File

@@ -173,7 +173,8 @@ namespace OpenRA.Mods.RA.Widgets.Logic
{
{ "initialMap", Map.Uid },
{ "onExit", DoNothing },
{ "onSelect", onSelect }
{ "onSelect", onSelect },
{ "filter", MapVisibility.Lobby },
});
};
}

View File

@@ -88,7 +88,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
var hasCampaign = Game.modData.Manifest.Missions.Any();
var hasMissions = Game.modData.MapCache
.Any(p => p.Status == MapStatus.Available && p.Map.Type == "Mission" && !p.Map.Selectable);
.Any(p => p.Status == MapStatus.Available && p.Map.Visibility.HasFlag(MapVisibility.MissionSelector));
missionsButton.Disabled = !hasCampaign && !hasMissions;

View File

@@ -29,7 +29,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
string gameMode;
[ObjectCreator.UseCtor]
internal MapChooserLogic(Widget widget, string initialMap, Action onExit, Action<string> onSelect)
internal MapChooserLogic(Widget widget, string initialMap, Action onExit, Action<string> onSelect, MapVisibility filter)
{
selectedUid = WidgetUtils.ChooseInitialMap(initialMap);
@@ -47,7 +47,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
var gameModeDropdown = widget.GetOrNull<DropDownButtonWidget>("GAMEMODE_FILTER");
if (gameModeDropdown != null)
{
var selectableMaps = Game.modData.MapCache.Where(m => m.Status == MapStatus.Available && m.Map.Selectable);
var selectableMaps = Game.modData.MapCache.Where(m => m.Status == MapStatus.Available && (m.Map.Visibility & filter) != 0);
var gameModes = selectableMaps
.GroupBy(m => m.Type)
.Select(g => Pair.New(g.Key, g.Count())).ToList();
@@ -62,7 +62,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
{
var item = ScrollItemWidget.Setup(template,
() => gameMode == ii.First,
() => { gameMode = ii.First; EnumerateMaps(onSelect); });
() => { gameMode = ii.First; EnumerateMaps(onSelect, filter); });
item.Get<LabelWidget>("LABEL").GetText = () => showItem(ii);
return item;
};
@@ -84,13 +84,13 @@ namespace OpenRA.Mods.RA.Widgets.Logic
else
{
mapFilter = mapfilterInput.Text = null;
EnumerateMaps(onSelect);
EnumerateMaps(onSelect, filter);
}
return true;
};
mapfilterInput.OnEnterKey = () => { approving(); return true; };
mapfilterInput.OnTextEdited = () =>
{ mapFilter = mapfilterInput.Text; EnumerateMaps(onSelect); };
{ mapFilter = mapfilterInput.Text; EnumerateMaps(onSelect, filter); };
}
var randomMapButton = widget.GetOrNull<ButtonWidget>("RANDOMMAP_BUTTON");
@@ -105,13 +105,13 @@ namespace OpenRA.Mods.RA.Widgets.Logic
randomMapButton.IsDisabled = () => visibleMaps == null || visibleMaps.Count == 0;
}
EnumerateMaps(onSelect);
EnumerateMaps(onSelect, filter);
}
void EnumerateMaps(Action<string> onSelect)
void EnumerateMaps(Action<string> onSelect, MapVisibility filter)
{
var maps = Game.modData.MapCache
.Where(m => m.Status == MapStatus.Available && m.Map.Selectable)
.Where(m => m.Status == MapStatus.Available && (m.Map.Visibility & filter) != 0)
.Where(m => gameMode == null || m.Type == gameMode)
.Where(m => mapFilter == null || m.Title.IndexOf(mapFilter, StringComparison.OrdinalIgnoreCase) >= 0 || m.Author.IndexOf(mapFilter, StringComparison.OrdinalIgnoreCase) >= 0)
.OrderBy(m => m.PlayerCount)

View File

@@ -110,9 +110,8 @@ namespace OpenRA.Mods.RA.Widgets.Logic
}
// Add an additional group for loose missions
// Loose missions must define Type: Mission and Selectable: false.
var looseMissions = Game.modData.MapCache
.Where(p => p.Status == MapStatus.Available && p.Map.Type == "Mission" && !p.Map.Selectable && !allMaps.Contains(p.Map))
.Where(p => p.Status == MapStatus.Available && p.Map.Visibility.HasFlag(MapVisibility.MissionSelector) && !allMaps.Contains(p.Map))
.Select(p => p.Map);
if (looseMissions.Any())

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -16,7 +14,7 @@ MapSize: 64,64
Bounds: 35,39,27,23
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -27,7 +25,6 @@ Videos:
GameLost: gameover.vqa
Options:
ShortGame: False
Crates: False
Fog: True
Shroud: True
@@ -35,6 +32,7 @@ Options:
FragileAlliances: False
StartingCash: 5000
ConfigurableStartingUnits: False
ShortGame: False
Players:
PlayerReference@Nod:

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -16,7 +14,7 @@ MapSize: 64,64
Bounds: 31,31,31,31
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -26,7 +24,6 @@ Videos:
GameLost: gameover.vqa
Options:
ShortGame: False
Crates: False
Fog: True
Shroud: True
@@ -34,6 +31,7 @@ Options:
FragileAlliances: False
StartingCash: 5000
ConfigurableStartingUnits: False
ShortGame: False
Players:
PlayerReference@GDI:

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -16,7 +14,7 @@ MapSize: 64,64
Bounds: 1,25,45,37
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -27,7 +25,6 @@ Videos:
GameLost: gameover.vqa
Options:
ShortGame: False
Crates: False
Fog: True
Shroud: True
@@ -35,6 +32,7 @@ Options:
FragileAlliances: False
StartingCash: 5000
ConfigurableStartingUnits: False
ShortGame: False
Players:
PlayerReference@Nod:

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -16,7 +14,7 @@ MapSize: 64,64
Bounds: 7,24,51,36
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -28,7 +26,6 @@ Videos:
GameLost: gameover.vqa
Options:
ShortGame: False
Cheats: False
Crates: False
Fog: True
@@ -37,6 +34,7 @@ Options:
FragileAlliances: False
StartingCash: 0
ConfigurableStartingUnits: False
ShortGame: False
Players:
PlayerReference@Nod:

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -16,7 +14,7 @@ MapSize: 64,64
Bounds: 5,11,50,38
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -28,7 +26,6 @@ Videos:
GameLost: gameover.vqa
Options:
ShortGame: False
Crates: False
Fog: True
Shroud: True
@@ -36,6 +33,7 @@ Options:
FragileAlliances: False
StartingCash: 0
ConfigurableStartingUnits: False
ShortGame: False
Players:
PlayerReference@Nod:

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -16,7 +14,7 @@ MapSize: 64,64
Bounds: 14,14,48,44
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -28,7 +26,6 @@ Videos:
GameLost: gameover.vqa
Options:
ShortGame: False
Crates: False
Fog: True
Shroud: True
@@ -36,6 +33,7 @@ Options:
FragileAlliances: False
StartingCash: 0
ConfigurableStartingUnits: False
ShortGame: False
Players:
PlayerReference@Neutral:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -16,7 +14,7 @@ MapSize: 64,64
Bounds: 21,14,37,24
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -25,7 +23,6 @@ Videos:
GameLost: nodlose.vqa
Options:
ShortGame: False
Crates: False
Fog: True
Shroud: True
@@ -33,6 +30,7 @@ Options:
FragileAlliances: False
StartingCash: 0
ConfigurableStartingUnits: False
ShortGame: False
Players:
PlayerReference@Neutral:

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -10,15 +8,13 @@ Description: GDI has established a prison camp, where they are detaining some of
Author: Westwood Studios
PreviewVideo: nod3.vqa
Tileset: DESERT
MapSize: 64,64
Bounds: 13,16,42,33
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -29,7 +25,6 @@ Videos:
GameLost: flag.vqa
Options:
ShortGame: False
Crates: False
Fog: True
Shroud: True
@@ -37,6 +32,7 @@ Options:
FragileAlliances: False
StartingCash: 4000
ConfigurableStartingUnits: False
ShortGame: False
Players:
PlayerReference@Neutral:

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -10,15 +8,13 @@ Description: GDI has established a prison camp, where they are detaining some of
Author: Westwood Studios
PreviewVideo: nod3.vqa
Tileset: DESERT
MapSize: 64,64
Bounds: 13,16,42,34
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -29,7 +25,6 @@ Videos:
GameLost: flag.vqa
Options:
ShortGame: False
Crates: False
Fog: True
Shroud: True
@@ -37,6 +32,7 @@ Options:
FragileAlliances: False
StartingCash: 4000
ConfigurableStartingUnits: False
ShortGame: False
Players:
PlayerReference@Neutral:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -16,10 +14,12 @@ MapSize: 96,48
Bounds: 8,1,80,45
UseAsShellmap: True
Visibility: Shellmap
Type: Shellmap
Videos:
Options:
Players:

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: True
MapFormat: 6
MapFormat: 7
RequiresMod: cnc
@@ -16,10 +14,12 @@ MapSize: 64,64
Bounds: 16,16,36,36
UseAsShellmap: False
Visibility: Lobby
Type: Drop Zone
Videos:
Options:
Crates: True
Fog: False

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: d2k
@@ -16,10 +14,12 @@ MapSize: 128,128
Bounds: 16,16,80,80
UseAsShellmap: True
Visibility: Shellmap
Type: Shellmap
Videos:
Options:
Players:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: ra
@@ -16,7 +14,7 @@ MapSize: 128,128
Bounds: 49,45,30,36
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: ra
@@ -16,7 +14,7 @@ MapSize: 128,128
Bounds: 43,44,50,42
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -27,7 +25,6 @@ Videos:
GameLost: frozen.vqa
Options:
ShortGame: False
Crates: False
Fog: True
Shroud: True
@@ -35,6 +32,7 @@ Options:
FragileAlliances: False
StartingCash: 5700
ConfigurableStartingUnits: False
ShortGame: False
Players:
PlayerReference@USSR:

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: False
MapFormat: 6
MapFormat: 7
RequiresMod: ra
@@ -16,7 +14,7 @@ MapSize: 128,128
Bounds: 35,48,72,36
UseAsShellmap: False
Visibility: MissionSelector
Type: Campaign
@@ -26,7 +24,6 @@ Videos:
GameLost: sovtstar.vqa
Options:
ShortGame: False
Crates: False
Fog: True
Shroud: True
@@ -35,6 +32,7 @@ Options:
StartingCash: 0
ConfigurableStartingUnits: False
Difficulties: Easy, Normal
ShortGame: False
Players:
PlayerReference@Neutral:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: True
MapFormat: 6
MapFormat: 7
RequiresMod: ra
@@ -16,10 +14,12 @@ MapSize: 56,56
Bounds: 16,16,24,24
UseAsShellmap: False
Visibility: Lobby
Type: Minigame
Videos:
Options:
Crates: False
Fog: True

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: True
MapFormat: 6
MapFormat: 7
RequiresMod: ra
@@ -14,10 +12,12 @@ MapSize: 64,64
Bounds: 4,4,56,56
UseAsShellmap: False
Visibility: Lobby
Type: Conquest
Videos:
Options:
Players:

Binary file not shown.

View File

@@ -1,6 +1,4 @@
Selectable: True
MapFormat: 6
MapFormat: 7
RequiresMod: ra
@@ -14,10 +12,12 @@ MapSize: 128,128
Bounds: 15,10,105,114
UseAsShellmap: False
Visibility: Lobby
Type: Conquest
Videos:
Options:
Players:

Some files were not shown because too many files have changed in this diff Show More