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(); }
private TilesetConverterBase GetTilesetConverter(SpriteMode mode) { TilesetConverterBase con; string name = tileset.TilesetName(); if (name == Tileset.Alpha.Name) { con = new TilesetConverterVerticalApha(tileset, mode, false); } else if (name == Tileset.R95.Name || name == Tileset.S97.Name || name == Tileset.XP_Tile.Name) { con = new TilesetConverterVertical(tileset, mode, false); } else if (name == Tileset.XP_Auto.Name) { con = new TilesetConverterAutotileXP(tileset, mode, false); } else if (Tileset.IsR2k_2k3((Tileset)tileset) && name != Tileset.R2k_2k3_AnimObj.Name) { // all 2000/2003 tilesets but not an animated object con = new TilesetConverterVerticalRM2K3(tileset, mode, false); } else if (name == Tileset.Custom(0).Name) { con = new TilesetConverterCustom(tileset, mode, false); } else { con = new TilesetConverterVX(tileset, mode, false); } return(con); }
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(); }
public void Convert_CustomToMVTest() { converter = new TilesetConverterCustom(Tileset.Custom(22), SpriteMode.ALIGN_TOP_LEFT, false); Bitmap converted = converter.ConvertToMV(BitmapFromResourceStream("Tests.Images.Custom.Custom22px_in.png"))[0]; Bitmap AlphaOut = BitmapFromResourceStream("Tests.Images.Custom.Converter.Custom22px_out_success.png"); Assert.IsTrue(ImageEditor.IsEqual(converted, AlphaOut)); }
private TilesetConverterBase GetTilesetConverter(SpriteMode mode) { TilesetConverterBase con; switch (tileset.TilesetName()) { case Maker.Alpha.NAME: con = new TilesetConverterVerticalApha(tileset, mode, false); break; case Maker.R95.NAME: case Maker.S97.NAME: case Maker.XP_Tile.NAME: con = new TilesetConverterVertical(tileset, mode, false); break; case Maker.XP_Auto.NAME: con = new TilesetConverterAutotileXP(tileset, mode, false); 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: con = new TilesetConverterVerticalRM2K3(tileset, mode, false); break; case Maker.Custom.NAME: con = new TilesetConverterCustom(mode, false); break; default: con = new TilesetConverterVX(tileset, mode, false); break; } return(con); }
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"); }
public void Initalize() { converter = new TilesetConverterCustom(SpriteMode.ALIGN_TOP_LEFT, false, 22); }