allow --transpose to do multiple operations in one pass
This commit is contained in:
@@ -402,16 +402,20 @@ namespace OpenRA.Utility
|
|||||||
public static void TransposeShp(string[] args)
|
public static void TransposeShp(string[] args)
|
||||||
{
|
{
|
||||||
var srcImage = ShpReader.Load(args[1]);
|
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 srcFrames = srcImage.Frames.ToArray();
|
||||||
var destFrames = srcImage.Frames.ToArray();
|
var destFrames = srcImage.Frames.ToArray();
|
||||||
|
|
||||||
for( var i = 0; i < m; i++ )
|
for( var z = 3; z < args.Length - 2; z += 3 )
|
||||||
for( var j = 0; j < n; j++ )
|
{
|
||||||
destFrames[ start + i*n + j ] = srcFrames[ start + j*m + i ];
|
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]) )
|
using( var destStream = File.Create(args[2]) )
|
||||||
ShpWriter.Write(destStream, srcImage.Width, srcImage.Height,
|
ShpWriter.Write(destStream, srcImage.Width, srcImage.Height,
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ namespace OpenRA.Utility
|
|||||||
Console.WriteLine(" --tmp-png MOD[,MOD]* THEATER FILES Extract terrain tiles to PNG");
|
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(" --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(" --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)
|
static string GetNamedArg(string[] args, string arg)
|
||||||
|
|||||||
Reference in New Issue
Block a user