public static byte[] GenerateIndexFile(ref CIndexSpritePack[] packlist) { MemoryStream stream = new MemoryStream(); stream.Position = 2; UInt16 sprcount = 0; UInt32 offset = 2; for (int q = 0; q < packlist.Length; q++) { sprcount += (UInt16)packlist[q].Sprites.Count; for (int i = 0; i < packlist[q].Sprites.Count; i++) { stream.Write(BitConverter.GetBytes(offset), 0, 4); offset += (UInt32)packlist[q].Sprites[i].ByteCount; //packlist[i] = null; } } stream.Position = 0; stream.Write(BitConverter.GetBytes(sprcount), 0, 2); stream.Position = 0; byte[] file = new byte[stream.Length]; stream.Read(file, 0, file.Length); return file; }
public frmIndexSpritePackBrowser(string title) { InitializeComponent(); this.loadedISPK = new CIndexSpritePack(); this.Text = WindowManager.GetTitle(title, WindowManager.WindowType.ISPKWindow); }
/// <summary> /// Loads an Index Sprite Pack from an existing file. /// </summary> /// <param name="filename">The path of the index sprite pack file (.ispk)</param> /// <returns></returns> public static CIndexSpritePack LoadFromFile(string filename) { DirectoryInfo dir = new DirectoryInfo(filename); CIndexSpritePack spk; FileStream filestream = File.Open(filename, FileMode.Open); spk = new CIndexSpritePack(ref filestream, dir.Name); return(spk); }
/// <summary> /// Loads an Index Sprite Pack from an existing file. /// </summary> /// <param name="filename">The path of the index sprite pack file (.ispk)</param> /// <returns></returns> public static CIndexSpritePack LoadFromFile(string filename) { DirectoryInfo dir = new DirectoryInfo(filename); CIndexSpritePack spk; FileStream filestream = File.Open(filename, FileMode.Open); spk = new CIndexSpritePack(ref filestream, dir.Name); return spk; }
public frmIndexSpritePackBrowser(CIndexSpritePack ispk, string filename) { InitializeComponent(); loadedISPK = ispk; dirInfo = new DirectoryInfo(filename); Text = WindowManager.GetTitle(dirInfo.Name, WindowManager.WindowType.ISPKWindow); pbSprite.Image = loadedISPK.Sprites[0].ToImage(); foreach (CIndexSprite spr in loadedISPK.Sprites) { lbSprites.Items.Add(spr.Name); } lbSprites.SelectedIndices.Add(0); UpdateStatusLabel(); }