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

@@ -77,14 +77,23 @@ namespace OpenRA.Graphics
public static ISpriteFrame[] GetFrames(IReadOnlyFileSystem fileSystem, string filename, ISpriteLoader[] loaders)
{
using (var stream = fileSystem.Open(filename))
{
var spriteFrames = GetFrames(stream, loaders);
if (spriteFrames == null)
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;
throw new InvalidDataException(filename + " is not a valid sprite file!");
}
return null;
}
}
}

View File

@@ -47,7 +47,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
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 count = 0;