From b1f98f7ce4b2d13aa784d0fb577327b4d58e489c Mon Sep 17 00:00:00 2001 From: thrust26 Date: Wed, 28 Apr 2021 23:16:29 +0200 Subject: [PATCH] reworked Palette settings a bit --- docs/graphics/options_video_palettes.png | Bin 9834 -> 9315 bytes docs/index.html | 3 +- src/gui/VideoAudioDialog.cxx | 85 ++++++++++++++--------- src/gui/VideoAudioDialog.hxx | 6 +- 4 files changed, 55 insertions(+), 39 deletions(-) diff --git a/docs/graphics/options_video_palettes.png b/docs/graphics/options_video_palettes.png index 938bdc6a9578d30dea77d793b8d867f33285df7f..2a6f66be875da565378f7b874601bdf5c7df0200 100644 GIT binary patch literal 9315 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%0AYykjYsycBQg3a0Y*o7 zWw={bV%W&S9hzZ+GO~^oS?{4-Gq-eS3iS@h-yQ ztCK?cM)}94d$man%&zHN=QlyqhmNCtPH;b5J;vbiS>nYc+JjL=wxf4pa3!V-W#+Rx z*&YGcCZMS2NY`W84CVuxWk=&#zLu6u`oF5H$=DD-vy?`Uu(oHw`m5xYoq$W~-$?N$ z+Rl+3D3bu8lwW?F$ifG2^G@KBa12b2cVa1sYBEp3xxBIO?T_a zx4HfUD|+?}lOk29Y~?3l<+qtmrwGWZxt5D_Cu=QS?)7~{m`Utc=Uo$cBVHbKk$GiR zoUB?=y2xHU7rI9iX%MUcHs7%jgbbD_Mp05G>NJ9HKTZtC#DwRAg^PgkXrO zQ67mVGu!dT)-K#rtHwa;p65yf?S%jXOqXqI;eFhY;&FxO#JF1RwcG8(Q3YT&f4tlKPzU?%SXOtIZYqB^h zTXG!UYeacqI@8E>`p)){gxT6Ml*l2rk$phseU8M?3#aT?kz-S8J6NT~S_1N1T6(hu zf!uQCRVnbYLv&d$E^HGRV*j&58OSUcWt}HiGHzr*=}e#i6Hk+juy$cw>u(pR`t+w| zN<``MmIe4X+#4;Ln*|#7kfDU}k^*%15*x=8F~qICv~ckKHHkFC1=of3s5I+tOtFB( zUlpPJRmE^&%ep)-o*kt1k-x*!E|#*(*$2#Bj^G}Ik)g_tbU)vi zv~zmX$8Bs4-;08${Cg_DG8KDF{2oKh$tL2*w6QP((5*}7qbnfvfY;B7E3cnxltLCt z@4J5zuC9KaBQGecV(s$|CENEBqd9f$_E<{_rl}x4zQ>|%Z;xc}O_Eny(Q!&$IS;+N zY0;F6(A{I>{iVWIdvNzI@OT0ABGe3Mtg{J6VIHZy7w0@i~f;h zVq3;FI`-u>>`n6*lxiA>uF7+G1QMdD5F0C^n2EFn$JZZ)wG9cJ;+O5s^qW)Ek87^U z^2v6WLa63NzDb|{bjwxfgmUEtQjcbj%t0h_4)y4BHKIiJpsZ^idHz9U9MU0A>B@Cc z>STs%iBMs0UhfYAu=}ps0eVH`=+8bKALDJd&APW|7RM(D+1!P$TID>llh5!1Hmuy?=OZ4eiFwPV)F{bY#v9=Rk~W~ wxsid!>90y^<(~-FJ`~hEmFknlEikjptpkdbD_Vj7I05ONH#nE8@#nq&0-Tq4hyVZp literal 9834 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 C@?vHH diff --git a/docs/index.html b/docs/index.html index 2bc00f9b3..de4817083 100644 --- a/docs/index.html +++ b/docs/index.html @@ -3654,8 +3654,7 @@ - - + diff --git a/src/gui/VideoAudioDialog.cxx b/src/gui/VideoAudioDialog.cxx index a30f114e9..d44cea328 100644 --- a/src/gui/VideoAudioDialog.cxx +++ b/src/gui/VideoAudioDialog.cxx @@ -233,24 +233,10 @@ void VideoAudioDialog::addPaletteTab() const int pswidth = swidth - INDENT + lwidth - plWidth; xpos += INDENT; - myPhaseShiftNtsc = + myPhaseShift = new SliderWidget(myTab, _font, xpos, ypos - 1, pswidth, lineHeight, - "NTSC phase", plWidth, kNtscShiftChanged, fontWidth * 5); - myPhaseShiftNtsc->setMinValue((PaletteHandler::DEF_NTSC_SHIFT - PaletteHandler::MAX_PHASE_SHIFT) * 10); - myPhaseShiftNtsc->setMaxValue((PaletteHandler::DEF_NTSC_SHIFT + PaletteHandler::MAX_PHASE_SHIFT) * 10); - myPhaseShiftNtsc->setTickmarkIntervals(4); - myPhaseShiftNtsc->setToolTip("Adjust NTSC phase shift of 'Custom' palette."); - wid.push_back(myPhaseShiftNtsc); - ypos += lineHeight + VGAP; - - myPhaseShiftPal = - new SliderWidget(myTab, _font, xpos, ypos - 1, pswidth, lineHeight, - "PAL phase", plWidth, kPalShiftChanged, fontWidth * 5); - myPhaseShiftPal->setMinValue((PaletteHandler::DEF_PAL_SHIFT - PaletteHandler::MAX_PHASE_SHIFT) * 10); - myPhaseShiftPal->setMaxValue((PaletteHandler::DEF_PAL_SHIFT + PaletteHandler::MAX_PHASE_SHIFT) * 10); - myPhaseShiftPal->setTickmarkIntervals(4); - myPhaseShiftPal->setToolTip("Adjust PAL phase shift of 'Custom' palette."); - wid.push_back(myPhaseShiftPal); + "NTSC phase", plWidth, kPhaseShiftChanged, fontWidth * 5); + wid.push_back(myPhaseShift); ypos += lineHeight + VGAP; const int rgblWidth = _font.getStringWidth("R "); @@ -312,7 +298,7 @@ void VideoAudioDialog::addPaletteTab() myTVBlueShift->setTickmarkIntervals(2); myTVBlueShift->setToolTip("Adjust blue shift of 'Custom' palette."); wid.push_back(myTVBlueShift); - ypos += lineHeight + VGAP; + ypos += lineHeight + VGAP * 2; xpos -= INDENT; CREATE_CUSTOM_SLIDERS(Hue, "Hue ", kPaletteUpdated) @@ -322,7 +308,7 @@ void VideoAudioDialog::addPaletteTab() CREATE_CUSTOM_SLIDERS(Gamma, "Gamma ", kPaletteUpdated) // The resulting palette - xpos = myPhaseShiftNtsc->getRight() + fontWidth * 2; + xpos = myPhaseShift->getRight() + fontWidth * 2; addPalette(xpos, VBORDER, _w - 2 * 2 - HBORDER - xpos, myTVGamma->getBottom() - myTIAPalette->getTop()); @@ -599,9 +585,29 @@ void VideoAudioDialog::loadConfig() myTIAPalette->setSelected(myPalette, PaletteHandler::SETTING_STANDARD); // Palette adjustables + bool isPAL = instance().hasConsole() + && instance().console().timing() == ConsoleTiming::pal; + instance().frameBuffer().tiaSurface().paletteHandler().getAdjustables(myPaletteAdj); - myPhaseShiftNtsc->setValue(myPaletteAdj.phaseNtsc); - myPhaseShiftPal->setValue(myPaletteAdj.phasePal); + if(isPAL) + { + myPhaseShift->setLabel("PAL phase"); + myPhaseShift->setMinValue((PaletteHandler::DEF_PAL_SHIFT - PaletteHandler::MAX_PHASE_SHIFT) * 10); + myPhaseShift->setMaxValue((PaletteHandler::DEF_PAL_SHIFT + PaletteHandler::MAX_PHASE_SHIFT) * 10); + myPhaseShift->setTickmarkIntervals(4); + myPhaseShift->setToolTip("Adjust PAL phase shift of 'Custom' palette."); + myPhaseShift->setValue(myPaletteAdj.phasePal); + + } + else + { + myPhaseShift->setLabel("NTSC phase"); + myPhaseShift->setMinValue((PaletteHandler::DEF_NTSC_SHIFT - PaletteHandler::MAX_PHASE_SHIFT) * 10); + myPhaseShift->setMaxValue((PaletteHandler::DEF_NTSC_SHIFT + PaletteHandler::MAX_PHASE_SHIFT) * 10); + myPhaseShift->setTickmarkIntervals(4); + myPhaseShift->setToolTip("Adjust NTSC phase shift of 'Custom' palette."); + myPhaseShift->setValue(myPaletteAdj.phaseNtsc); + } myTVRedScale->setValue(myPaletteAdj.redScale); myTVRedShift->setValue(myPaletteAdj.redShift); myTVGreenScale->setValue(myPaletteAdj.greenScale); @@ -846,9 +852,14 @@ void VideoAudioDialog::setDefaults() } case 1: // Palettes + { + bool isPAL = instance().hasConsole() + && instance().console().timing() == ConsoleTiming::pal; + myTIAPalette->setSelected(PaletteHandler::SETTING_STANDARD); - myPhaseShiftNtsc->setValue(PaletteHandler::DEF_NTSC_SHIFT * 10); - myPhaseShiftPal->setValue(PaletteHandler::DEF_PAL_SHIFT * 10); + myPhaseShift->setValue(isPAL + ? PaletteHandler::DEF_PAL_SHIFT * 10 + : PaletteHandler::DEF_NTSC_SHIFT * 10); myTVRedScale->setValue(50); myTVRedShift->setValue(PaletteHandler::DEF_RGB_SHIFT); myTVGreenScale->setValue(50); @@ -863,6 +874,7 @@ void VideoAudioDialog::setDefaults() handlePaletteChange(); handlePaletteUpdate(); break; + } case 2: // TV effects { @@ -940,8 +952,7 @@ void VideoAudioDialog::handlePaletteChange() { bool enable = myTIAPalette->getSelectedTag().toString() == "custom"; - myPhaseShiftNtsc->setEnabled(enable); - myPhaseShiftPal->setEnabled(enable); + myPhaseShift->setEnabled(enable); myTVRedScale->setEnabled(enable); myTVRedShift->setEnabled(enable); myTVGreenScale->setEnabled(enable); @@ -969,8 +980,19 @@ void VideoAudioDialog::handlePaletteUpdate() myTIAPalette->getSelectedTag().toString()); // Palette adjustables PaletteHandler::Adjustable paletteAdj; - paletteAdj.phaseNtsc = myPhaseShiftNtsc->getValue(); - paletteAdj.phasePal = myPhaseShiftPal->getValue(); + bool isPAL = instance().hasConsole() + && instance().console().timing() == ConsoleTiming::pal; + + if(isPAL) + { + paletteAdj.phaseNtsc = myPaletteAdj.phaseNtsc; // unchanged + paletteAdj.phasePal = myPhaseShift->getValue(); + } + else + { + paletteAdj.phaseNtsc = myPhaseShift->getValue(); + paletteAdj.phasePal = myPaletteAdj.phasePal; // unchanged + } paletteAdj.redScale = myTVRedScale->getValue(); paletteAdj.redShift = myTVRedShift->getValue(); paletteAdj.greenScale = myTVGreenScale->getValue(); @@ -1057,12 +1079,8 @@ void VideoAudioDialog::handleCommand(CommandSender* sender, int cmd, handlePaletteUpdate(); break; - case kNtscShiftChanged: - handleShiftChanged(myPhaseShiftNtsc); - break; - - case kPalShiftChanged: - handleShiftChanged(myPhaseShiftPal); + case kPhaseShiftChanged: + handleShiftChanged(myPhaseShift); break; case kRedShiftChanged: @@ -1185,6 +1203,7 @@ void VideoAudioDialog::addPalette(int x, int y, int w, int h) { myColor[idx][lum] = new ColorWidget(myTab, _font, x + lwidth + lum * COLW, y + idx * COLH, COLW + 1, COLH + 1, 0, false); + myColor[idx][lum]->clearFlags(FLAG_CLEARBG | FLAG_RETAIN_FOCUS | FLAG_MOUSE_FOCUS | FLAG_BORDER); } } } diff --git a/src/gui/VideoAudioDialog.hxx b/src/gui/VideoAudioDialog.hxx index ebd68c658..b8cfd5c5f 100644 --- a/src/gui/VideoAudioDialog.hxx +++ b/src/gui/VideoAudioDialog.hxx @@ -104,8 +104,7 @@ class VideoAudioDialog : public Dialog // Palettes PopUpWidget* myTIAPalette{nullptr}; - SliderWidget* myPhaseShiftNtsc{nullptr}; - SliderWidget* myPhaseShiftPal{nullptr}; + SliderWidget* myPhaseShift{nullptr}; SliderWidget* myTVRedScale{nullptr}; SliderWidget* myTVRedShift{nullptr}; SliderWidget* myTVGreenScale{nullptr}; @@ -143,8 +142,7 @@ class VideoAudioDialog : public Dialog kOverscanChanged = 'VDOv', kPaletteChanged = 'VDpl', - kNtscShiftChanged = 'VDns', - kPalShiftChanged = 'VDps', + kPhaseShiftChanged = 'VDps', kRedShiftChanged = 'VDrs', kGreenShiftChanged = 'VDgs', kBlueShiftChanged = 'VDbs',
ItemBrief descriptionFor more information,
see Command Line
PalettePalette used for emulation mode-palette
NTSC phaseAdjust phase shift of 'Custom' NTSC palette-pal.phase_ntsc
PAL phaseAdjust phase shift of 'Custom' PAL palette-pal.phase_pal
NTSC/PAL phaseAdjust phase shift of 'Custom' NTSC or PAL (depends on game) palette. -pal.phase_ntsc, -pal.phase_pal
RAdjust red scale and shift of 'Custom' palette-pal.red_scale, -pal.red_shift
GAdjust green scale and shift of 'Custom' palette-pal.green_scale, -pal.green_shift
BAdjust blue scale and shift of 'Custom' palette-pal.blue_scale, -pal.blue_shift