protected void OnComboboxPaletteOfChanged(object sender, EventArgs e) { if (combobox_paletteOf.Active == 0) { ShowPalette(NTSCPaletteGenerator.GeneratePalette()); } else { ShowPalette(PALBPaletteGenerator.GeneratePalette()); } }
private void UpdatePreviewGenerator() { if (radioButton_ntsc.Checked) { currentPalette = NTSCPaletteGenerator.GeneratePalette(); panel1.Invalidate(); } else { currentPalette = PALBPaletteGenerator.GeneratePalette(); panel1.Invalidate(); } }
// Flat all protected void OnButton18Pressed(object sender, EventArgs e) { if (combobox_paletteOf.Active == 0) { NTSCPaletteGenerator.saturation = 1.0f; hscale_Saturation.Value = 1000; NTSCPaletteGenerator.hue_tweak = 0.0f; hscale_Hue.Value = 0; NTSCPaletteGenerator.contrast = 1.0f; hscale_Contrast.Value = 1000; NTSCPaletteGenerator.brightness = 1.0f; hscale_Brightness.Value = 1000; NTSCPaletteGenerator.gamma = 1.8f; hscale_Gamma.Value = 1800; label_Saturation.Text = NTSCPaletteGenerator.saturation.ToString("F3"); label_Hue.Text = NTSCPaletteGenerator.hue_tweak.ToString("F3"); label_Contrast.Text = NTSCPaletteGenerator.contrast.ToString("F3"); label_Brightness.Text = NTSCPaletteGenerator.brightness.ToString("F3"); label_Gamma.Text = NTSCPaletteGenerator.gamma.ToString("F3"); int[] palette = NTSCPaletteGenerator.GeneratePalette(); ShowPalette(palette); } else { PALBPaletteGenerator.saturation = 1.0f; hscale_Saturation.Value = 1000; PALBPaletteGenerator.hue_tweak = 0.0f; hscale_Hue.Value = 0; PALBPaletteGenerator.contrast = 1.0f; hscale_Contrast.Value = 1000; PALBPaletteGenerator.brightness = 1.0f; hscale_Brightness.Value = 1000; PALBPaletteGenerator.gamma = 1.8f; hscale_Gamma.Value = 1800; label_Saturation.Text = PALBPaletteGenerator.saturation.ToString("F3"); label_Hue.Text = PALBPaletteGenerator.hue_tweak.ToString("F3"); label_Contrast.Text = PALBPaletteGenerator.contrast.ToString("F3"); label_Brightness.Text = PALBPaletteGenerator.brightness.ToString("F3"); label_Gamma.Text = PALBPaletteGenerator.gamma.ToString("F3"); int[] palette = PALBPaletteGenerator.GeneratePalette(); ShowPalette(palette); } }
public Dialog_Palettes() { this.Build(); MyNesSDL.Settings.LoadSettings(System.IO.Path.Combine(MainClass.WorkingFolder, "SDLSettings.conf")); // load settings if (MyNesSDL.Settings.Palette_AutoSelect) { combobox_selection.Active = 0; } else { combobox_selection.Active = MyNesSDL.Settings.Palette_UseNTSCPalette ? 1 : 2; } NTSCPaletteGenerator.brightness = MyNesSDL.Settings.Palette_NTSC_brightness; NTSCPaletteGenerator.contrast = MyNesSDL.Settings.Palette_NTSC_contrast; NTSCPaletteGenerator.gamma = MyNesSDL.Settings.Palette_NTSC_gamma; NTSCPaletteGenerator.hue_tweak = MyNesSDL.Settings.Palette_NTSC_hue_tweak; NTSCPaletteGenerator.saturation = MyNesSDL.Settings.Palette_NTSC_saturation; PALBPaletteGenerator.brightness = MyNesSDL.Settings.Palette_PALB_brightness; PALBPaletteGenerator.contrast = MyNesSDL.Settings.Palette_PALB_contrast; PALBPaletteGenerator.gamma = MyNesSDL.Settings.Palette_PALB_gamma; PALBPaletteGenerator.hue_tweak = MyNesSDL.Settings.Palette_PALB_hue_tweak; PALBPaletteGenerator.saturation = MyNesSDL.Settings.Palette_PALB_saturation; hscale_Brightness.Value = (int)(MyNesSDL.Settings.Palette_NTSC_brightness * 1000); hscale_Contrast.Value = (int)(MyNesSDL.Settings.Palette_NTSC_contrast * 1000); hscale_Gamma.Value = (int)(MyNesSDL.Settings.Palette_NTSC_gamma * 1000); hscale_Hue.Value = (int)(MyNesSDL.Settings.Palette_NTSC_hue_tweak * 1000); hscale_Saturation.Value = (int)(MyNesSDL.Settings.Palette_NTSC_saturation * 1000); label_Brightness.Text = MyNesSDL.Settings.Palette_NTSC_brightness.ToString("F3"); label_Contrast.Text = MyNesSDL.Settings.Palette_NTSC_contrast.ToString("F3"); label_Gamma.Text = MyNesSDL.Settings.Palette_NTSC_gamma.ToString("F3"); label_Hue.Text = MyNesSDL.Settings.Palette_NTSC_hue_tweak.ToString("F3"); label_Saturation.Text = MyNesSDL.Settings.Palette_NTSC_saturation.ToString("F3"); if (combobox_paletteOf.Active == 0) { int[] palette = NTSCPaletteGenerator.GeneratePalette(); ShowPalette(palette); } else { int[] palette = PALBPaletteGenerator.GeneratePalette(); ShowPalette(palette); } }
protected void OnHscaleGammaValueChanged(object sender, EventArgs e) { float v = (float)hscale_Gamma.Value; if (combobox_paletteOf.Active == 0) { NTSCPaletteGenerator.gamma = (v / 1000); label_Gamma.Text = NTSCPaletteGenerator.gamma.ToString("F3"); int[] palette = NTSCPaletteGenerator.GeneratePalette(); ShowPalette(palette); } else { PALBPaletteGenerator.gamma = (v / 1000); label_Gamma.Text = PALBPaletteGenerator.gamma.ToString("F3"); int[] palette = PALBPaletteGenerator.GeneratePalette(); ShowPalette(palette); } }
public static void InitializePalette() { NTSCPaletteGenerator.brightness = Settings.Palette_NTSC_brightness; NTSCPaletteGenerator.contrast = Settings.Palette_NTSC_contrast; NTSCPaletteGenerator.gamma = Settings.Palette_NTSC_gamma; NTSCPaletteGenerator.hue_tweak = Settings.Palette_NTSC_hue_tweak; NTSCPaletteGenerator.saturation = Settings.Palette_NTSC_saturation; PALBPaletteGenerator.brightness = Settings.Palette_PALB_brightness; PALBPaletteGenerator.contrast = Settings.Palette_PALB_contrast; PALBPaletteGenerator.gamma = Settings.Palette_PALB_gamma; PALBPaletteGenerator.hue_tweak = Settings.Palette_PALB_hue_tweak; PALBPaletteGenerator.saturation = Settings.Palette_PALB_saturation; if (Settings.Palette_AutoSelect) { switch (NesEmu.TVFormat) { case TVSystem.NTSC: NesEmu.SetPalette(NTSCPaletteGenerator.GeneratePalette()); break; case TVSystem.DENDY: case TVSystem.PALB: NesEmu.SetPalette(PALBPaletteGenerator.GeneratePalette()); break; } } else { if (Settings.Palette_UseNTSCPalette) { NesEmu.SetPalette(NTSCPaletteGenerator.GeneratePalette()); } else { NesEmu.SetPalette(PALBPaletteGenerator.GeneratePalette()); } } }
// Save as .pal protected void OnButton19Pressed(object sender, EventArgs e) { FileChooserDialog sav = new FileChooserDialog("Save Palette file", this, FileChooserAction.Save, Stock.Cancel, ResponseType.Cancel, Stock.Save, ResponseType.Accept); FileFilter filter1 = new FileFilter(); filter1.Name = "Palette file '64 indexes' (*.pal)"; filter1.AddMimeType("pal"); filter1.AddPattern("*.pal"); sav.AddFilter(filter1); FileFilter filter2 = new FileFilter(); filter2.Name = "Palette file '512 indexes' (*.pal)"; filter2.AddMimeType("pal"); filter2.AddPattern("*.pal"); sav.AddFilter(filter2); sav.SetFilename("palette.pal"); if (sav.Run() == (int)ResponseType.Accept) { //get pallete List <byte> palette = new List <byte>(); int[] NesPalette = (combobox_paletteOf.Active == 0) ? NTSCPaletteGenerator.GeneratePalette() : PALBPaletteGenerator.GeneratePalette(); for (int i = 0; i < ((sav.Filter == filter1) ? 64 : 512); i++) { int color = NesPalette[i]; palette.Add((byte)((color >> 16) & 0xFF)); //Red palette.Add((byte)((color >> 8) & 0xFF)); //Green palette.Add((byte)((color >> 0) & 0xFF)); //Blue } Stream str = new FileStream(sav.Filename, FileMode.Create, FileAccess.Write); str.Write(palette.ToArray(), 0, palette.Count); str.Close(); } sav.Destroy(); }
public void SaveSettings() { MyNesSDL.Settings.Palette_NTSC_brightness = NTSCPaletteGenerator.brightness; MyNesSDL.Settings.Palette_NTSC_contrast = NTSCPaletteGenerator.contrast; MyNesSDL.Settings.Palette_NTSC_gamma = NTSCPaletteGenerator.gamma; MyNesSDL.Settings.Palette_NTSC_hue_tweak = NTSCPaletteGenerator.hue_tweak; MyNesSDL.Settings.Palette_NTSC_saturation = NTSCPaletteGenerator.saturation; MyNesSDL.Settings.Palette_PALB_brightness = PALBPaletteGenerator.brightness; MyNesSDL.Settings.Palette_PALB_contrast = PALBPaletteGenerator.contrast; MyNesSDL.Settings.Palette_PALB_gamma = PALBPaletteGenerator.gamma; MyNesSDL.Settings.Palette_PALB_hue_tweak = PALBPaletteGenerator.hue_tweak; MyNesSDL.Settings.Palette_PALB_saturation = PALBPaletteGenerator.saturation; int[] palette = (combobox_paletteOf.Active == 0) ? NTSCPaletteGenerator.GeneratePalette() : PALBPaletteGenerator.GeneratePalette(); ShowPalette(palette); switch (combobox_selection.Active) { case 0: MyNesSDL.Settings.Palette_UseNTSCPalette = false; MyNesSDL.Settings.Palette_AutoSelect = true; break; case 1: MyNesSDL.Settings.Palette_UseNTSCPalette = true; MyNesSDL.Settings.Palette_AutoSelect = false; break; case 2: MyNesSDL.Settings.Palette_UseNTSCPalette = false; MyNesSDL.Settings.Palette_AutoSelect = false; break; } MyNesSDL.Settings.SaveSettings(); }
private void UpdatePreview() { if (isLoadingSettings) { return; } if (tabControl1.SelectedIndex == 0) { // Settings tab if (radioButton_useGenerators.Checked) { if (radioButton_gen_auto.Checked || radioButton_gen_ntsc.Checked) { currentPalette = NTSCPaletteGenerator.GeneratePalette(); panel1.Invalidate(); } else { currentPalette = PALBPaletteGenerator.GeneratePalette(); panel1.Invalidate(); } } else { if (comboBox1 == null) { return; } if (comboBox1.SelectedIndex < 0) { currentPalette = new int[512]; } try { if (PaletteFileWrapper.LoadFile(Application.StartupPath + "\\Palettes\\" + comboBox1.SelectedItem.ToString(), out currentPalette)) { panel1.Invalidate(); } else { ManagedMessageBox.ShowErrorMessage(Program.ResourceManager.GetString("Message_UnableToLoadPaletteFile")); currentPalette = new int[512]; panel1.Invalidate(); } } catch (Exception ex) { ManagedMessageBox.ShowErrorMessage(ex.Message); ManagedMessageBox.ShowErrorMessage(Program.ResourceManager.GetString("Message_UnableToLoadPaletteFile")); currentPalette = new int[512]; panel1.Invalidate(); } } } else { if (radioButton_ntsc.Checked) { currentPalette = NTSCPaletteGenerator.GeneratePalette(); panel1.Invalidate(); } else { currentPalette = PALBPaletteGenerator.GeneratePalette(); panel1.Invalidate(); } } }
private void TestNTSCPalette() { NesEmu.SetPalette(NTSCPaletteGenerator.GeneratePalette()); }
// Load protected void OnButton16Pressed(object sender, EventArgs e) { FileChooserDialog openD = new FileChooserDialog("Open My Nes palette present file", this, FileChooserAction.Open, Stock.Cancel, ResponseType.Cancel, Stock.Open, ResponseType.Accept); FileFilter filter = new FileFilter(); filter.Name = "My Nes Palette Present (*.mnpp)"; filter.AddMimeType("mnpp"); filter.AddPattern("*.mnpp"); openD.AddFilter(filter); if (openD.Run() == (int)ResponseType.Accept) { string[] lines = File.ReadAllLines(openD.Filename); if (combobox_paletteOf.Active == 0) { for (int i = 0; i < lines.Length; i++) { string[] pars = lines[i].Split(new char[] { '=' }); switch (pars[0]) { case "Brightness": NTSCPaletteGenerator.brightness = float.Parse(pars[1]); hscale_Brightness.Value = (int)(NTSCPaletteGenerator.brightness * 1000); break; case "Contrast": NTSCPaletteGenerator.contrast = float.Parse(pars[1]); hscale_Contrast.Value = (int)(NTSCPaletteGenerator.contrast * 1000); break; case "Gamma": NTSCPaletteGenerator.gamma = float.Parse(pars[1]); hscale_Gamma.Value = (int)(NTSCPaletteGenerator.gamma * 1000); break; case "Hue": NTSCPaletteGenerator.hue_tweak = float.Parse(pars[1]); hscale_Hue.Value = (int)(NTSCPaletteGenerator.hue_tweak * 1000); break; case "Saturation": NTSCPaletteGenerator.saturation = float.Parse(pars[1]); hscale_Saturation.Value = (int)(NTSCPaletteGenerator.saturation * 1000); break; } } label_Brightness.Text = NTSCPaletteGenerator.brightness.ToString("F3"); label_Contrast.Text = NTSCPaletteGenerator.contrast.ToString("F3"); label_Gamma.Text = NTSCPaletteGenerator.gamma.ToString("F3"); label_Hue.Text = NTSCPaletteGenerator.hue_tweak.ToString("F3"); label_Saturation.Text = NTSCPaletteGenerator.saturation.ToString("F3"); int[] palette = NTSCPaletteGenerator.GeneratePalette(); ShowPalette(palette); } else { for (int i = 0; i < lines.Length; i++) { string[] pars = lines[i].Split(new char[] { '=' }); switch (pars[0]) { case "Brightness": PALBPaletteGenerator.brightness = float.Parse(pars[1]); hscale_Brightness.Value = (int)(PALBPaletteGenerator.brightness * 1000); break; case "Contrast": PALBPaletteGenerator.contrast = float.Parse(pars[1]); hscale_Contrast.Value = (int)(PALBPaletteGenerator.contrast * 1000); break; case "Gamma": PALBPaletteGenerator.gamma = float.Parse(pars[1]); hscale_Gamma.Value = (int)(PALBPaletteGenerator.gamma * 1000); break; case "Hue": PALBPaletteGenerator.hue_tweak = float.Parse(pars[1]); hscale_Hue.Value = (int)(PALBPaletteGenerator.hue_tweak * 1000); break; case "Saturation": PALBPaletteGenerator.saturation = float.Parse(pars[1]); hscale_Saturation.Value = (int)(PALBPaletteGenerator.saturation * 1000); break; } } label_Brightness.Text = PALBPaletteGenerator.brightness.ToString("F3"); label_Contrast.Text = PALBPaletteGenerator.contrast.ToString("F3"); label_Gamma.Text = PALBPaletteGenerator.gamma.ToString("F3"); label_Hue.Text = PALBPaletteGenerator.hue_tweak.ToString("F3"); label_Saturation.Text = PALBPaletteGenerator.saturation.ToString("F3"); int[] palette = PALBPaletteGenerator.GeneratePalette(); ShowPalette(palette); } } openD.Destroy(); }