private void palettesToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e) { int sel = palettesToolStripMenuItem.DropDownItems.IndexOf(e.ClickedItem); foreach (ToolStripMenuItem item in palettesToolStripMenuItem.DropDownItems) { item.Checked = false; } ((ToolStripMenuItem)e.ClickedItem).Checked = true; if (sel == 0) { Array.Copy(defaultpalette, palette, 256); } else { byte[] file = File.ReadAllBytes(palettes[sel - 1]); Color[] colors = new Color[file.Length / 4]; for (int i = 0; i < colors.Length; i++) { colors[i] = Color.FromArgb(file[i * 4], file[i * 4 + 1], file[i * 4 + 2]); } Array.Copy(colors, palette, colors.Length); } PalettePanel.Invalidate(); SpritePicture.Invalidate(); tileList1.Invalidate(); }
private void fromImageToolStripMenuItem_Click(object sender, EventArgs e) { using (OpenFileDialog fd = new OpenFileDialog()) { fd.DefaultExt = "png"; fd.Filter = "Image Files|*.bmp;*.png;*.jpg;*.gif"; fd.RestoreDirectory = true; if (fd.ShowDialog(this) == DialogResult.OK) { Color[] colors; using (Bitmap bmp = new Bitmap(fd.FileName)) colors = bmp.Palette.Entries; using (PaletteImportDialog pd = new PaletteImportDialog(colors)) if (pd.ShowDialog(this) == DialogResult.OK) { palette = pd.palette; PalettePanel.Invalidate(); SpritePicture.Invalidate(); tileList1.Invalidate(); foreach (ToolStripMenuItem item in palettesToolStripMenuItem.DropDownItems) { item.Checked = false; } } } } }
private void fromMDPaletteToolStripMenuItem_Click(object sender, EventArgs e) { using (OpenFileDialog fd = new OpenFileDialog()) { fd.DefaultExt = "png"; fd.Filter = "Palette Files|*.bin"; fd.RestoreDirectory = true; if (fd.ShowDialog(this) == DialogResult.OK) { byte[] file = File.ReadAllBytes(fd.FileName); Color[] colors = new Color[file.Length / 2]; for (int i = 0; i < colors.Length; i++) { colors[i] = Color.FromArgb(((file[(i * 2) + 1]) & 0xF) << 4, (file[(i * 2) + 1]) & 0xF0, ((file[i * 2]) & 0xF) << 4); } using (PaletteImportDialog pd = new PaletteImportDialog(colors)) if (pd.ShowDialog(this) == DialogResult.OK) { palette = pd.palette; PalettePanel.Invalidate(); SpritePicture.Invalidate(); tileList1.Invalidate(); foreach (ToolStripMenuItem item in palettesToolStripMenuItem.DropDownItems) { item.Checked = false; } } } } }
private void fromPCPaletteToolStripMenuItem_Click(object sender, EventArgs e) { using (OpenFileDialog fd = new OpenFileDialog()) { fd.DefaultExt = "png"; fd.Filter = "Palette Files|*.bin;*.scdpal"; fd.RestoreDirectory = true; if (fd.ShowDialog(this) == DialogResult.OK) { byte[] file = File.ReadAllBytes(fd.FileName); Color[] colors = new Color[file.Length / 4]; for (int i = 0; i < colors.Length; i++) { colors[i] = Color.FromArgb(file[i * 4], file[i * 4 + 1], file[i * 4 + 2]); } using (PaletteImportDialog pd = new PaletteImportDialog(colors)) if (pd.ShowDialog(this) == DialogResult.OK) { palette = pd.palette; Array.Copy(palette, curpal * 16, palslice, 0, 16); PalettePanel.Invalidate(); SpritePicture.Invalidate(); tileList1.Invalidate(); foreach (ToolStripMenuItem item in palettesToolStripMenuItem.DropDownItems) { item.Checked = false; } } } } }
private void numericUpDown2_ValueChanged(object sender, EventArgs e) { if (tileList1.SelectedIndex > -1) { sprites[tileList1.SelectedIndex].offset.Y = (int)numericUpDown2.Value; } SpritePicture.Invalidate(); }
/// <summary> /// Make Picture sprites /// </summary> void InitPictures() { // TO OPTIMIZE : A recoder pour ne pas générer 50 pictures upfront pictureSprites = new SpritePicture[GeexEdit.NumberOfPictures]; for (int i = 0; i < GeexEdit.NumberOfPictures; i++) { pictureSprites[i] = new SpritePicture(Graphics.Foreground, InGame.Screen.Pictures[i]); } }
private void PalettePanel_MouseDown(object sender, MouseEventArgs e) { selectedColor = new Point(e.X / 32, e.Y / 32); PalettePanel.Invalidate(); if (tileList1.SelectedIndex > -1) { sprites[tileList1.SelectedIndex].palette = (selectedColor.Y * 16) + selectedColor.X; } SpritePicture.Invalidate(); }
private void tileList1_SelectedIndexChanged(object sender, EventArgs e) { if (tileList1.SelectedIndex != -1) { SpritePicture.Size = new Size(sprites[curpal][tileList1.SelectedIndex].Width * 2, sprites[curpal][tileList1.SelectedIndex].Height * 2); } else { SpritePicture.Size = Size.Empty; } SpritePicture.Invalidate(); }
private void tileList1_SelectedIndexChanged(object sender, EventArgs e) { if (tileList1.SelectedIndex != -1) { SpritePicture.Size = new Size(sprites[tileList1.SelectedIndex].sprite.Width, sprites[tileList1.SelectedIndex].sprite.Height); selectedColor = new Point(sprites[tileList1.SelectedIndex].palette % 16, sprites[tileList1.SelectedIndex].palette / 16); groupBox1.Enabled = true; numericUpDown1.Value = sprites[tileList1.SelectedIndex].offset.X; numericUpDown2.Value = sprites[tileList1.SelectedIndex].offset.Y; } else { SpritePicture.Size = Size.Empty; selectedColor = Point.Empty; groupBox1.Enabled = false; } SpritePicture.Invalidate(); PalettePanel.Invalidate(); }
private void replaceToolStripMenuItem_Click(object sender, EventArgs e) { if (tileList1.SelectedIndex == -1) { return; } OpenFileDialog a = new OpenFileDialog() { DefaultExt = "png", Filter = "Image Files|*.bmp;*.png;*.jpg;*.gif", FileName = tileList1.SelectedIndex + ".png", RestoreDirectory = true }; if (a.ShowDialog() == DialogResult.OK) { sprites[curpal][tileList1.SelectedIndex] = BitmapBits.FromBitmap(new Bitmap(a.FileName)); tileList1.Invalidate(); SpritePicture.Invalidate(); } }