Move map upgrading to OpenRA.Utility.

This commit is contained in:
Paul Chote
2013-12-08 11:25:54 +13:00
parent 73f4f880cc
commit 250a7cb349
3 changed files with 9 additions and 27 deletions

View File

@@ -22,38 +22,11 @@ namespace OpenRA.Editor
[STAThread] [STAThread]
static void Main(string[] args) static void Main(string[] args)
{ {
if (args.Length >= 2 && args[0] == "--convert")
{
Game.modData = new ModData(args[1]);
FileSystem.LoadFromManifest(Game.modData.Manifest);
Rules.LoadRules(Game.modData.Manifest, new Map());
UpgradeMaps(args[1]);
return;
}
Application.CurrentCulture = CultureInfo.InvariantCulture; Application.CurrentCulture = CultureInfo.InvariantCulture;
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1(args)); Application.Run(new Form1(args));
} }
static void UpgradeMaps(string mod)
{
var mapFolderPath = new string[] { Environment.CurrentDirectory, "mods", mod, "maps" }
.Aggregate(Path.Combine);
foreach (var path in ModData.FindMapsIn(mapFolderPath))
{
var map = new Map(path);
// Touch the lazy bits to initialize them
map.Actors.Force();
map.Smudges.Force();
map.MapTiles.Force();
map.MapResources.Force();
map.Save(path);
}
}
} }
} }

View File

@@ -312,5 +312,13 @@ namespace OpenRA.Utility
minimap.Save(dest); minimap.Save(dest);
Console.WriteLine(dest + " saved."); Console.WriteLine(dest + " saved.");
} }
public static void UpgradeMap(string[] args)
{
var map = args[1];
var mod = args[2];
Game.modData = new ModData(mod);
new Map(map, mod);
}
} }
} }

View File

@@ -29,6 +29,7 @@ namespace OpenRA.Utility
{ "--docs", Command.ExtractTraitDocs }, { "--docs", Command.ExtractTraitDocs },
{ "--map-hash", Command.GetMapHash }, { "--map-hash", Command.GetMapHash },
{ "--minimap", Command.GenerateMinimap }, { "--minimap", Command.GenerateMinimap },
{ "--map-upgrade", Command.UpgradeMap },
}; };
if (args.Length == 0) { PrintUsage(); return; } if (args.Length == 0) { PrintUsage(); return; }