Move map format upgrades to an explicit upgrade rule.

This commit is contained in:
Paul Chote
2016-02-06 14:04:02 +00:00
parent e4867ad18a
commit 34910cd128
5 changed files with 114 additions and 81 deletions

View File

@@ -28,12 +28,12 @@ namespace OpenRA.Mods.Common.UtilityCommands
{
// HACK: The engine code assumes that Game.modData is set.
Game.ModData = modData;
Game.ModData.MapCache.LoadMaps();
modData.MapCache.LoadMaps();
var engineDate = Exts.ParseIntegerInvariant(args[1]);
Console.WriteLine("Processing Rules:");
foreach (var filename in Game.ModData.Manifest.Rules)
foreach (var filename in modData.Manifest.Rules)
{
Console.WriteLine("\t" + filename);
var yaml = MiniYaml.FromFile(filename);
@@ -44,7 +44,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
Console.WriteLine("Processing Weapons:");
foreach (var filename in Game.ModData.Manifest.Weapons)
foreach (var filename in modData.Manifest.Weapons)
{
Console.WriteLine("\t" + filename);
var yaml = MiniYaml.FromFile(filename);
@@ -55,7 +55,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
Console.WriteLine("Processing Tilesets:");
foreach (var filename in Game.ModData.Manifest.TileSets)
foreach (var filename in modData.Manifest.TileSets)
{
Console.WriteLine("\t" + filename);
var yaml = MiniYaml.FromFile(filename);
@@ -66,7 +66,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
Console.WriteLine("Processing Cursors:");
foreach (var filename in Game.ModData.Manifest.Cursors)
foreach (var filename in modData.Manifest.Cursors)
{
Console.WriteLine("\t" + filename);
var yaml = MiniYaml.FromFile(filename);
@@ -77,7 +77,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
Console.WriteLine("Processing Chrome Metrics:");
foreach (var filename in Game.ModData.Manifest.ChromeMetrics)
foreach (var filename in modData.Manifest.ChromeMetrics)
{
Console.WriteLine("\t" + filename);
var yaml = MiniYaml.FromFile(filename);
@@ -88,7 +88,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
Console.WriteLine("Processing Chrome Layout:");
foreach (var filename in Game.ModData.Manifest.ChromeLayout)
foreach (var filename in modData.Manifest.ChromeLayout)
{
Console.WriteLine("\t" + filename);
var yaml = MiniYaml.FromFile(filename);
@@ -99,13 +99,16 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
Console.WriteLine("Processing Maps:");
var maps = Game.ModData.MapCache
var mapPaths = modData.MapCache
.Where(m => m.Status == MapStatus.Available)
.Select(m => new Map(m.Path));
.Select(m => m.Path);
foreach (var map in maps)
foreach (var path in mapPaths)
{
Console.WriteLine("\t" + map.Path);
Console.WriteLine("\t" + path);
UpgradeRules.UpgradeMapFormat(modData, path);
var map = new Map(path);
UpgradeRules.UpgradeActorRules(engineDate, ref map.RuleDefinitions, null, 0);
UpgradeRules.UpgradeWeaponRules(engineDate, ref map.WeaponDefinitions, null, 0);
UpgradeRules.UpgradePlayers(engineDate, ref map.PlayerDefinitions, null, 0);