Ejemplo n.º 1
0
 protected void OnComboboxPaletteOfChanged(object sender, EventArgs e)
 {
     if (combobox_paletteOf.Active == 0)
     {
         ShowPalette(NTSCPaletteGenerator.GeneratePalette());
     }
     else
     {
         ShowPalette(PALBPaletteGenerator.GeneratePalette());
     }
 }
Ejemplo n.º 2
0
 private void UpdatePreviewGenerator()
 {
     if (radioButton_ntsc.Checked)
     {
         currentPalette = NTSCPaletteGenerator.GeneratePalette();
         panel1.Invalidate();
     }
     else
     {
         currentPalette = PALBPaletteGenerator.GeneratePalette();
         panel1.Invalidate();
     }
 }
Ejemplo n.º 3
0
        // 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);
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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());
                }
            }
        }
Ejemplo n.º 7
0
        // 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();
        }
Ejemplo n.º 8
0
        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();
        }
Ejemplo n.º 9
0
 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();
         }
     }
 }
Ejemplo n.º 10
0
 private void TestPALBPalette()
 {
     NesEmu.SetPalette(PALBPaletteGenerator.GeneratePalette());
 }
Ejemplo n.º 11
0
        // 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();
        }