From 38b8d8e9db0ee123748fda8c163349fb62a65453 Mon Sep 17 00:00:00 2001 From: mjbudd77 Date: Wed, 16 Jun 2021 23:00:40 -0400 Subject: [PATCH] Added config parameters to save state of PAL palette controls, force grayscale, and de-emphasis bit swap settings. --- src/drivers/Qt/PaletteConf.cpp | 14 ++++++++++++++ src/drivers/Qt/config.cpp | 24 ++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/src/drivers/Qt/PaletteConf.cpp b/src/drivers/Qt/PaletteConf.cpp index 33d01189..7342008c 100644 --- a/src/drivers/Qt/PaletteConf.cpp +++ b/src/drivers/Qt/PaletteConf.cpp @@ -367,6 +367,8 @@ void PaletteConfDialog_t::force_GrayScale_Changed(int state) force_grayscale = value ? true : false; FCEUI_SetNTSCTH(e, t, h); fceuWrapperUnLock(); + + g_config->setOption("SDL.ForceGrayScale", force_grayscale); } } //---------------------------------------------------- @@ -383,6 +385,8 @@ void PaletteConfDialog_t::deemphswap_Changed(int state) paldeemphswap = value ? true : false; FCEUI_SetNTSCTH(e, t, h); fceuWrapperUnLock(); + + g_config->setOption("SDL.DeempBitSwap", paldeemphswap); } } //---------------------------------------------------- @@ -555,6 +559,8 @@ void PaletteConfDialog_t::palNotchChanged(int value) palupdate = 1; fceuWrapperUnLock(); + + g_config->setOption("SDL.PalNotch", palnotch); } } //---------------------------------------------------- @@ -571,6 +577,8 @@ void PaletteConfDialog_t::palSaturationChanged(int value) palupdate = 1; fceuWrapperUnLock(); + + g_config->setOption("SDL.PalSaturation", palsaturation); } } //---------------------------------------------------- @@ -582,6 +590,8 @@ void PaletteConfDialog_t::palSharpnessChanged(int value) palupdate = 1; fceuWrapperUnLock(); + + g_config->setOption("SDL.PalSharpness", palsharpness); } } //---------------------------------------------------- @@ -598,6 +608,8 @@ void PaletteConfDialog_t::palContrastChanged(int value) palupdate = 1; fceuWrapperUnLock(); + + g_config->setOption("SDL.PalContrast", palcontrast); } } //---------------------------------------------------- @@ -614,6 +626,8 @@ void PaletteConfDialog_t::palBrightnessChanged(int value) palupdate = 1; fceuWrapperUnLock(); + + g_config->setOption("SDL.PalBrightness", palbrightness); } } //---------------------------------------------------- diff --git a/src/drivers/Qt/config.cpp b/src/drivers/Qt/config.cpp index fd5981d6..dfa71c4f 100644 --- a/src/drivers/Qt/config.cpp +++ b/src/drivers/Qt/config.cpp @@ -24,6 +24,7 @@ #include "Qt/config.h" #include "fceu.h" +#include "ppu.h" #include "../common/cheat.h" #include "Qt/input.h" @@ -53,6 +54,13 @@ #include #endif +extern bool force_grayscale; +extern bool palupdate; +extern int palnotch; +extern int palsaturation; +extern int palsharpness; +extern int palcontrast; +extern int palbrightness; int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut, const char **titleOut ) { @@ -471,6 +479,13 @@ InitConfig() config->addOption("tint", "SDL.Tint", 56); config->addOption("hue", "SDL.Hue", 72); config->addOption("ntsccolor", "SDL.NTSCpalette", 0); + config->addOption("SDL.ForceGrayScale", 0); + config->addOption("SDL.DeempBitSwap", 0); + config->addOption("SDL.PalNotch", 100); + config->addOption("SDL.PalSaturation", 100); + config->addOption("SDL.PalSharpness", 0); + config->addOption("SDL.PalContrast", 100); + config->addOption("SDL.PalBrightness", 50); // scanline settings config->addOption("SDL.ScanLineStartNTSC", 0+8); @@ -837,6 +852,15 @@ UpdateEMUCore(Config *config) config->getOption("SDL.Hue", &ntschue); FCEUI_SetNTSCTH(ntsccol, ntsctint, ntschue); + config->getOption("SDL.ForceGrayScale", &force_grayscale); + config->getOption("SDL.DeempBitSwap" , &paldeemphswap); + config->getOption("SDL.PalNotch" , &palnotch); + config->getOption("SDL.PalSaturation" , &palsaturation); + config->getOption("SDL.PalSharpness" , &palsharpness); + config->getOption("SDL.PalContrast" , &palcontrast); + config->getOption("SDL.PalBrightness" , &palbrightness); + palupdate = 1; + config->getOption("SDL.Palette", &cpalette); if(cpalette.size()) { LoadCPalette(cpalette);