From 5a4fc712a9b6cb1ac8a6704796ed215968a27159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Thu, 5 Dec 2013 17:41:03 +0100 Subject: [PATCH] added --minimap to OpenRA Utility closes #4195 --- OpenRA.Game/Graphics/Minimap.cs | 4 ++-- OpenRA.Utility/Command.cs | 19 +++++++++++++++++++ OpenRA.Utility/Program.cs | 2 ++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/OpenRA.Game/Graphics/Minimap.cs b/OpenRA.Game/Graphics/Minimap.cs index 9c8e89c625..42b5ca9413 100644 --- a/OpenRA.Game/Graphics/Minimap.cs +++ b/OpenRA.Game/Graphics/Minimap.cs @@ -113,7 +113,7 @@ namespace OpenRA.Graphics { var mapX = x + map.Bounds.Left; var mapY = y + map.Bounds.Top; - var custom = map.CustomTerrain[mapX,mapY]; + var custom = map.CustomTerrain[mapX, mapY]; if (custom == null) continue; *(c + (y * bitmapData.Stride >> 2) + x) = world.TileSet.Terrain[custom].Color.ToArgb(); @@ -187,7 +187,7 @@ namespace OpenRA.Graphics public static Bitmap RenderMapPreview(Map map) { - Bitmap terrain = TerrainBitmap(map); + Bitmap terrain = TerrainBitmap(map, true); return AddStaticResources(map, terrain); } } diff --git a/OpenRA.Utility/Command.cs b/OpenRA.Utility/Command.cs index dc2c81eaac..5e2736e505 100644 --- a/OpenRA.Utility/Command.cs +++ b/OpenRA.Utility/Command.cs @@ -293,5 +293,24 @@ namespace OpenRA.Utility var result = new Map(args[1]).Uid; Console.WriteLine(result); } + + public static void GenerateMinimap(string[] args) + { + var map = new Map(args[1]); + + Game.modData = new ModData(map.RequiresMod); + + FileSystem.UnmountAll(); + foreach (var dir in Game.modData.Manifest.Folders) + FileSystem.Mount(dir); + + Rules.LoadRules(Game.modData.Manifest, map); + + var minimap = Minimap.RenderMapPreview(map); + + var dest = Path.GetFileNameWithoutExtension(args[1]) + ".png"; + minimap.Save(dest); + Console.WriteLine(dest + " saved."); + } } } diff --git a/OpenRA.Utility/Program.cs b/OpenRA.Utility/Program.cs index d3a9b77f3f..e9dce0c937 100644 --- a/OpenRA.Utility/Program.cs +++ b/OpenRA.Utility/Program.cs @@ -28,6 +28,7 @@ namespace OpenRA.Utility { "--transpose", Command.TransposeShp }, { "--docs", Command.ExtractTraitDocs }, { "--map-hash", Command.GetMapHash }, + { "--minimap", Command.GenerateMinimap }, }; if (args.Length == 0) { PrintUsage(); return; } @@ -62,6 +63,7 @@ namespace OpenRA.Utility Console.WriteLine(" --transpose SRCSHP DESTSHP START N M [START N M ...] Transpose the N*M block of frames starting at START."); Console.WriteLine(" --docs MOD Generate trait documentation in MarkDown format."); Console.WriteLine(" --map-hash MAPFILE Generate hash of specified oramap file."); + Console.WriteLine(" --minimap MAPFILE Render PNG minimap of specified oramap file."); } static string GetNamedArg(string[] args, string arg)