Sprite[] LoadCursors(string filename) { try { var shp = new Dune2ShpReader(FileSystem.OpenWithExts(filename, exts)); return shp.Select(a => modData.SheetBuilder.Add(a.Image, a.Size)).ToArray(); } catch (IndexOutOfRangeException) // This will occur when loading a custom (RA-format) .shp { var shp = new ShpReader(FileSystem.OpenWithExts(filename, exts)); return shp.Select(a => modData.SheetBuilder.Add(a.Image, shp.Size)).ToArray(); } }
public static void LoadAndResolve( string shp ) { try { if (Shps.ContainsKey(shp)) return; var reader = new ShpReader(FileSystem.OpenWithExts(shp, ".tem", ".sno", ".int", ".shp")); Shps[shp] = reader.Select(ih => { var bmp = new Bitmap(reader.Width, reader.Height); for (var j = 0; j < bmp.Height; j++) for (var i = 0; i < bmp.Width; i++) bmp.SetPixel(i, j, Pal.GetColor(ih.Image[j * bmp.Width + i])); return bmp; }).ToArray(); } catch { } }
static Sprite[] LoadSprites(string filename) { var shp = new ShpReader(FileSystem.OpenWithExts(filename, exts)); return shp.Select(a => Game.modData.SheetBuilder.Add(a.Image, shp.Size)).ToArray(); }