Merge pull request #10922 from abcdefg30/shpPng

Fix the --png command trying to use OpenRA's virtual file system
This commit is contained in:
Matthias Mailänder
2016-03-21 20:30:44 +01:00
2 changed files with 15 additions and 6 deletions

View File

@@ -78,13 +78,22 @@ namespace OpenRA.Graphics
{ {
using (var stream = fileSystem.Open(filename)) using (var stream = fileSystem.Open(filename))
{ {
ISpriteFrame[] frames; var spriteFrames = GetFrames(stream, loaders);
foreach (var loader in loaders) if (spriteFrames == null)
if (loader.TryParseSprite(stream, out frames)) throw new InvalidDataException(filename + " is not a valid sprite file!");
return frames;
throw new InvalidDataException(filename + " is not a valid sprite file!"); return spriteFrames;
} }
} }
public static ISpriteFrame[] GetFrames(Stream stream, ISpriteLoader[] loaders)
{
ISpriteFrame[] frames;
foreach (var loader in loaders)
if (loader.TryParseSprite(stream, out frames))
return frames;
return null;
}
} }
} }

View File

@@ -47,7 +47,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
var palette = new ImmutablePalette(args[2], shadowIndex); var palette = new ImmutablePalette(args[2], shadowIndex);
var frames = SpriteLoader.GetFrames(modData.DefaultFileSystem, src, modData.SpriteLoaders); var frames = SpriteLoader.GetFrames(File.OpenRead(src), modData.SpriteLoaders);
var usePadding = !args.Contains("--nopadding"); var usePadding = !args.Contains("--nopadding");
var count = 0; var count = 0;