Example #1
0
        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;
        }
Example #2
0
        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();
                }
            }
        }