StyleCop clean Utility
This commit is contained in:
@@ -82,15 +82,16 @@ namespace OpenRA.Utility
|
|||||||
var dest = Path.ChangeExtension(src, ".png");
|
var dest = Path.ChangeExtension(src, ".png");
|
||||||
|
|
||||||
var srcImage = ShpReader.Load(src);
|
var srcImage = ShpReader.Load(src);
|
||||||
int[] ShadowIndex = { };
|
var shadowIndex = new int[] { };
|
||||||
if (args.Contains("--noshadow"))
|
if (args.Contains("--noshadow"))
|
||||||
{
|
{
|
||||||
Array.Resize(ref ShadowIndex, ShadowIndex.Length + 3);
|
Array.Resize(ref shadowIndex, shadowIndex.Length + 3);
|
||||||
ShadowIndex[ShadowIndex.Length - 1] = 1;
|
shadowIndex[shadowIndex.Length - 1] = 1;
|
||||||
ShadowIndex[ShadowIndex.Length - 2] = 3;
|
shadowIndex[shadowIndex.Length - 2] = 3;
|
||||||
ShadowIndex[ShadowIndex.Length - 1] = 4;
|
shadowIndex[shadowIndex.Length - 1] = 4;
|
||||||
}
|
}
|
||||||
var palette = Palette.Load(args[2], ShadowIndex);
|
|
||||||
|
var palette = Palette.Load(args[2], shadowIndex);
|
||||||
|
|
||||||
using (var bitmap = new Bitmap(srcImage.ImageCount * srcImage.Width, srcImage.Height, PixelFormat.Format8bppIndexed))
|
using (var bitmap = new Bitmap(srcImage.ImageCount * srcImage.Width, srcImage.Height, PixelFormat.Format8bppIndexed))
|
||||||
{
|
{
|
||||||
@@ -119,41 +120,44 @@ namespace OpenRA.Utility
|
|||||||
public static void ConvertR8ToPng(string[] args)
|
public static void ConvertR8ToPng(string[] args)
|
||||||
{
|
{
|
||||||
var srcImage = new R8Reader(File.OpenRead(args[1]));
|
var srcImage = new R8Reader(File.OpenRead(args[1]));
|
||||||
int[] ShadowIndex = { };
|
var shadowIndex = new int[] { };
|
||||||
if (args.Contains("--noshadow"))
|
if (args.Contains("--noshadow"))
|
||||||
{
|
{
|
||||||
Array.Resize(ref ShadowIndex, ShadowIndex.Length + 1);
|
Array.Resize(ref shadowIndex, shadowIndex.Length + 1);
|
||||||
ShadowIndex[ShadowIndex.Length - 1] = 3;
|
shadowIndex[shadowIndex.Length - 1] = 3;
|
||||||
}
|
}
|
||||||
var palette = Palette.Load(args[2], ShadowIndex);
|
|
||||||
|
var palette = Palette.Load(args[2], shadowIndex);
|
||||||
var startFrame = int.Parse(args[3]);
|
var startFrame = int.Parse(args[3]);
|
||||||
var endFrame = int.Parse(args[4]) + 1;
|
var endFrame = int.Parse(args[4]) + 1;
|
||||||
var filename = args[5];
|
var filename = args[5];
|
||||||
var FrameCount = endFrame - startFrame;
|
var frameCount = endFrame - startFrame;
|
||||||
|
|
||||||
var frame = srcImage[startFrame];
|
var frame = srcImage[startFrame];
|
||||||
var bitmap = new Bitmap(frame.FrameSize.Width * FrameCount, frame.FrameSize.Height, PixelFormat.Format8bppIndexed);
|
var bitmap = new Bitmap(frame.FrameSize.Width * frameCount, frame.FrameSize.Height, PixelFormat.Format8bppIndexed);
|
||||||
bitmap.Palette = palette.AsSystemPalette();
|
bitmap.Palette = palette.AsSystemPalette();
|
||||||
|
|
||||||
int x = 0;
|
int x = 0;
|
||||||
|
|
||||||
frame = srcImage[startFrame];
|
frame = srcImage[startFrame];
|
||||||
|
|
||||||
if (args.Contains("--infantry")) //resorting to RA/CnC compatible counter-clockwise frame order
|
// resorting to RA/CnC compatible counter-clockwise frame order
|
||||||
|
if (args.Contains("--infantry"))
|
||||||
{
|
{
|
||||||
endFrame = startFrame - 1;
|
endFrame = startFrame - 1;
|
||||||
for (int e = 8; e < FrameCount+1; e=e+8) //assuming 8 facings each animation set
|
|
||||||
{
|
|
||||||
|
|
||||||
|
// assuming 8 facings each animation set
|
||||||
|
for (int e = 8; e < frameCount + 1; e = e + 8)
|
||||||
|
{
|
||||||
for (int f = startFrame + e - 1; f > endFrame; f--)
|
for (int f = startFrame + e - 1; f > endFrame; f--)
|
||||||
{
|
{
|
||||||
var OffsetX = frame.FrameSize.Width/2 - frame.Size.Width/2;
|
var offsetX = frame.FrameSize.Width / 2 - frame.Size.Width / 2;
|
||||||
var OffsetY = frame.FrameSize.Height/2 - frame.Size.Height/2;
|
var offsetY = frame.FrameSize.Height / 2 - frame.Size.Height / 2;
|
||||||
|
|
||||||
Console.WriteLine("calculated OffsetX: {0}", OffsetX);
|
Console.WriteLine("calculated OffsetX: {0}", offsetX);
|
||||||
Console.WriteLine("calculated OffsetY: {0}", OffsetY);
|
Console.WriteLine("calculated OffsetY: {0}", offsetY);
|
||||||
|
|
||||||
var data = bitmap.LockBits(new Rectangle(x+OffsetX, 0+OffsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
|
var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
|
||||||
PixelFormat.Format8bppIndexed);
|
PixelFormat.Format8bppIndexed);
|
||||||
|
|
||||||
for (var i = 0; i < frame.Size.Height; i++)
|
for (var i = 0; i < frame.Size.Height; i++)
|
||||||
@@ -167,26 +171,26 @@ namespace OpenRA.Utility
|
|||||||
frame = srcImage[f];
|
frame = srcImage[f];
|
||||||
Console.WriteLine("f: {0}", f);
|
Console.WriteLine("f: {0}", f);
|
||||||
}
|
}
|
||||||
|
|
||||||
endFrame = startFrame + e - 1;
|
endFrame = startFrame + e - 1;
|
||||||
frame = srcImage[startFrame + e];
|
frame = srcImage[startFrame + e];
|
||||||
Console.WriteLine("e: {0}", e);
|
Console.WriteLine("e: {0}", e);
|
||||||
Console.WriteLine("FrameCount: {0}", FrameCount);
|
Console.WriteLine("FrameCount: {0}", frameCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//resorting to RA/CnC compatible counter-clockwise frame order
|
|
||||||
else if (args.Contains("--vehicle") || args.Contains("--projectile"))
|
else if (args.Contains("--vehicle") || args.Contains("--projectile"))
|
||||||
{
|
{
|
||||||
frame = srcImage[startFrame];
|
frame = srcImage[startFrame];
|
||||||
|
|
||||||
for (int f = endFrame - 1; f > startFrame - 1; f--)
|
for (int f = endFrame - 1; f > startFrame - 1; f--)
|
||||||
{
|
{
|
||||||
var OffsetX = frame.FrameSize.Width/2 - frame.Offset.X;
|
var offsetX = frame.FrameSize.Width / 2 - frame.Offset.X;
|
||||||
var OffsetY = frame.FrameSize.Height/2 - frame.Offset.Y;
|
var offsetY = frame.FrameSize.Height / 2 - frame.Offset.Y;
|
||||||
|
|
||||||
Console.WriteLine("calculated OffsetX: {0}", OffsetX);
|
Console.WriteLine("calculated OffsetX: {0}", offsetX);
|
||||||
Console.WriteLine("calculated OffsetY: {0}", OffsetY);
|
Console.WriteLine("calculated OffsetY: {0}", offsetY);
|
||||||
|
|
||||||
var data = bitmap.LockBits(new Rectangle(x+OffsetX, 0+OffsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
|
var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
|
||||||
PixelFormat.Format8bppIndexed);
|
PixelFormat.Format8bppIndexed);
|
||||||
|
|
||||||
for (var i = 0; i < frame.Size.Height; i++)
|
for (var i = 0; i < frame.Size.Height; i++)
|
||||||
@@ -200,19 +204,19 @@ namespace OpenRA.Utility
|
|||||||
frame = srcImage[f];
|
frame = srcImage[f];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (args.Contains("--turret")) //resorting to RA/CnC compatible counter-clockwise frame order
|
else if (args.Contains("--turret"))
|
||||||
{
|
{
|
||||||
frame = srcImage[startFrame];
|
frame = srcImage[startFrame];
|
||||||
|
|
||||||
for (int f = endFrame - 1; f > startFrame - 1; f--)
|
for (int f = endFrame - 1; f > startFrame - 1; f--)
|
||||||
{
|
{
|
||||||
var OffsetX = Math.Abs(frame.Offset.X);
|
var offsetX = Math.Abs(frame.Offset.X);
|
||||||
var OffsetY = frame.FrameSize.Height - Math.Abs(frame.Offset.Y);
|
var offsetY = frame.FrameSize.Height - Math.Abs(frame.Offset.Y);
|
||||||
|
|
||||||
Console.WriteLine("calculated OffsetX: {0}", OffsetX);
|
Console.WriteLine("calculated OffsetX: {0}", offsetX);
|
||||||
Console.WriteLine("calculated OffsetY: {0}", OffsetY);
|
Console.WriteLine("calculated OffsetY: {0}", offsetY);
|
||||||
|
|
||||||
var data = bitmap.LockBits(new Rectangle(x+OffsetX, 0+OffsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
|
var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
|
||||||
PixelFormat.Format8bppIndexed);
|
PixelFormat.Format8bppIndexed);
|
||||||
|
|
||||||
for (var i = 0; i < frame.Size.Height; i++)
|
for (var i = 0; i < frame.Size.Height; i++)
|
||||||
@@ -226,21 +230,22 @@ namespace OpenRA.Utility
|
|||||||
frame = srcImage[f];
|
frame = srcImage[f];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (args.Contains("--wall")) //complex resorting to RA/CnC compatible frame order
|
else if (args.Contains("--wall"))
|
||||||
{
|
{
|
||||||
int[] D2kBrikFrameOrder = {1, 4, 2, 12, 5, 6, 16, 9, 3, 13, 7, 8, 14, 10, 11, 15, 17, 20, 18, 28, 21, 22, 32, 25, 19, 29, 23, 24, 30, 26, 27, 31};
|
// complex resorting to RA/CnC compatible frame order
|
||||||
foreach (int o in D2kBrikFrameOrder)
|
var d2kBrikFrameOrder = new int[] { 1, 4, 2, 12, 5, 6, 16, 9, 3, 13, 7, 8, 14, 10, 11, 15, 17, 20, 18, 28, 21, 22, 32, 25, 19, 29, 23, 24, 30, 26, 27, 31 };
|
||||||
|
foreach (int o in d2kBrikFrameOrder)
|
||||||
{
|
{
|
||||||
int f = startFrame -1 + o;
|
var f = startFrame - 1 + o;
|
||||||
|
|
||||||
frame = srcImage[f];
|
frame = srcImage[f];
|
||||||
|
|
||||||
var OffsetX = Math.Abs(frame.Offset.X);
|
var offsetX = Math.Abs(frame.Offset.X);
|
||||||
var OffsetY = frame.FrameSize.Height - Math.Abs(frame.Offset.Y);
|
var offsetY = frame.FrameSize.Height - Math.Abs(frame.Offset.Y);
|
||||||
Console.WriteLine("calculated OffsetX: {0}", OffsetX);
|
Console.WriteLine("calculated OffsetX: {0}", offsetX);
|
||||||
Console.WriteLine("calculated OffsetY: {0}", OffsetY);
|
Console.WriteLine("calculated OffsetY: {0}", offsetY);
|
||||||
|
|
||||||
var data = bitmap.LockBits(new Rectangle(x+OffsetX, 0+OffsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
|
var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
|
||||||
PixelFormat.Format8bppIndexed);
|
PixelFormat.Format8bppIndexed);
|
||||||
|
|
||||||
for (var i = 0; i < frame.Size.Height; i++)
|
for (var i = 0; i < frame.Size.Height; i++)
|
||||||
@@ -262,7 +267,7 @@ namespace OpenRA.Utility
|
|||||||
{
|
{
|
||||||
for (int w = 0; w < 20; w++)
|
for (int w = 0; w < 20; w++)
|
||||||
{
|
{
|
||||||
if (h * 20 + w < FrameCount)
|
if (h * 20 + w < frameCount)
|
||||||
{
|
{
|
||||||
Console.WriteLine(f);
|
Console.WriteLine(f);
|
||||||
frame = srcImage[f];
|
frame = srcImage[f];
|
||||||
@@ -279,6 +284,7 @@ namespace OpenRA.Utility
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bitmap = tileset;
|
bitmap = tileset;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -286,22 +292,23 @@ namespace OpenRA.Utility
|
|||||||
for (int f = startFrame; f < endFrame; f++)
|
for (int f = startFrame; f < endFrame; f++)
|
||||||
{
|
{
|
||||||
frame = srcImage[f];
|
frame = srcImage[f];
|
||||||
int OffsetX = 0;
|
var offsetX = 0;
|
||||||
int OffsetY = 0;
|
var offsetY = 0;
|
||||||
if (args.Contains("--infantrydeath"))
|
if (args.Contains("--infantrydeath"))
|
||||||
{
|
{
|
||||||
OffsetX = frame.FrameSize.Width/2 - frame.Size.Width/2;
|
offsetX = frame.FrameSize.Width / 2 - frame.Size.Width / 2;
|
||||||
OffsetY = frame.FrameSize.Height/2 - frame.Size.Height/2;
|
offsetY = frame.FrameSize.Height / 2 - frame.Size.Height / 2;
|
||||||
}
|
}
|
||||||
else if (args.Contains("--building"))
|
else if (args.Contains("--building"))
|
||||||
{
|
{
|
||||||
OffsetX = Math.Abs(frame.Offset.X);
|
offsetX = Math.Abs(frame.Offset.X);
|
||||||
OffsetY = frame.FrameSize.Height - Math.Abs(frame.Offset.Y);
|
offsetY = frame.FrameSize.Height - Math.Abs(frame.Offset.Y);
|
||||||
}
|
}
|
||||||
Console.WriteLine("calculated OffsetX: {0}", OffsetX);
|
|
||||||
Console.WriteLine("calculated OffsetY: {0}", OffsetY);
|
|
||||||
|
|
||||||
var data = bitmap.LockBits(new Rectangle(x+OffsetX, 0+OffsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
|
Console.WriteLine("calculated OffsetX: {0}", offsetX);
|
||||||
|
Console.WriteLine("calculated OffsetY: {0}", offsetY);
|
||||||
|
|
||||||
|
var data = bitmap.LockBits(new Rectangle(x + offsetX, 0 + offsetY, frame.Size.Width, frame.Size.Height), ImageLockMode.WriteOnly,
|
||||||
PixelFormat.Format8bppIndexed);
|
PixelFormat.Format8bppIndexed);
|
||||||
|
|
||||||
for (var i = 0; i < frame.Size.Height; i++)
|
for (var i = 0; i < frame.Size.Height; i++)
|
||||||
@@ -313,6 +320,7 @@ namespace OpenRA.Utility
|
|||||||
x += frame.FrameSize.Width;
|
x += frame.FrameSize.Width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bitmap.Save(filename + ".png");
|
bitmap.Save(filename + ".png");
|
||||||
Console.WriteLine(filename + ".png saved");
|
Console.WriteLine(filename + ".png saved");
|
||||||
}
|
}
|
||||||
@@ -322,7 +330,7 @@ namespace OpenRA.Utility
|
|||||||
var mods = args[1].Split(',');
|
var mods = args[1].Split(',');
|
||||||
var theater = args[2];
|
var theater = args[2];
|
||||||
var templateNames = args.Skip(3);
|
var templateNames = args.Skip(3);
|
||||||
int[] ShadowIndex = { 3, 4 };
|
var shadowIndex = new int[] { 3, 4 };
|
||||||
|
|
||||||
var manifest = new Manifest(mods);
|
var manifest = new Manifest(mods);
|
||||||
FileSystem.LoadFromManifest(manifest);
|
FileSystem.LoadFromManifest(manifest);
|
||||||
@@ -334,7 +342,7 @@ namespace OpenRA.Utility
|
|||||||
throw new InvalidOperationException("No theater named '{0}'".F(theater));
|
throw new InvalidOperationException("No theater named '{0}'".F(theater));
|
||||||
|
|
||||||
tileset.LoadTiles();
|
tileset.LoadTiles();
|
||||||
var palette = new Palette(FileSystem.Open(tileset.Palette), ShadowIndex);
|
var palette = new Palette(FileSystem.Open(tileset.Palette), shadowIndex);
|
||||||
|
|
||||||
foreach (var templateName in templateNames)
|
foreach (var templateName in templateNames)
|
||||||
{
|
{
|
||||||
@@ -419,17 +427,17 @@ namespace OpenRA.Utility
|
|||||||
FileSystem.LoadFromManifest(Game.modData.Manifest);
|
FileSystem.LoadFromManifest(Game.modData.Manifest);
|
||||||
Rules.LoadRules(Game.modData.Manifest, new Map());
|
Rules.LoadRules(Game.modData.Manifest, new Map());
|
||||||
var destPaletteInfo = Rules.Info["player"].Traits.Get<PlayerColorPaletteInfo>();
|
var destPaletteInfo = Rules.Info["player"].Traits.Get<PlayerColorPaletteInfo>();
|
||||||
int[] destRemapIndex = destPaletteInfo.RemapIndex;
|
var destRemapIndex = destPaletteInfo.RemapIndex;
|
||||||
|
var shadowIndex = new int[] { };
|
||||||
|
|
||||||
int[] ShadowIndex = { };
|
|
||||||
// the remap range is always 16 entries, but their location and order changes
|
// the remap range is always 16 entries, but their location and order changes
|
||||||
for (var i = 0; i < 16; i++)
|
for (var i = 0; i < 16; i++)
|
||||||
remap[PlayerColorRemap.GetRemapIndex(srcRemapIndex, i)]
|
remap[PlayerColorRemap.GetRemapIndex(srcRemapIndex, i)]
|
||||||
= PlayerColorRemap.GetRemapIndex(destRemapIndex, i);
|
= PlayerColorRemap.GetRemapIndex(destRemapIndex, i);
|
||||||
|
|
||||||
// map everything else to the best match based on channel-wise distance
|
// map everything else to the best match based on channel-wise distance
|
||||||
var srcPalette = Palette.Load(args[1].Split(':')[1], ShadowIndex);
|
var srcPalette = Palette.Load(args[1].Split(':')[1], shadowIndex);
|
||||||
var destPalette = Palette.Load(args[2].Split(':')[1], ShadowIndex);
|
var destPalette = Palette.Load(args[2].Split(':')[1], shadowIndex);
|
||||||
|
|
||||||
var fullIndexRange = Exts.MakeArray<int>(256, x => x);
|
var fullIndexRange = Exts.MakeArray<int>(256, x => x);
|
||||||
|
|
||||||
@@ -447,7 +455,6 @@ namespace OpenRA.Utility
|
|||||||
srcImage.Frames.Select(im => im.Image.Select(px => (byte)remap[px]).ToArray()));
|
srcImage.Frames.Select(im => im.Image.Select(px => (byte)remap[px]).ToArray()));
|
||||||
}
|
}
|
||||||
|
|
||||||
//This is needed because the run and shoot animation are next to each other for each sequence in RA/CnC, but not in D2k.
|
|
||||||
public static void TransposeShp(string[] args)
|
public static void TransposeShp(string[] args)
|
||||||
{
|
{
|
||||||
var srcImage = ShpReader.Load(args[1]);
|
var srcImage = ShpReader.Load(args[1]);
|
||||||
|
|||||||
Reference in New Issue
Block a user