Add support for 32 bit BGRA sprites.
This commit is contained in:
@@ -37,7 +37,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
{
|
||||
var ts = new TileSet(modData.DefaultFileSystem, t);
|
||||
Console.WriteLine("Tileset: " + ts.Name);
|
||||
var sc = new SpriteCache(modData.DefaultFileSystem, modData.SpriteLoaders, new SheetBuilder(SheetType.Indexed));
|
||||
var sc = new SpriteCache(modData.DefaultFileSystem, modData.SpriteLoaders);
|
||||
var nodes = MiniYaml.Merge(modData.Manifest.Sequences.Select(s => MiniYaml.FromStream(modData.DefaultFileSystem.Open(s), s)));
|
||||
foreach (var n in nodes.Where(node => !node.Key.StartsWith(ActorInfo.AbstractActorPrefix, StringComparison.Ordinal)))
|
||||
modData.SpriteSequenceLoader.ParseSequences(modData, ts, sc, n);
|
||||
|
||||
@@ -79,8 +79,16 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
frame.Size.Width);
|
||||
}
|
||||
|
||||
var png = new Png(pngData, frameSize.Width, frameSize.Height, palColors);
|
||||
png.Save("{0}-{1:D4}.png".F(prefix, count++));
|
||||
if (frame.Type == SpriteFrameType.BGRA)
|
||||
{
|
||||
var png = new Png(pngData, frameSize.Width, frameSize.Height);
|
||||
png.Save("{0}-{1:D4}.png".F(prefix, count++));
|
||||
}
|
||||
else
|
||||
{
|
||||
var png = new Png(pngData, frameSize.Width, frameSize.Height, palColors);
|
||||
png.Save("{0}-{1:D4}.png".F(prefix, count++));
|
||||
}
|
||||
}
|
||||
|
||||
Console.WriteLine("Saved {0}-[0..{1}].png", prefix, count - 1);
|
||||
|
||||
@@ -44,7 +44,8 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
sequences.Preload();
|
||||
|
||||
var count = 0;
|
||||
var sb = sequences.SpriteCache.SheetBuilder;
|
||||
|
||||
var sb = sequences.SpriteCache.SheetBuilders[SpriteFrameType.Indexed];
|
||||
foreach (var s in sb.AllSheets)
|
||||
{
|
||||
var max = s == sb.Current ? (int)sb.CurrentChannel + 1 : 4;
|
||||
@@ -52,6 +53,10 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
s.AsPng((TextureChannel)ChannelMasks[i], palette).Save("{0}.png".F(count++));
|
||||
}
|
||||
|
||||
sb = sequences.SpriteCache.SheetBuilders[SpriteFrameType.BGRA];
|
||||
foreach (var s in sb.AllSheets)
|
||||
s.AsPng().Save("{0}.png".F(count++));
|
||||
|
||||
Console.WriteLine("Saved [0..{0}].png", count - 1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user