示例#1
0
 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();
     }
 }
示例#2
0
        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 { }
        }
示例#3
0
 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();
 }