Rename SpriteFrameType enums.
This commit is contained in:
@@ -33,7 +33,7 @@ namespace OpenRA.FileFormats
|
|||||||
public SpriteFrameType Type { get; private set; }
|
public SpriteFrameType Type { get; private set; }
|
||||||
public Dictionary<string, string> EmbeddedData = new Dictionary<string, string>();
|
public Dictionary<string, string> EmbeddedData = new Dictionary<string, string>();
|
||||||
|
|
||||||
public int PixelStride { get { return Type == SpriteFrameType.Indexed ? 1 : Type == SpriteFrameType.RGB ? 3 : 4; } }
|
public int PixelStride { get { return Type == SpriteFrameType.Indexed8 ? 1 : Type == SpriteFrameType.Rgb24 ? 3 : 4; } }
|
||||||
|
|
||||||
public Png(Stream s)
|
public Png(Stream s)
|
||||||
{
|
{
|
||||||
@@ -43,7 +43,7 @@ namespace OpenRA.FileFormats
|
|||||||
s.Position += 8;
|
s.Position += 8;
|
||||||
var headerParsed = false;
|
var headerParsed = false;
|
||||||
var data = new List<byte>();
|
var data = new List<byte>();
|
||||||
Type = SpriteFrameType.RGBA;
|
Type = SpriteFrameType.Rgba32;
|
||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
@@ -69,9 +69,9 @@ namespace OpenRA.FileFormats
|
|||||||
var bitDepth = ms.ReadUInt8();
|
var bitDepth = ms.ReadUInt8();
|
||||||
var colorType = (PngColorType)ms.ReadByte();
|
var colorType = (PngColorType)ms.ReadByte();
|
||||||
if (IsPaletted(bitDepth, colorType))
|
if (IsPaletted(bitDepth, colorType))
|
||||||
Type = SpriteFrameType.Indexed;
|
Type = SpriteFrameType.Indexed8;
|
||||||
else if (colorType == PngColorType.Color)
|
else if (colorType == PngColorType.Color)
|
||||||
Type = SpriteFrameType.RGB;
|
Type = SpriteFrameType.Rgb24;
|
||||||
|
|
||||||
Data = new byte[Width * Height * PixelStride];
|
Data = new byte[Width * Height * PixelStride];
|
||||||
|
|
||||||
@@ -155,7 +155,7 @@ namespace OpenRA.FileFormats
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Type == SpriteFrameType.Indexed && Palette == null)
|
if (Type == SpriteFrameType.Indexed8 && Palette == null)
|
||||||
throw new InvalidDataException("Non-Palette indexed PNG are not supported.");
|
throw new InvalidDataException("Non-Palette indexed PNG are not supported.");
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@@ -181,20 +181,20 @@ namespace OpenRA.FileFormats
|
|||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case SpriteFrameType.Indexed:
|
case SpriteFrameType.Indexed8:
|
||||||
case SpriteFrameType.RGBA:
|
case SpriteFrameType.Rgba32:
|
||||||
case SpriteFrameType.RGB:
|
case SpriteFrameType.Rgb24:
|
||||||
{
|
{
|
||||||
// Data is already in a compatible format
|
// Data is already in a compatible format
|
||||||
Data = data;
|
Data = data;
|
||||||
if (type == SpriteFrameType.Indexed)
|
if (type == SpriteFrameType.Indexed8)
|
||||||
Palette = palette;
|
Palette = palette;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case SpriteFrameType.BGRA:
|
case SpriteFrameType.Bgra32:
|
||||||
case SpriteFrameType.BGR:
|
case SpriteFrameType.Bgr24:
|
||||||
{
|
{
|
||||||
// Convert to big endian
|
// Convert to big endian
|
||||||
Data = new byte[data.Length];
|
Data = new byte[data.Length];
|
||||||
@@ -205,7 +205,7 @@ namespace OpenRA.FileFormats
|
|||||||
Data[stride * i + 1] = data[stride * i + 1];
|
Data[stride * i + 1] = data[stride * i + 1];
|
||||||
Data[stride * i + 2] = data[stride * i + 0];
|
Data[stride * i + 2] = data[stride * i + 0];
|
||||||
|
|
||||||
if (type == SpriteFrameType.BGRA)
|
if (type == SpriteFrameType.Bgra32)
|
||||||
Data[stride * i + 3] = data[stride * i + 3];
|
Data[stride * i + 3] = data[stride * i + 3];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -299,8 +299,8 @@ namespace OpenRA.FileFormats
|
|||||||
header.Write(IPAddress.HostToNetworkOrder(Height));
|
header.Write(IPAddress.HostToNetworkOrder(Height));
|
||||||
header.WriteByte(8); // Bit depth
|
header.WriteByte(8); // Bit depth
|
||||||
|
|
||||||
var colorType = Type == SpriteFrameType.Indexed ? PngColorType.Indexed | PngColorType.Color :
|
var colorType = Type == SpriteFrameType.Indexed8 ? PngColorType.Indexed | PngColorType.Color :
|
||||||
Type == SpriteFrameType.RGB ? PngColorType.Color : PngColorType.Color | PngColorType.Alpha;
|
Type == SpriteFrameType.Rgb24 ? PngColorType.Color : PngColorType.Color | PngColorType.Alpha;
|
||||||
header.WriteByte((byte)colorType);
|
header.WriteByte((byte)colorType);
|
||||||
|
|
||||||
header.WriteByte(0); // Compression
|
header.WriteByte(0); // Compression
|
||||||
|
|||||||
@@ -72,10 +72,10 @@ namespace OpenRA.Graphics
|
|||||||
// Resolve indexed data to real colours
|
// Resolve indexed data to real colours
|
||||||
var data = f.Data;
|
var data = f.Data;
|
||||||
var type = f.Type;
|
var type = f.Type;
|
||||||
if (type == SpriteFrameType.Indexed)
|
if (type == SpriteFrameType.Indexed8)
|
||||||
{
|
{
|
||||||
data = ConvertIndexedToBgra(kv.Key, f, palette);
|
data = ConvertIndexedToBgra(kv.Key, f, palette);
|
||||||
type = SpriteFrameType.BGRA;
|
type = SpriteFrameType.Bgra32;
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Sprites[c.Length++] = sheetBuilder.Add(data, type, f.Size, 0, hotspot);
|
c.Sprites[c.Length++] = sheetBuilder.Add(data, type, f.Size, 0, hotspot);
|
||||||
@@ -226,7 +226,7 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
public static byte[] ConvertIndexedToBgra(string name, ISpriteFrame frame, ImmutablePalette palette)
|
public static byte[] ConvertIndexedToBgra(string name, ISpriteFrame frame, ImmutablePalette palette)
|
||||||
{
|
{
|
||||||
if (frame.Type != SpriteFrameType.Indexed)
|
if (frame.Type != SpriteFrameType.Indexed8)
|
||||||
throw new ArgumentException("ConvertIndexedToBgra requires input frames to be indexed.", nameof(frame));
|
throw new ArgumentException("ConvertIndexedToBgra requires input frames to be indexed.", nameof(frame));
|
||||||
|
|
||||||
// All palettes must be explicitly referenced, even if they are embedded in the sprite.
|
// All palettes must be explicitly referenced, even if they are embedded in the sprite.
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ namespace OpenRA.Graphics
|
|||||||
if (Type == SheetType.Indexed)
|
if (Type == SheetType.Indexed)
|
||||||
throw new InvalidOperationException("AsPng() cannot be called on Indexed sheets.");
|
throw new InvalidOperationException("AsPng() cannot be called on Indexed sheets.");
|
||||||
|
|
||||||
return new Png(GetData(), SpriteFrameType.BGRA, Size.Width, Size.Height);
|
return new Png(GetData(), SpriteFrameType.Bgra32, Size.Width, Size.Height);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Png AsPng(TextureChannel channel, IPalette pal)
|
public Png AsPng(TextureChannel channel, IPalette pal)
|
||||||
@@ -103,7 +103,7 @@ namespace OpenRA.Graphics
|
|||||||
for (var i = 0; i < Palette.Size; i++)
|
for (var i = 0; i < Palette.Size; i++)
|
||||||
palColors[i] = pal.GetColor(i);
|
palColors[i] = pal.GetColor(i);
|
||||||
|
|
||||||
return new Png(plane, SpriteFrameType.BGRA, Size.Width, Size.Height, palColors);
|
return new Png(plane, SpriteFrameType.Bgra32, Size.Width, Size.Height, palColors);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CreateBuffer()
|
public void CreateBuffer()
|
||||||
|
|||||||
@@ -52,14 +52,14 @@ namespace OpenRA.Graphics
|
|||||||
{
|
{
|
||||||
switch (t)
|
switch (t)
|
||||||
{
|
{
|
||||||
case SpriteFrameType.Indexed:
|
case SpriteFrameType.Indexed8:
|
||||||
return SheetType.Indexed;
|
return SheetType.Indexed;
|
||||||
|
|
||||||
// Util.FastCopyIntoChannel will automatically convert these to BGRA
|
// Util.FastCopyIntoChannel will automatically convert these to BGRA
|
||||||
case SpriteFrameType.BGRA:
|
case SpriteFrameType.Bgra32:
|
||||||
case SpriteFrameType.BGR:
|
case SpriteFrameType.Bgr24:
|
||||||
case SpriteFrameType.RGBA:
|
case SpriteFrameType.Rgba32:
|
||||||
case SpriteFrameType.RGB:
|
case SpriteFrameType.Rgb24:
|
||||||
return SheetType.BGRA;
|
return SheetType.BGRA;
|
||||||
default: throw new NotImplementedException("Unknown SpriteFrameType {0}".F(t));
|
default: throw new NotImplementedException("Unknown SpriteFrameType {0}".F(t));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,20 +26,20 @@ namespace OpenRA.Graphics
|
|||||||
public enum SpriteFrameType
|
public enum SpriteFrameType
|
||||||
{
|
{
|
||||||
// 8 bit index into an external palette
|
// 8 bit index into an external palette
|
||||||
Indexed,
|
Indexed8,
|
||||||
|
|
||||||
// 32 bit color such as returned by Color.ToArgb() or the bmp file format
|
// 32 bit color such as returned by Color.ToArgb() or the bmp file format
|
||||||
// (remember that little-endian systems place the little bits in the first byte!)
|
// (remember that little-endian systems place the little bits in the first byte!)
|
||||||
BGRA,
|
Bgra32,
|
||||||
|
|
||||||
// Like BGRA, but without an alpha channel
|
// Like BGRA, but without an alpha channel
|
||||||
BGR,
|
Bgr24,
|
||||||
|
|
||||||
// 32 bit color in big-endian format, like png
|
// 32 bit color in big-endian format, like png
|
||||||
RGBA,
|
Rgba32,
|
||||||
|
|
||||||
// Like RGBA, but without an alpha channel
|
// Like RGBA, but without an alpha channel
|
||||||
RGB
|
Rgb24
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface ISpriteLoader
|
public interface ISpriteLoader
|
||||||
|
|||||||
@@ -138,9 +138,9 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
// 1x1px transparent tile
|
// 1x1px transparent tile
|
||||||
if (sheetBuilder.Type == SheetType.BGRA)
|
if (sheetBuilder.Type == SheetType.BGRA)
|
||||||
missingTile = sheetBuilder.Add(new byte[4], SpriteFrameType.BGRA, new Size(1, 1));
|
missingTile = sheetBuilder.Add(new byte[4], SpriteFrameType.Bgra32, new Size(1, 1));
|
||||||
else
|
else
|
||||||
missingTile = sheetBuilder.Add(new byte[1], SpriteFrameType.Indexed, new Size(1, 1));
|
missingTile = sheetBuilder.Add(new byte[1], SpriteFrameType.Indexed8, new Size(1, 1));
|
||||||
|
|
||||||
Sheet.ReleaseBuffer();
|
Sheet.ReleaseBuffer();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,23 +88,23 @@ namespace OpenRA.Graphics
|
|||||||
byte r, g, b, a;
|
byte r, g, b, a;
|
||||||
switch (srcType)
|
switch (srcType)
|
||||||
{
|
{
|
||||||
case SpriteFrameType.BGRA:
|
case SpriteFrameType.Bgra32:
|
||||||
case SpriteFrameType.BGR:
|
case SpriteFrameType.Bgr24:
|
||||||
{
|
{
|
||||||
b = src[k++];
|
b = src[k++];
|
||||||
g = src[k++];
|
g = src[k++];
|
||||||
r = src[k++];
|
r = src[k++];
|
||||||
a = srcType == SpriteFrameType.BGRA ? src[k++] : (byte)255;
|
a = srcType == SpriteFrameType.Bgra32 ? src[k++] : (byte)255;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case SpriteFrameType.RGBA:
|
case SpriteFrameType.Rgba32:
|
||||||
case SpriteFrameType.RGB:
|
case SpriteFrameType.Rgb24:
|
||||||
{
|
{
|
||||||
r = src[k++];
|
r = src[k++];
|
||||||
g = src[k++];
|
g = src[k++];
|
||||||
b = src[k++];
|
b = src[k++];
|
||||||
a = srcType == SpriteFrameType.RGBA ? src[k++] : (byte)255;
|
a = srcType == SpriteFrameType.Rgba32 ? src[k++] : (byte)255;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,19 +163,19 @@ namespace OpenRA.Graphics
|
|||||||
Color cc;
|
Color cc;
|
||||||
switch (src.Type)
|
switch (src.Type)
|
||||||
{
|
{
|
||||||
case SpriteFrameType.Indexed:
|
case SpriteFrameType.Indexed8:
|
||||||
{
|
{
|
||||||
cc = src.Palette[src.Data[k++]];
|
cc = src.Palette[src.Data[k++]];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case SpriteFrameType.RGBA:
|
case SpriteFrameType.Rgba32:
|
||||||
case SpriteFrameType.RGB:
|
case SpriteFrameType.Rgb24:
|
||||||
{
|
{
|
||||||
var r = src.Data[k++];
|
var r = src.Data[k++];
|
||||||
var g = src.Data[k++];
|
var g = src.Data[k++];
|
||||||
var b = src.Data[k++];
|
var b = src.Data[k++];
|
||||||
var a = src.Type == SpriteFrameType.RGBA ? src.Data[k++] : (byte)255;
|
var a = src.Type == SpriteFrameType.Rgba32 ? src.Data[k++] : (byte)255;
|
||||||
cc = Color.FromArgb(a, r, g, b);
|
cc = Color.FromArgb(a, r, g, b);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -779,7 +779,7 @@ namespace OpenRA
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var png = new Png(minimapData, SpriteFrameType.BGRA, bitmapWidth, height);
|
var png = new Png(minimapData, SpriteFrameType.Bgra32, bitmapWidth, height);
|
||||||
return png.Save();
|
return png.Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -439,7 +439,7 @@ namespace OpenRA
|
|||||||
for (var y = 0; y < destHeight; y++)
|
for (var y = 0; y < destHeight; y++)
|
||||||
Array.Copy(src, 4 * y * srcWidth, dest, 4 * y * destWidth, 4 * destWidth);
|
Array.Copy(src, 4 * y * srcWidth, dest, 4 * y * destWidth, 4 * destWidth);
|
||||||
|
|
||||||
new Png(dest, SpriteFrameType.BGRA, destWidth, destHeight).Save(path);
|
new Png(dest, SpriteFrameType.Bgra32, destWidth, destHeight).Save(path);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,8 +77,8 @@ namespace OpenRA.Mods.Cnc.Graphics
|
|||||||
var size = new Size(su, sv);
|
var size = new Size(su, sv);
|
||||||
var s = sheetBuilder.Allocate(size);
|
var s = sheetBuilder.Allocate(size);
|
||||||
var t = sheetBuilder.Allocate(size);
|
var t = sheetBuilder.Allocate(size);
|
||||||
OpenRA.Graphics.Util.FastCopyIntoChannel(s, colors, SpriteFrameType.Indexed);
|
OpenRA.Graphics.Util.FastCopyIntoChannel(s, colors, SpriteFrameType.Indexed8);
|
||||||
OpenRA.Graphics.Util.FastCopyIntoChannel(t, normals, SpriteFrameType.Indexed);
|
OpenRA.Graphics.Util.FastCopyIntoChannel(t, normals, SpriteFrameType.Indexed8);
|
||||||
|
|
||||||
// s and t are guaranteed to use the same sheet because
|
// s and t are guaranteed to use the same sheet because
|
||||||
// of the custom voxel sheet allocation implementation
|
// of the custom voxel sheet allocation implementation
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace OpenRA.Mods.Cnc.SpriteLoaders
|
|||||||
|
|
||||||
class ShpD2Frame : ISpriteFrame
|
class ShpD2Frame : ISpriteFrame
|
||||||
{
|
{
|
||||||
public SpriteFrameType Type { get { return SpriteFrameType.Indexed; } }
|
public SpriteFrameType Type { get { return SpriteFrameType.Indexed8; } }
|
||||||
public Size Size { get; private set; }
|
public Size Size { get; private set; }
|
||||||
public Size FrameSize { get { return Size; } }
|
public Size FrameSize { get { return Size; } }
|
||||||
public float2 Offset { get { return float2.Zero; } }
|
public float2 Offset { get { return float2.Zero; } }
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ namespace OpenRA.Mods.Cnc.SpriteLoaders
|
|||||||
|
|
||||||
class ImageHeader : ISpriteFrame
|
class ImageHeader : ISpriteFrame
|
||||||
{
|
{
|
||||||
public SpriteFrameType Type { get { return SpriteFrameType.Indexed; } }
|
public SpriteFrameType Type { get { return SpriteFrameType.Indexed8; } }
|
||||||
public Size Size { get { return reader.Size; } }
|
public Size Size { get { return reader.Size; } }
|
||||||
public Size FrameSize { get { return reader.Size; } }
|
public Size FrameSize { get { return reader.Size; } }
|
||||||
public float2 Offset { get { return float2.Zero; } }
|
public float2 Offset { get { return float2.Zero; } }
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Cnc.SpriteLoaders
|
|||||||
{
|
{
|
||||||
class TmpRAFrame : ISpriteFrame
|
class TmpRAFrame : ISpriteFrame
|
||||||
{
|
{
|
||||||
public SpriteFrameType Type { get { return SpriteFrameType.Indexed; } }
|
public SpriteFrameType Type { get { return SpriteFrameType.Indexed8; } }
|
||||||
public Size Size { get; private set; }
|
public Size Size { get; private set; }
|
||||||
public Size FrameSize { get; private set; }
|
public Size FrameSize { get; private set; }
|
||||||
public float2 Offset { get { return float2.Zero; } }
|
public float2 Offset { get { return float2.Zero; } }
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Cnc.SpriteLoaders
|
|||||||
{
|
{
|
||||||
class TmpTDFrame : ISpriteFrame
|
class TmpTDFrame : ISpriteFrame
|
||||||
{
|
{
|
||||||
public SpriteFrameType Type { get { return SpriteFrameType.Indexed; } }
|
public SpriteFrameType Type { get { return SpriteFrameType.Indexed8; } }
|
||||||
public Size Size { get; private set; }
|
public Size Size { get; private set; }
|
||||||
public Size FrameSize { get; private set; }
|
public Size FrameSize { get; private set; }
|
||||||
public float2 Offset { get { return float2.Zero; } }
|
public float2 Offset { get { return float2.Zero; } }
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ namespace OpenRA.Mods.Cnc.SpriteLoaders
|
|||||||
{
|
{
|
||||||
readonly TmpTSFrame parent;
|
readonly TmpTSFrame parent;
|
||||||
|
|
||||||
public SpriteFrameType Type { get { return SpriteFrameType.Indexed; } }
|
public SpriteFrameType Type { get { return SpriteFrameType.Indexed8; } }
|
||||||
public Size Size { get { return parent.Size; } }
|
public Size Size { get { return parent.Size; } }
|
||||||
public Size FrameSize { get { return Size; } }
|
public Size FrameSize { get { return Size; } }
|
||||||
public float2 Offset { get { return parent.Offset; } }
|
public float2 Offset { get { return parent.Offset; } }
|
||||||
@@ -36,7 +36,7 @@ namespace OpenRA.Mods.Cnc.SpriteLoaders
|
|||||||
|
|
||||||
class TmpTSFrame : ISpriteFrame
|
class TmpTSFrame : ISpriteFrame
|
||||||
{
|
{
|
||||||
public SpriteFrameType Type { get { return SpriteFrameType.Indexed; } }
|
public SpriteFrameType Type { get { return SpriteFrameType.Indexed8; } }
|
||||||
public Size Size { get; private set; }
|
public Size Size { get; private set; }
|
||||||
public Size FrameSize { get { return Size; } }
|
public Size FrameSize { get { return Size; } }
|
||||||
public float2 Offset { get; private set; }
|
public float2 Offset { get; private set; }
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ namespace OpenRA.Mods.Cnc.UtilityCommands
|
|||||||
var dest = inputFiles[0].Split('-').First() + ".shp";
|
var dest = inputFiles[0].Split('-').First() + ".shp";
|
||||||
|
|
||||||
var frames = inputFiles.Select(a => new Png(File.OpenRead(a))).ToList();
|
var frames = inputFiles.Select(a => new Png(File.OpenRead(a))).ToList();
|
||||||
if (frames.Any(f => f.Type != SpriteFrameType.Indexed))
|
if (frames.Any(f => f.Type != SpriteFrameType.Indexed8))
|
||||||
throw new InvalidOperationException("All frames must be paletted");
|
throw new InvalidOperationException("All frames must be paletted");
|
||||||
|
|
||||||
var size = new Size(frames[0].Width, frames[0].Height);
|
var size = new Size(frames[0].Width, frames[0].Height);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace OpenRA.Mods.Common.SpriteLoaders
|
|||||||
{
|
{
|
||||||
class ShpTSFrame : ISpriteFrame
|
class ShpTSFrame : ISpriteFrame
|
||||||
{
|
{
|
||||||
public SpriteFrameType Type { get { return SpriteFrameType.Indexed; } }
|
public SpriteFrameType Type { get { return SpriteFrameType.Indexed8; } }
|
||||||
public Size Size { get; private set; }
|
public Size Size { get; private set; }
|
||||||
public Size FrameSize { get; private set; }
|
public Size FrameSize { get; private set; }
|
||||||
public float2 Offset { get; private set; }
|
public float2 Offset { get; private set; }
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
frame.Size.Width);
|
frame.Size.Width);
|
||||||
}
|
}
|
||||||
|
|
||||||
var png = new Png(pngData, SpriteFrameType.Indexed, frameSize.Width, frameSize.Height, palColors);
|
var png = new Png(pngData, SpriteFrameType.Indexed8, frameSize.Width, frameSize.Height, palColors);
|
||||||
png.Save("{0}-{1:D4}.png".F(prefix, count++));
|
png.Save("{0}-{1:D4}.png".F(prefix, count++));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace OpenRA.Mods.D2k.SpriteLoaders
|
|||||||
{
|
{
|
||||||
class R8Frame : ISpriteFrame
|
class R8Frame : ISpriteFrame
|
||||||
{
|
{
|
||||||
public SpriteFrameType Type { get { return SpriteFrameType.Indexed; } }
|
public SpriteFrameType Type { get { return SpriteFrameType.Indexed8; } }
|
||||||
public Size Size { get; private set; }
|
public Size Size { get; private set; }
|
||||||
public Size FrameSize { get; private set; }
|
public Size FrameSize { get; private set; }
|
||||||
public float2 Offset { get; private set; }
|
public float2 Offset { get; private set; }
|
||||||
|
|||||||
Reference in New Issue
Block a user