Пример #1
0
        private void UpdatePictureBox()
        {
            Image i = pictureBox1.Image;

            if (currentShape != null)
            {
                Frame currentFrame = currentShape.Frames[(int)numericUpDown1.Value];
                //pictureBox1.Image = currentFrame.GetFrame(Sprite.GetAbstractSpriteFromIso(iso), paletteIndex);

                Bitmap image = currentFrame.GetFrame(Sprite.GetAbstractSpriteFromIso(iso), paletteIndex);
                pictureBox1.Image = zoom.GetZoomedBitmap(image);

                if (tabControl1.SelectedTab == framesTabPage)
                {
                    spriteViewer1.HighlightTiles(currentFrame.Tiles);
                }
                else
                {
                    spriteViewer1.HighlightTiles(new Tile[0]);
                }
            }
            else
            {
                pictureBox1.Image = null;
            }

            if (i != null)
            {
                i.Dispose();
            }
        }
Пример #2
0
        private AllSpritesDoWorkResult DumpAllSprites(Stream iso, string path, bool importExport8bpp, int paletteIndex, Action <int> progressReporter)
        {
            bool progress        = progressReporter != null;
            int  total           = 0;
            int  complete        = 0;
            int  imagesProcessed = 0;

            /*
             * if (progress)
             *  sprites.ForEach(i => total += 1);
             */

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            Dictionary <string, Sprite> fileMap = new Dictionary <string, Sprite>();

            foreach (Sprite sprite in sprites)
            {
                string name = sprite.GetSaveFileName();
                if (!fileMap.ContainsKey(name))
                {
                    fileMap.Add(name, sprite);
                    total = total + 1;
                }
            }

            //foreach (Sprite sprite in sprites)
            foreach (KeyValuePair <string, Sprite> singleFileMap in fileMap)
            {
                //string name = string.Empty;
                //name = sprite.GetSaveFileName();
                string name = singleFileMap.Key;

                if (!string.IsNullOrEmpty(name))
                {
                    //Bitmap bmp = img.GetImageFromIso( iso );
                    //bmp.Save( Path.Combine( path, name ), System.Drawing.Imaging.ImageFormat.Bmp );
                    string                fullPath       = Path.Combine(path, name);
                    Sprite                sprite         = singleFileMap.Value;
                    AbstractSprite        abstractSprite = sprite.GetAbstractSpriteFromIso(iso, true);
                    System.Drawing.Bitmap bitmap         = importExport8bpp ? abstractSprite.ToBitmap() : abstractSprite.To4bppBitmapUncached(paletteIndex);
                    bitmap.Save(fullPath, System.Drawing.Imaging.ImageFormat.Bmp);

                    imagesProcessed++;
                }

                if (progress)
                {
                    progressReporter((100 * (complete++)) / total);
                }
            }

            return(new AllSpritesDoWorkResult(AllSpritesDoWorkResult.Result.Success, imagesProcessed));
        }
Пример #3
0
        private void exportSprMenuItem_Click(object sender, EventArgs e)
        {
            Sprite currentSprite = allSpritesEditor1.CurrentSprite;

            saveFileDialog.Filter          = "FFT Sprite (*.SPR)|*.spr";
            saveFileDialog.FileName        = string.Empty;
            saveFileDialog.CreatePrompt    = false;
            saveFileDialog.OverwritePrompt = true;
            if (currentSprite != null && saveFileDialog.ShowDialog(this) == DialogResult.OK)
            {
                File.WriteAllBytes(saveFileDialog.FileName, currentSprite.GetAbstractSpriteFromIso(currentStream).ToByteArray(0));
            }
        }
Пример #4
0
        private void exportBmpMenuItem_Click(object sender, EventArgs e)
        {
            Sprite currentSprite = allSpritesEditor1.CurrentSprite;

            saveFileDialog.Filter          = "8bpp paletted bitmap (*.BMP)|*.bmp";
            saveFileDialog.OverwritePrompt = true;
            saveFileDialog.CreatePrompt    = false;
            saveFileDialog.FileName        = string.Empty;

            if (currentSprite != null && saveFileDialog.ShowDialog(this) == DialogResult.OK)
            {
                currentSprite.GetAbstractSpriteFromIso(currentStream).ToBitmap().Save(saveFileDialog.FileName, System.Drawing.Imaging.ImageFormat.Bmp);
            }
        }
Пример #5
0
        public void ReloadSprite()
        {
            bool oldIgnoreChanges = ignoreChanges;

            ignoreChanges        = true;
            AbstractSprite       = Sprite.GetAbstractSpriteFromIso(iso);
            spriteViewer1.Sprite = AbstractSprite;

            UpdateCheckBoxesEtc(Sprite as CharacterSprite);
            UpdateShapes(Sprite as CharacterSprite, Sprite);
            UpdateAnimationTab(Sprite as CharacterSprite, Sprite);
            maxSizeLabel.Visible = true;
            maxSizeLabel.Text    = string.Format("Max SPR size:" + Environment.NewLine + "{0} bytes", Sprite.Size);
            ignoreChanges        = oldIgnoreChanges;
        }
Пример #6
0
        private void exportBmpMenuItem_Click(object sender, EventArgs e)
        {
            Sprite currentSprite    = allSpritesEditor1.CurrentSprite;
            int    paletteIndex     = allSpritesEditor1.PaletteIndex;
            bool   importExport8Bpp = allSpritesEditor1.ImportExport8Bpp;

            saveFileDialog.Filter          = importExport8Bpp ? "8bpp paletted bitmap (*.BMP)|*.bmp" : "4bpp paletted bitmap (*.BMP)|*.bmp";
            saveFileDialog.OverwritePrompt = true;
            saveFileDialog.CreatePrompt    = false;
            saveFileDialog.FileName        = string.Empty;

            if (currentSprite != null && saveFileDialog.ShowDialog(this) == DialogResult.OK)
            {
                AbstractSprite sprite = currentSprite.GetAbstractSpriteFromIso(currentStream, true);
                Bitmap         bitmap = importExport8Bpp ? sprite.ToBitmap() : sprite.To4bppBitmapUncached(paletteIndex);
                bitmap.Save(saveFileDialog.FileName, System.Drawing.Imaging.ImageFormat.Bmp);
            }
        }