public EditorForm(NSE_Framework.IO.SpriteLibrary SpriteLibrary, string FileName) { InitializeComponent(); this.WindowState = FormWindowState.Maximized; NSE_Framework.Data.Sprite sprite = new NSE_Framework.Data.Sprite(SpriteLibrary.Sprites[0].Width, SpriteLibrary.Sprites[0].Height, NSE_Framework.Data.Translator.PaletteToSpriteType(SpriteLibrary.Sprites[0].Palette.Type)); sprite.Palette = SpriteLibrary.Sprites[0].Palette; if (SpriteLibrary.Sprites[0].SpriteData[0].Compressed) { sprite.ImageData = NSE_Framework.Data.Lz77.DecompressBytes(SpriteLibrary.Sprites[0].SpriteData[0].Data); } else { sprite.ImageData = SpriteLibrary.Sprites[0].SpriteData[0].Data; } LibraryTree.Nodes.Clear(); foreach (NSE_Framework.IO.SpriteSet sSet in SpriteLibrary.Sprites) { TreeNode node = new TreeNode(sSet.Name); foreach (NSE_Framework.IO.SpriteData sDat in sSet.SpriteData) { node.Nodes.Add(new TreeNode(sDat.Name)); } LibraryTree.Nodes.Add(node); } LibraryTree.SelectedNode = LibraryTree.Nodes[0].Nodes[0]; this.Editor.CurrentSprite = sprite; this.SpriteLibrary = SpriteLibrary; this.index = 0; this.frame = 0; this.Text = SpriteLibrary.Origin + " - " + FileName; this.FileName = FileName; this.SidePanel.Visible = true; }
private void ButtonImport_Click(object sender, EventArgs e) { OpenFileDialog iDialog = new OpenFileDialog(); iDialog.Title = "Select a file to import:"; iDialog.CheckFileExists = true; iDialog.Filter = "Importable Sprite|*.nslx;*.bmp;*.png*"; if (iDialog.ShowDialog(this) == System.Windows.Forms.DialogResult.OK & iDialog.FileName != "") { string extension = Path.GetExtension(iDialog.FileName).Substring(1).ToLower(); LibraryTree.Nodes.Clear(); LibraryTree.Nodes.Add("No Sprite Library loaded"); Library = null; Sprite = null; if (extension == "png" || extension == "bmp") { try { Sprite = NSE_Framework.IO.Import.ImportImage(iDialog.FileName); this.Text = "Import - " + Path.GetFileName(iDialog.FileName); previewBitmap = new Bitmap(Sprite.Width * 8, Sprite.Height * 8, System.Drawing.Imaging.PixelFormat.Format32bppArgb); NSE_Framework.Draw.uDrawSprite(ref previewBitmap, Sprite); Preview.Image = previewBitmap; DrawPalette(); LabelSize.Text = "Size: ( " + Sprite.Width.ToString() + ", " + Sprite.Height.ToString() + ")"; if (Sprite.Palette.Type == NSE_Framework.Data.SpritePalette.PaletteType.Color16) { LabelColors.Text = "Colors: 16"; } else if (Sprite.Palette.Type == NSE_Framework.Data.SpritePalette.PaletteType.Color256) { LabelColors.Text = "Colors: 256"; } ButtonSave.Enabled = true; ComboBoxMode.Enabled = true; ComboBoxMode.SelectedIndex = 0; ButtonSave.Focus(); } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (extension == "nslx") { LibraryTree.Nodes.Clear(); Library = NSE_Framework.IO.Import.ImportSpriteLibrary(iDialog.FileName); this.Text = "Import - " + this.Library.Origin; foreach (NSE_Framework.IO.SpriteSet sSet in Library.Sprites) { TreeNode node = new TreeNode(sSet.Name); foreach (NSE_Framework.IO.SpriteData sDat in sSet.SpriteData) { node.Nodes.Add(new TreeNode(sDat.Name)); } LibraryTree.Nodes.Add(node); } LibraryTree.SelectedNode = LibraryTree.Nodes[0].Nodes[0]; ButtonSave.Enabled = true; ComboBoxMode.Enabled = true; ComboBoxMode.SelectedIndex = 0; ButtonSave.Focus(); } } }