Ejemplo n.º 1
0
        /// <summary>Set  the output tileset and output tileset size based in the input tileset.</summary>
        /// <returns>The output tileset.</returns>
        public ITileset SetOutputTileset()
        {
            string name = inputTileset.TilesetName();

            if (name == Tileset.R2k_2k3_AnimObj.Name)
            {
                outputTileset = Tileset.MV_Other;
            }
            else if (name == Tileset.VX_Ace_A12.Name || name == Tileset.R2k_2k3_Auto.Name || name == Tileset.XP_Auto.Name)
            {
                outputTileset = Tileset.MV_A12;
            }
            else if (name == Tileset.VX_Ace_A3.Name)
            {
                outputTileset = Tileset.MV_A3;
            }
            else if (name == Tileset.VX_Ace_A4.Name)
            {
                outputTileset = Tileset.MV_A4;
            }
            else if (name == Tileset.VX_Ace_A5.Name)
            {
                outputTileset = Tileset.MV_A5;
            }
            else
            {
                outputTileset = Tileset.MV_BE;
            }

            // If output is a MV or MV childen then return mv sprite size else return -1
            outputSpriteSize = Tileset.IsMV((Tileset)outputTileset) ? Tileset.MV_A12.Size: -1;
            return(outputTileset);
        }
Ejemplo n.º 2
0
        private void CutSave(object sender, EventArgs e)
        {
            ITileset tile = GetSelectedInputTileset();

            if (saveFileDialog1.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            btnSaveEachSprite.Enabled = false;

            (new Thread(() =>
            {
                try
                {
                    // FIXME: prevent stack overflow
                    tile = tile.TilesetName() == Tileset.Tileset.Custom(0).Name ?
                           Tileset.Tileset.Custom(byte.Parse(textCustomSize.Text))
                        : tile;

                    TilesetConverterVertical tilecon = new TilesetConverterCustom(tile, SpriteMode.ALIGN_TOP_LEFT, false);
                    tilecon.SaveEachSubimage(Image.FromFile(filepath), saveFileDialog1.FileName);

                    MessageBox.Show(Vocab.GetText("done"), "Tilecon");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    UIThread(delegate { btnSaveEachSprite.Enabled = true; });
                }
            })).Start();
        }
Ejemplo n.º 3
0
        private void CutSave(object sender, EventArgs e)
        {
            ITileset tile = GetTileset();

            if (saveFileDialog1.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            btnSaveEachSprite.Enabled = false;

            (new Thread(() =>
            {
                try
                {
                    int size = tile.TilesetName() == Maker.Custom.NAME ? Int32.Parse(textCustomSize.Text) : tile.SpriteSize();
                    TilesetConverterVertical tilecon = new TilesetConverterCustom(SpriteMode.ALIGN_TOP_LEFT, false, size);
                    tilecon.SaveEachSubimage(Image.FromFile(filepath), saveFileDialog1.FileName);

                    MessageBox.Show(Vocab.GetText("done"), "Tilecon");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    UIThread(delegate { btnSaveEachSprite.Enabled = true; });
                }
            })).Start();
        }
Ejemplo n.º 4
0
        /// <summary>Set  the output tileset and output tileset size based in the input tileset.</summary>
        /// <returns>The output tileset.</returns>
        public ITileset SetOutputTileset()
        {
            switch (inputTileset.TilesetName())
            {
            case Maker.R2k_2k3_AnimObj.NAME:
                outputTileset = new Maker.MV_Other();
                break;

            case Maker.VX_Ace_A12.NAME:
            case Maker.R2k_2k3_Auto.NAME:
            case Maker.XP_Auto.NAME:
                outputTileset = new Maker.MV_A12();
                break;

            case Maker.VX_Ace_A3.NAME:
                outputTileset = new Maker.MV_A3();
                break;

            case Maker.VX_Ace_A4.NAME:
                outputTileset = new Maker.MV_A4();
                break;

            case Maker.VX_Ace_A5.NAME:
                outputTileset = new Maker.MV_A5();
                break;

            default:
                outputTileset = new Maker.MV_BE();
                break;
            }

            // If output is a MV or MV childen then return mv sprite size else return -1
            outputSpriteSize = outputTileset is Maker.MV ? Maker.MV.SPRITE_SIZE : -1;
            return(outputTileset);
        }
Ejemplo n.º 5
0
        /// <summary></summary>
        /// <param name="tileset">Tileset type and data.</param>
        /// <param name="control">Where the grid will be attached.</param>
        /// <param name="input">Where is the data of tiles to be attached in the buttons of the grid.</param>
        public TilesetEditorOutput(ITileset tileset, Control control, TilesetEditorIntput input) : base(tileset, control)
        {
            this.input = input;

            if (tileset.TilesetName() == Tileset.XP_Tile.Name)
            {
                throw new ConvertException("Tileset cannot be XP because this class not contain the information of original image and the default is -1.");
            }
            SetUpGrid();
        }
Ejemplo n.º 6
0
        private void Convert(object sender, EventArgs e)
        {
            TilesetConverterBase con;
            ITileset             tileset = GetTileset();

            btnConvert.Text = Vocab.GetText("wait");

            try
            {
                switch (tileset.TilesetName())
                {
                case Maker.Alpha.NAME:
                    con = new TilesetConverterVerticalApha(tileset, (SpriteMode)cbMode.SelectedIndex, checkIgnore.Checked);
                    break;

                case Maker.R95.NAME:
                case Maker.S97.NAME:
                case Maker.XP_Tile.NAME:
                    con = new TilesetConverterVertical(tileset, (SpriteMode)cbMode.SelectedIndex, checkIgnore.Checked);
                    break;

                case Maker.XP_Auto.NAME:
                    con = new TilesetConverterAutotileXP(tileset, (SpriteMode)cbMode.SelectedIndex, checkIgnore.Checked);
                    break;

                case Maker.R2k_2k3_A.NAME:
                case Maker.R2k_2k3_B.NAME:
                case Maker.R2k_2k3_AB.NAME:
                case Maker.R2k_2k3_Auto.NAME:
                case Maker.R2k_2k3_AnimObj.NAME:
                    con = new TilesetConverterVerticalRM2K3(tileset, (SpriteMode)cbMode.SelectedIndex, checkIgnore.Checked);
                    break;

                case Maker.Custom.NAME:
                    con = new TilesetConverterCustom((SpriteMode)cbMode.SelectedIndex, checkIgnore.Checked, Int32.Parse(textCustomSize.Text));
                    break;

                default:
                    con = new TilesetConverterVX(tileset, (SpriteMode)cbMode.SelectedIndex, checkIgnore.Checked);
                    break;
                }
                bitmaps = con.ConvertToMV(Image.FromFile(filepath));
            }
            catch (ConvertException ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }

            if (bitmaps == null)
            {
                btnConvert.Text = Vocab.GetText("converter");
                return;
            }

            pictureBoxOutput.Image     = bitmaps[0];
            btnNextImg.Enabled         = btnPreviusImg.Enabled = false;
            btnTransparency.Enabled    = true;
            setTransparentItem.Enabled = true;

            if (bitmaps.Length > 1)
            {
                btnNextImg.Enabled = btnPreviusImg.Enabled = true;
            }
            else
            {
                btnNextImg.Enabled = btnPreviusImg.Enabled = false;
            }

            bmpCurrentIndex         = 0;
            labelMVPagesNumber.Text = bmpCurrentIndex + 1 + "/" + bitmaps.Length;
            btnConvert.Text         = Vocab.GetText("converter");
        }