diff --git a/OpenRA.Utility/Command.cs b/OpenRA.Utility/Command.cs index 345c4ce74b..6fc2d02acc 100644 --- a/OpenRA.Utility/Command.cs +++ b/OpenRA.Utility/Command.cs @@ -402,16 +402,20 @@ namespace OpenRA.Utility public static void TransposeShp(string[] args) { var srcImage = ShpReader.Load(args[1]); - var start = int.Parse(args[3]); - var m = int.Parse(args[4]); - var n = int.Parse(args[5]); var srcFrames = srcImage.Frames.ToArray(); var destFrames = srcImage.Frames.ToArray(); - for( var i = 0; i < m; i++ ) - for( var j = 0; j < n; j++ ) - destFrames[ start + i*n + j ] = srcFrames[ start + j*m + i ]; + for( var z = 3; z < args.Length - 2; z += 3 ) + { + var start = int.Parse(args[z]); + var m = int.Parse(args[z+1]); + var n = int.Parse(args[z+2]); + + for( var i = 0; i < m; i++ ) + for( var j = 0; j < n; j++ ) + destFrames[ start + i*n + j ] = srcFrames[ start + j*m + i ]; + } using( var destStream = File.Create(args[2]) ) ShpWriter.Write(destStream, srcImage.Width, srcImage.Height, diff --git a/OpenRA.Utility/Program.cs b/OpenRA.Utility/Program.cs index 47a386e92f..d46783c004 100644 --- a/OpenRA.Utility/Program.cs +++ b/OpenRA.Utility/Program.cs @@ -62,7 +62,7 @@ namespace OpenRA.Utility Console.WriteLine(" --tmp-png MOD[,MOD]* THEATER FILES Extract terrain tiles to PNG"); Console.WriteLine(" --remap SRCMOD:PAL DESTMOD:PAL SRCSHP DESTSHP Remap SHPs to another palette"); Console.WriteLine(" --r8 R8FILE PALETTE START END FILENAME [--transparent] [--infrantry] [--vehicle] [--projectile] [--building] [--wall] [--tileset] Convert Dune 2000 DATA.R8 to PNGs choosing start- and endframe as well as type for correct offset to append multiple frames to one PNG named by filename optionally setting up transparency."); - Console.WriteLine(" --transpose SRCSHP DESTSHP START N M Transpose the N*M block of frames starting at START."); + Console.WriteLine(" --transpose SRCSHP DESTSHP START N M [START N M ...] Transpose the N*M block of frames starting at START."); } static string GetNamedArg(string[] args, string arg)