Merge pull request #7134 from pchote/map-class
Introduce map Class field to replace Selectable/UseAsShellmap
This commit is contained in:
@@ -426,8 +426,7 @@ namespace OpenRA.Editor
|
|||||||
pd.TitleBox.Text = surface1.Map.Title;
|
pd.TitleBox.Text = surface1.Map.Title;
|
||||||
pd.DescBox.Text = surface1.Map.Description;
|
pd.DescBox.Text = surface1.Map.Description;
|
||||||
pd.AuthorBox.Text = surface1.Map.Author;
|
pd.AuthorBox.Text = surface1.Map.Author;
|
||||||
pd.SelectableCheckBox.Checked = surface1.Map.Selectable;
|
pd.mapVisibilityComboBox.SelectedIndex = pd.mapVisibilityComboBox.FindStringExact(Enum.GetName(typeof(MapVisibility), surface1.Map.Visibility));
|
||||||
pd.ShellmapCheckBox.Checked = surface1.Map.UseAsShellmap;
|
|
||||||
|
|
||||||
if (DialogResult.OK != pd.ShowDialog())
|
if (DialogResult.OK != pd.ShowDialog())
|
||||||
return;
|
return;
|
||||||
@@ -435,8 +434,7 @@ namespace OpenRA.Editor
|
|||||||
surface1.Map.Title = pd.TitleBox.Text;
|
surface1.Map.Title = pd.TitleBox.Text;
|
||||||
surface1.Map.Description = pd.DescBox.Text;
|
surface1.Map.Description = pd.DescBox.Text;
|
||||||
surface1.Map.Author = pd.AuthorBox.Text;
|
surface1.Map.Author = pd.AuthorBox.Text;
|
||||||
surface1.Map.Selectable = pd.SelectableCheckBox.Checked;
|
surface1.Map.Visibility = (MapVisibility)Enum.Parse(typeof(MapVisibility), pd.mapVisibilityComboBox.SelectedItem.ToString());
|
||||||
surface1.Map.UseAsShellmap = pd.ShellmapCheckBox.Checked;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
51
OpenRA.Editor/PropertiesDialog.Designer.cs
generated
51
OpenRA.Editor/PropertiesDialog.Designer.cs
generated
@@ -43,10 +43,10 @@ namespace OpenRA.Editor
|
|||||||
this.TitleBox = new System.Windows.Forms.TextBox();
|
this.TitleBox = new System.Windows.Forms.TextBox();
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
this.DescBox = new System.Windows.Forms.TextBox();
|
this.DescBox = new System.Windows.Forms.TextBox();
|
||||||
this.SelectableCheckBox = new System.Windows.Forms.CheckBox();
|
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
this.AuthorBox = new System.Windows.Forms.TextBox();
|
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();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// button2
|
// button2
|
||||||
@@ -103,16 +103,6 @@ namespace OpenRA.Editor
|
|||||||
this.DescBox.Size = new System.Drawing.Size(286, 20);
|
this.DescBox.Size = new System.Drawing.Size(286, 20);
|
||||||
this.DescBox.TabIndex = 17;
|
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
|
// label3
|
||||||
//
|
//
|
||||||
this.label3.AutoSize = true;
|
this.label3.AutoSize = true;
|
||||||
@@ -129,16 +119,27 @@ namespace OpenRA.Editor
|
|||||||
this.AuthorBox.Size = new System.Drawing.Size(286, 20);
|
this.AuthorBox.Size = new System.Drawing.Size(286, 20);
|
||||||
this.AuthorBox.TabIndex = 17;
|
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
|
// PropertiesDialog
|
||||||
//
|
//
|
||||||
this.AcceptButton = this.button2;
|
this.AcceptButton = this.button2;
|
||||||
@@ -146,8 +147,8 @@ namespace OpenRA.Editor
|
|||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.CancelButton = this.button1;
|
this.CancelButton = this.button1;
|
||||||
this.ClientSize = new System.Drawing.Size(370, 228);
|
this.ClientSize = new System.Drawing.Size(370, 228);
|
||||||
this.Controls.Add(this.ShellmapCheckBox);
|
this.Controls.Add(this.label4);
|
||||||
this.Controls.Add(this.SelectableCheckBox);
|
this.Controls.Add(this.mapVisibilityComboBox);
|
||||||
this.Controls.Add(this.AuthorBox);
|
this.Controls.Add(this.AuthorBox);
|
||||||
this.Controls.Add(this.label3);
|
this.Controls.Add(this.label3);
|
||||||
this.Controls.Add(this.DescBox);
|
this.Controls.Add(this.DescBox);
|
||||||
@@ -173,9 +174,9 @@ namespace OpenRA.Editor
|
|||||||
public System.Windows.Forms.TextBox TitleBox;
|
public System.Windows.Forms.TextBox TitleBox;
|
||||||
private System.Windows.Forms.Label label2;
|
private System.Windows.Forms.Label label2;
|
||||||
public System.Windows.Forms.TextBox DescBox;
|
public System.Windows.Forms.TextBox DescBox;
|
||||||
public System.Windows.Forms.CheckBox SelectableCheckBox;
|
|
||||||
private System.Windows.Forms.Label label3;
|
private System.Windows.Forms.Label label3;
|
||||||
public System.Windows.Forms.TextBox AuthorBox;
|
public System.Windows.Forms.TextBox AuthorBox;
|
||||||
public System.Windows.Forms.CheckBox ShellmapCheckBox;
|
public System.Windows.Forms.ComboBox mapVisibilityComboBox;
|
||||||
|
private System.Windows.Forms.Label label4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -383,7 +383,7 @@ namespace OpenRA
|
|||||||
static string ChooseShellmap()
|
static string ChooseShellmap()
|
||||||
{
|
{
|
||||||
var shellmaps = modData.MapCache
|
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);
|
.Select(m => m.Uid);
|
||||||
|
|
||||||
if (!shellmaps.Any())
|
if (!shellmaps.Any())
|
||||||
|
|||||||
@@ -100,6 +100,14 @@ namespace OpenRA
|
|||||||
public string GameLost;
|
public string GameLost;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Flags]
|
||||||
|
public enum MapVisibility
|
||||||
|
{
|
||||||
|
Lobby = 1,
|
||||||
|
Shellmap = 2,
|
||||||
|
MissionSelector = 4
|
||||||
|
}
|
||||||
|
|
||||||
public class Map
|
public class Map
|
||||||
{
|
{
|
||||||
[FieldLoader.Ignore] public IFolder Container;
|
[FieldLoader.Ignore] public IFolder Container;
|
||||||
@@ -108,8 +116,7 @@ namespace OpenRA
|
|||||||
// Yaml map data
|
// Yaml map data
|
||||||
public string Uid { get; private set; }
|
public string Uid { get; private set; }
|
||||||
public int MapFormat;
|
public int MapFormat;
|
||||||
public bool Selectable = true;
|
public MapVisibility Visibility = MapVisibility.Lobby;
|
||||||
public bool UseAsShellmap;
|
|
||||||
public string RequiresMod;
|
public string RequiresMod;
|
||||||
|
|
||||||
public string Title;
|
public string Title;
|
||||||
@@ -218,6 +225,7 @@ namespace OpenRA
|
|||||||
Author = "Your name here",
|
Author = "Your name here",
|
||||||
MapSize = new int2(size),
|
MapSize = new int2(size),
|
||||||
Tileset = tileset.Id,
|
Tileset = tileset.Id,
|
||||||
|
Videos = new MapVideos(),
|
||||||
Options = new MapOptions(),
|
Options = new MapOptions(),
|
||||||
MapResources = Exts.Lazy(() => new CellLayer<ResourceTile>(tileShape, size)),
|
MapResources = Exts.Lazy(() => new CellLayer<ResourceTile>(tileShape, size)),
|
||||||
MapTiles = makeMapTiles,
|
MapTiles = makeMapTiles,
|
||||||
@@ -225,6 +233,7 @@ namespace OpenRA
|
|||||||
Actors = Exts.Lazy(() => new Dictionary<string, ActorReference>()),
|
Actors = Exts.Lazy(() => new Dictionary<string, ActorReference>()),
|
||||||
Smudges = Exts.Lazy(() => new List<SmudgeReference>())
|
Smudges = Exts.Lazy(() => new List<SmudgeReference>())
|
||||||
};
|
};
|
||||||
|
|
||||||
map.PostInit();
|
map.PostInit();
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
@@ -242,11 +251,7 @@ namespace OpenRA
|
|||||||
public Map() { }
|
public Map() { }
|
||||||
|
|
||||||
// The standard constructor for most purposes
|
// The standard constructor for most purposes
|
||||||
public Map(string path) : this(path, null) { }
|
public Map(string path)
|
||||||
|
|
||||||
// Support upgrading format 5 maps to a more
|
|
||||||
// recent version by defining upgradeForMod.
|
|
||||||
public Map(string path, string upgradeForMod)
|
|
||||||
{
|
{
|
||||||
Path = path;
|
Path = path;
|
||||||
Container = GlobalFileSystem.OpenPackage(path, null, int.MaxValue);
|
Container = GlobalFileSystem.OpenPackage(path, null, int.MaxValue);
|
||||||
@@ -260,24 +265,22 @@ namespace OpenRA
|
|||||||
// Support for formats 1-3 dropped 2011-02-11.
|
// Support for formats 1-3 dropped 2011-02-11.
|
||||||
// Use release-20110207 to convert older maps to format 4
|
// Use release-20110207 to convert older maps to format 4
|
||||||
// Use release-20110511 to convert older maps to format 5
|
// 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));
|
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();
|
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
|
// Load players
|
||||||
foreach (var my in nd["Players"].ToDictionary().Values)
|
foreach (var my in nd["Players"].ToDictionary().Values)
|
||||||
{
|
{
|
||||||
@@ -327,19 +330,19 @@ namespace OpenRA
|
|||||||
LastSubCell = (SubCell)(SubCellOffsets.Length - 1);
|
LastSubCell = (SubCell)(SubCellOffsets.Length - 1);
|
||||||
DefaultSubCell = (SubCell)Game.modData.Manifest.SubCellDefaultIndex;
|
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"))
|
if (Container.Exists("map.png"))
|
||||||
using (var dataStream = Container.GetContent("map.png"))
|
using (var dataStream = Container.GetContent("map.png"))
|
||||||
CustomPreview = new Bitmap(dataStream);
|
CustomPreview = new Bitmap(dataStream);
|
||||||
|
|
||||||
PostInit();
|
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()
|
void PostInit()
|
||||||
@@ -385,12 +388,11 @@ namespace OpenRA
|
|||||||
|
|
||||||
public void Save(string toPath)
|
public void Save(string toPath)
|
||||||
{
|
{
|
||||||
MapFormat = 6;
|
MapFormat = 7;
|
||||||
|
|
||||||
var root = new List<MiniYamlNode>();
|
var root = new List<MiniYamlNode>();
|
||||||
var fields = new[]
|
var fields = new[]
|
||||||
{
|
{
|
||||||
"Selectable",
|
|
||||||
"MapFormat",
|
"MapFormat",
|
||||||
"RequiresMod",
|
"RequiresMod",
|
||||||
"Title",
|
"Title",
|
||||||
@@ -399,7 +401,7 @@ namespace OpenRA
|
|||||||
"Tileset",
|
"Tileset",
|
||||||
"MapSize",
|
"MapSize",
|
||||||
"Bounds",
|
"Bounds",
|
||||||
"UseAsShellmap",
|
"Visibility",
|
||||||
"Type",
|
"Type",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace OpenRA
|
|||||||
{
|
{
|
||||||
using (new Support.PerfTimer(path.Key))
|
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))
|
if (modData.Manifest.MapCompatibility.Contains(map.RequiresMod))
|
||||||
previews[map.Uid].UpdateFromMap(map, path.Value);
|
previews[map.Uid].UpdateFromMap(map, path.Value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ namespace OpenRA.Widgets
|
|||||||
{
|
{
|
||||||
Func<MapPreview, bool> isIdealMap = m =>
|
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;
|
return false;
|
||||||
|
|
||||||
// Other map types may have confusing settings or gameplay
|
// 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) ??
|
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;
|
return selected.Uid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -150,7 +150,6 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
map.MapSize.X = mapSize;
|
map.MapSize.X = mapSize;
|
||||||
map.MapSize.Y = mapSize;
|
map.MapSize.Y = mapSize;
|
||||||
map.Bounds = Rectangle.FromLTRB(offsetX, offsetY, offsetX + width, offsetY + height);
|
map.Bounds = Rectangle.FromLTRB(offsetX, offsetY, offsetX + width, offsetY + height);
|
||||||
map.Selectable = true;
|
|
||||||
|
|
||||||
map.Smudges = Exts.Lazy(() => new List<SmudgeReference>());
|
map.Smudges = Exts.Lazy(() => new List<SmudgeReference>());
|
||||||
map.Actors = Exts.Lazy(() => new Dictionary<string, ActorReference>());
|
map.Actors = Exts.Lazy(() => new Dictionary<string, ActorReference>());
|
||||||
|
|||||||
@@ -173,7 +173,8 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
{
|
{
|
||||||
{ "initialMap", Map.Uid },
|
{ "initialMap", Map.Uid },
|
||||||
{ "onExit", DoNothing },
|
{ "onExit", DoNothing },
|
||||||
{ "onSelect", onSelect }
|
{ "onSelect", onSelect },
|
||||||
|
{ "filter", MapVisibility.Lobby },
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
|
|
||||||
var hasCampaign = Game.modData.Manifest.Missions.Any();
|
var hasCampaign = Game.modData.Manifest.Missions.Any();
|
||||||
var hasMissions = Game.modData.MapCache
|
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;
|
missionsButton.Disabled = !hasCampaign && !hasMissions;
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
string gameMode;
|
string gameMode;
|
||||||
|
|
||||||
[ObjectCreator.UseCtor]
|
[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);
|
selectedUid = WidgetUtils.ChooseInitialMap(initialMap);
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
var gameModeDropdown = widget.GetOrNull<DropDownButtonWidget>("GAMEMODE_FILTER");
|
var gameModeDropdown = widget.GetOrNull<DropDownButtonWidget>("GAMEMODE_FILTER");
|
||||||
if (gameModeDropdown != null)
|
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
|
var gameModes = selectableMaps
|
||||||
.GroupBy(m => m.Type)
|
.GroupBy(m => m.Type)
|
||||||
.Select(g => Pair.New(g.Key, g.Count())).ToList();
|
.Select(g => Pair.New(g.Key, g.Count())).ToList();
|
||||||
@@ -62,7 +62,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
{
|
{
|
||||||
var item = ScrollItemWidget.Setup(template,
|
var item = ScrollItemWidget.Setup(template,
|
||||||
() => gameMode == ii.First,
|
() => gameMode == ii.First,
|
||||||
() => { gameMode = ii.First; EnumerateMaps(onSelect); });
|
() => { gameMode = ii.First; EnumerateMaps(onSelect, filter); });
|
||||||
item.Get<LabelWidget>("LABEL").GetText = () => showItem(ii);
|
item.Get<LabelWidget>("LABEL").GetText = () => showItem(ii);
|
||||||
return item;
|
return item;
|
||||||
};
|
};
|
||||||
@@ -84,13 +84,13 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
mapFilter = mapfilterInput.Text = null;
|
mapFilter = mapfilterInput.Text = null;
|
||||||
EnumerateMaps(onSelect);
|
EnumerateMaps(onSelect, filter);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
mapfilterInput.OnEnterKey = () => { approving(); return true; };
|
mapfilterInput.OnEnterKey = () => { approving(); return true; };
|
||||||
mapfilterInput.OnTextEdited = () =>
|
mapfilterInput.OnTextEdited = () =>
|
||||||
{ mapFilter = mapfilterInput.Text; EnumerateMaps(onSelect); };
|
{ mapFilter = mapfilterInput.Text; EnumerateMaps(onSelect, filter); };
|
||||||
}
|
}
|
||||||
|
|
||||||
var randomMapButton = widget.GetOrNull<ButtonWidget>("RANDOMMAP_BUTTON");
|
var randomMapButton = widget.GetOrNull<ButtonWidget>("RANDOMMAP_BUTTON");
|
||||||
@@ -105,13 +105,13 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
randomMapButton.IsDisabled = () => visibleMaps == null || visibleMaps.Count == 0;
|
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
|
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 => gameMode == null || m.Type == gameMode)
|
||||||
.Where(m => mapFilter == null || m.Title.IndexOf(mapFilter, StringComparison.OrdinalIgnoreCase) >= 0 || m.Author.IndexOf(mapFilter, StringComparison.OrdinalIgnoreCase) >= 0)
|
.Where(m => mapFilter == null || m.Title.IndexOf(mapFilter, StringComparison.OrdinalIgnoreCase) >= 0 || m.Author.IndexOf(mapFilter, StringComparison.OrdinalIgnoreCase) >= 0)
|
||||||
.OrderBy(m => m.PlayerCount)
|
.OrderBy(m => m.PlayerCount)
|
||||||
|
|||||||
@@ -110,9 +110,8 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add an additional group for loose missions
|
// Add an additional group for loose missions
|
||||||
// Loose missions must define Type: Mission and Selectable: false.
|
|
||||||
var looseMissions = Game.modData.MapCache
|
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);
|
.Select(p => p.Map);
|
||||||
|
|
||||||
if (looseMissions.Any())
|
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -16,7 +14,7 @@ MapSize: 64,64
|
|||||||
|
|
||||||
Bounds: 35,39,27,23
|
Bounds: 35,39,27,23
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -27,7 +25,6 @@ Videos:
|
|||||||
GameLost: gameover.vqa
|
GameLost: gameover.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
Shroud: True
|
Shroud: True
|
||||||
@@ -35,6 +32,7 @@ Options:
|
|||||||
FragileAlliances: False
|
FragileAlliances: False
|
||||||
StartingCash: 5000
|
StartingCash: 5000
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@Nod:
|
PlayerReference@Nod:
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -16,7 +14,7 @@ MapSize: 64,64
|
|||||||
|
|
||||||
Bounds: 31,31,31,31
|
Bounds: 31,31,31,31
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -26,7 +24,6 @@ Videos:
|
|||||||
GameLost: gameover.vqa
|
GameLost: gameover.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
Shroud: True
|
Shroud: True
|
||||||
@@ -34,6 +31,7 @@ Options:
|
|||||||
FragileAlliances: False
|
FragileAlliances: False
|
||||||
StartingCash: 5000
|
StartingCash: 5000
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@GDI:
|
PlayerReference@GDI:
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -16,7 +14,7 @@ MapSize: 64,64
|
|||||||
|
|
||||||
Bounds: 1,25,45,37
|
Bounds: 1,25,45,37
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -27,7 +25,6 @@ Videos:
|
|||||||
GameLost: gameover.vqa
|
GameLost: gameover.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
Shroud: True
|
Shroud: True
|
||||||
@@ -35,6 +32,7 @@ Options:
|
|||||||
FragileAlliances: False
|
FragileAlliances: False
|
||||||
StartingCash: 5000
|
StartingCash: 5000
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@Nod:
|
PlayerReference@Nod:
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -16,7 +14,7 @@ MapSize: 64,64
|
|||||||
|
|
||||||
Bounds: 7,24,51,36
|
Bounds: 7,24,51,36
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -28,7 +26,6 @@ Videos:
|
|||||||
GameLost: gameover.vqa
|
GameLost: gameover.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Cheats: False
|
Cheats: False
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
@@ -37,6 +34,7 @@ Options:
|
|||||||
FragileAlliances: False
|
FragileAlliances: False
|
||||||
StartingCash: 0
|
StartingCash: 0
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@Nod:
|
PlayerReference@Nod:
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -16,7 +14,7 @@ MapSize: 64,64
|
|||||||
|
|
||||||
Bounds: 5,11,50,38
|
Bounds: 5,11,50,38
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -28,7 +26,6 @@ Videos:
|
|||||||
GameLost: gameover.vqa
|
GameLost: gameover.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
Shroud: True
|
Shroud: True
|
||||||
@@ -36,6 +33,7 @@ Options:
|
|||||||
FragileAlliances: False
|
FragileAlliances: False
|
||||||
StartingCash: 0
|
StartingCash: 0
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@Nod:
|
PlayerReference@Nod:
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -16,7 +14,7 @@ MapSize: 64,64
|
|||||||
|
|
||||||
Bounds: 14,14,48,44
|
Bounds: 14,14,48,44
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -28,7 +26,6 @@ Videos:
|
|||||||
GameLost: gameover.vqa
|
GameLost: gameover.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
Shroud: True
|
Shroud: True
|
||||||
@@ -36,6 +33,7 @@ Options:
|
|||||||
FragileAlliances: False
|
FragileAlliances: False
|
||||||
StartingCash: 0
|
StartingCash: 0
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@Neutral:
|
PlayerReference@Neutral:
|
||||||
|
|||||||
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.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -16,7 +14,7 @@ MapSize: 64,64
|
|||||||
|
|
||||||
Bounds: 21,14,37,24
|
Bounds: 21,14,37,24
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -25,7 +23,6 @@ Videos:
|
|||||||
GameLost: nodlose.vqa
|
GameLost: nodlose.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
Shroud: True
|
Shroud: True
|
||||||
@@ -33,6 +30,7 @@ Options:
|
|||||||
FragileAlliances: False
|
FragileAlliances: False
|
||||||
StartingCash: 0
|
StartingCash: 0
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@Neutral:
|
PlayerReference@Neutral:
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -10,15 +8,13 @@ Description: GDI has established a prison camp, where they are detaining some of
|
|||||||
|
|
||||||
Author: Westwood Studios
|
Author: Westwood Studios
|
||||||
|
|
||||||
PreviewVideo: nod3.vqa
|
|
||||||
|
|
||||||
Tileset: DESERT
|
Tileset: DESERT
|
||||||
|
|
||||||
MapSize: 64,64
|
MapSize: 64,64
|
||||||
|
|
||||||
Bounds: 13,16,42,33
|
Bounds: 13,16,42,33
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -29,7 +25,6 @@ Videos:
|
|||||||
GameLost: flag.vqa
|
GameLost: flag.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
Shroud: True
|
Shroud: True
|
||||||
@@ -37,6 +32,7 @@ Options:
|
|||||||
FragileAlliances: False
|
FragileAlliances: False
|
||||||
StartingCash: 4000
|
StartingCash: 4000
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@Neutral:
|
PlayerReference@Neutral:
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -10,15 +8,13 @@ Description: GDI has established a prison camp, where they are detaining some of
|
|||||||
|
|
||||||
Author: Westwood Studios
|
Author: Westwood Studios
|
||||||
|
|
||||||
PreviewVideo: nod3.vqa
|
|
||||||
|
|
||||||
Tileset: DESERT
|
Tileset: DESERT
|
||||||
|
|
||||||
MapSize: 64,64
|
MapSize: 64,64
|
||||||
|
|
||||||
Bounds: 13,16,42,34
|
Bounds: 13,16,42,34
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -29,7 +25,6 @@ Videos:
|
|||||||
GameLost: flag.vqa
|
GameLost: flag.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
Shroud: True
|
Shroud: True
|
||||||
@@ -37,6 +32,7 @@ Options:
|
|||||||
FragileAlliances: False
|
FragileAlliances: False
|
||||||
StartingCash: 4000
|
StartingCash: 4000
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@Neutral:
|
PlayerReference@Neutral:
|
||||||
|
|||||||
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.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -16,10 +14,12 @@ MapSize: 96,48
|
|||||||
|
|
||||||
Bounds: 8,1,80,45
|
Bounds: 8,1,80,45
|
||||||
|
|
||||||
UseAsShellmap: True
|
Visibility: Shellmap
|
||||||
|
|
||||||
Type: Shellmap
|
Type: Shellmap
|
||||||
|
|
||||||
|
Videos:
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: True
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: cnc
|
RequiresMod: cnc
|
||||||
|
|
||||||
@@ -16,10 +14,12 @@ MapSize: 64,64
|
|||||||
|
|
||||||
Bounds: 16,16,36,36
|
Bounds: 16,16,36,36
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: Lobby
|
||||||
|
|
||||||
Type: Drop Zone
|
Type: Drop Zone
|
||||||
|
|
||||||
|
Videos:
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
Crates: True
|
Crates: True
|
||||||
Fog: False
|
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.
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: d2k
|
RequiresMod: d2k
|
||||||
|
|
||||||
@@ -16,10 +14,12 @@ MapSize: 128,128
|
|||||||
|
|
||||||
Bounds: 16,16,80,80
|
Bounds: 16,16,80,80
|
||||||
|
|
||||||
UseAsShellmap: True
|
Visibility: Shellmap
|
||||||
|
|
||||||
Type: Shellmap
|
Type: Shellmap
|
||||||
|
|
||||||
|
Videos:
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
Players:
|
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.
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: ra
|
RequiresMod: ra
|
||||||
|
|
||||||
@@ -16,7 +14,7 @@ MapSize: 128,128
|
|||||||
|
|
||||||
Bounds: 49,45,30,36
|
Bounds: 49,45,30,36
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: ra
|
RequiresMod: ra
|
||||||
|
|
||||||
@@ -16,7 +14,7 @@ MapSize: 128,128
|
|||||||
|
|
||||||
Bounds: 43,44,50,42
|
Bounds: 43,44,50,42
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -27,7 +25,6 @@ Videos:
|
|||||||
GameLost: frozen.vqa
|
GameLost: frozen.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
Shroud: True
|
Shroud: True
|
||||||
@@ -35,6 +32,7 @@ Options:
|
|||||||
FragileAlliances: False
|
FragileAlliances: False
|
||||||
StartingCash: 5700
|
StartingCash: 5700
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@USSR:
|
PlayerReference@USSR:
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: False
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: ra
|
RequiresMod: ra
|
||||||
|
|
||||||
@@ -16,7 +14,7 @@ MapSize: 128,128
|
|||||||
|
|
||||||
Bounds: 35,48,72,36
|
Bounds: 35,48,72,36
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: MissionSelector
|
||||||
|
|
||||||
Type: Campaign
|
Type: Campaign
|
||||||
|
|
||||||
@@ -26,7 +24,6 @@ Videos:
|
|||||||
GameLost: sovtstar.vqa
|
GameLost: sovtstar.vqa
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
ShortGame: False
|
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
Shroud: True
|
Shroud: True
|
||||||
@@ -35,6 +32,7 @@ Options:
|
|||||||
StartingCash: 0
|
StartingCash: 0
|
||||||
ConfigurableStartingUnits: False
|
ConfigurableStartingUnits: False
|
||||||
Difficulties: Easy, Normal
|
Difficulties: Easy, Normal
|
||||||
|
ShortGame: False
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
PlayerReference@Neutral:
|
PlayerReference@Neutral:
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: True
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: ra
|
RequiresMod: ra
|
||||||
|
|
||||||
@@ -16,10 +14,12 @@ MapSize: 56,56
|
|||||||
|
|
||||||
Bounds: 16,16,24,24
|
Bounds: 16,16,24,24
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: Lobby
|
||||||
|
|
||||||
Type: Minigame
|
Type: Minigame
|
||||||
|
|
||||||
|
Videos:
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
Crates: False
|
Crates: False
|
||||||
Fog: True
|
Fog: True
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: True
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: ra
|
RequiresMod: ra
|
||||||
|
|
||||||
@@ -14,10 +12,12 @@ MapSize: 64,64
|
|||||||
|
|
||||||
Bounds: 4,4,56,56
|
Bounds: 4,4,56,56
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: Lobby
|
||||||
|
|
||||||
Type: Conquest
|
Type: Conquest
|
||||||
|
|
||||||
|
Videos:
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,4 @@
|
|||||||
Selectable: True
|
MapFormat: 7
|
||||||
|
|
||||||
MapFormat: 6
|
|
||||||
|
|
||||||
RequiresMod: ra
|
RequiresMod: ra
|
||||||
|
|
||||||
@@ -14,10 +12,12 @@ MapSize: 128,128
|
|||||||
|
|
||||||
Bounds: 15,10,105,114
|
Bounds: 15,10,105,114
|
||||||
|
|
||||||
UseAsShellmap: False
|
Visibility: Lobby
|
||||||
|
|
||||||
Type: Conquest
|
Type: Conquest
|
||||||
|
|
||||||
|
Videos:
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
Players:
|
Players:
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user