add --transpose option to utility
This commit is contained in:
@@ -398,5 +398,24 @@ namespace OpenRA.Utility
|
|||||||
ShpWriter.Write(destStream, srcImage.Width, srcImage.Height,
|
ShpWriter.Write(destStream, srcImage.Width, srcImage.Height,
|
||||||
srcImage.Frames.Select( im => im.Image.Select(px => (byte)remap[px]).ToArray() ));
|
srcImage.Frames.Select( im => im.Image.Select(px => (byte)remap[px]).ToArray() ));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 ];
|
||||||
|
|
||||||
|
using( var destStream = File.Create(args[2]) )
|
||||||
|
ShpWriter.Write(destStream, srcImage.Width, srcImage.Height,
|
||||||
|
destFrames.Select(f => f.Image));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ namespace OpenRA.Utility
|
|||||||
{ "--tmp-png", Command.ConvertTmpToPng },
|
{ "--tmp-png", Command.ConvertTmpToPng },
|
||||||
{ "--remap", Command.RemapShp },
|
{ "--remap", Command.RemapShp },
|
||||||
{ "--r8", Command.ConvertR8ToPng },
|
{ "--r8", Command.ConvertR8ToPng },
|
||||||
|
{ "--transpose", Command.TransposeShp },
|
||||||
};
|
};
|
||||||
|
|
||||||
if (args.Length == 0) { PrintUsage(); return; }
|
if (args.Length == 0) { PrintUsage(); return; }
|
||||||
@@ -61,6 +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.");
|
||||||
}
|
}
|
||||||
|
|
||||||
static string GetNamedArg(string[] args, string arg)
|
static string GetNamedArg(string[] args, string arg)
|
||||||
|
|||||||
Reference in New Issue
Block a user