ShpLoader is no longer IEnumerable

This commit is contained in:
Chris Forbes
2011-12-27 18:10:52 +13:00
parent d115c6305c
commit f8122047b6
3 changed files with 5 additions and 13 deletions

View File

@@ -51,7 +51,7 @@ namespace OpenRA.FileFormats
public enum Format { Format20 = 0x20, Format40 = 0x40, Format80 = 0x80 } public enum Format { Format20 = 0x20, Format40 = 0x40, Format80 = 0x80 }
public class ShpReader : IEnumerable<ImageHeader> public class ShpReader
{ {
public readonly int ImageCount; public readonly int ImageCount;
public readonly ushort Width; public readonly ushort Width;
@@ -157,15 +157,7 @@ namespace OpenRA.FileFormats
return imageData; return imageData;
} }
public IEnumerator<ImageHeader> GetEnumerator() public IEnumerable<ImageHeader> Frames { get { return headers; } }
{
return headers.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
public static ShpReader Load(string filename) public static ShpReader Load(string filename)
{ {

View File

@@ -29,7 +29,7 @@ namespace OpenRA.Graphics
Sprite[] LoadSprites(string filename) Sprite[] LoadSprites(string filename)
{ {
var shp = new ShpReader(FileSystem.OpenWithExts(filename, exts)); var shp = new ShpReader(FileSystem.OpenWithExts(filename, exts));
return shp.Select(a => SheetBuilder.Add(a.Image, shp.Size)).ToArray(); return shp.Frames.Select(a => SheetBuilder.Add(a.Image, shp.Size)).ToArray();
} }
public Sprite[] LoadAllSprites(string filename) { return sprites[filename]; } public Sprite[] LoadAllSprites(string filename) { return sprites[filename]; }

View File

@@ -86,7 +86,7 @@ namespace OpenRA.Utility
var x = 0; var x = 0;
bitmap.Palette = palette.AsSystemPalette(); bitmap.Palette = palette.AsSystemPalette();
foreach (var frame in srcImage) foreach (var frame in srcImage.Frames)
{ {
var data = bitmap.LockBits(new Rectangle(x, 0, srcImage.Width, srcImage.Height), ImageLockMode.WriteOnly, var data = bitmap.LockBits(new Rectangle(x, 0, srcImage.Width, srcImage.Height), ImageLockMode.WriteOnly,
PixelFormat.Format8bppIndexed); PixelFormat.Format8bppIndexed);
@@ -214,7 +214,7 @@ namespace OpenRA.Utility
using( var destStream = File.Create(args[4]) ) using( var destStream = File.Create(args[4]) )
ShpWriter.Write(destStream, srcImage.Width, srcImage.Height, ShpWriter.Write(destStream, srcImage.Width, srcImage.Height,
srcImage.Select( im => im.Image.Select(px => (byte)remap[px]).ToArray() )); srcImage.Frames.Select( im => im.Image.Select(px => (byte)remap[px]).ToArray() ));
} }
} }
} }