mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-11-30 01:25:51 +00:00
Qt: Tidy up Enhancement settings
This commit is contained in:
parent
f369724b7c
commit
37276472eb
|
@ -3999,7 +3999,7 @@ void FullscreenUI::DrawDisplaySettingsPage()
|
||||||
|
|
||||||
DrawToggleSetting(bsi, FSUI_CSTR("True Color Debanding"),
|
DrawToggleSetting(bsi, FSUI_CSTR("True Color Debanding"),
|
||||||
FSUI_CSTR("Applies modern dithering techniques to further smooth out gradients when true color is enabled."), "GPU",
|
FSUI_CSTR("Applies modern dithering techniques to further smooth out gradients when true color is enabled."), "GPU",
|
||||||
"Debanding", false, is_hardware);
|
"Debanding", false, is_hardware && bsi->GetBoolValue("GPU", "TrueColor", false));
|
||||||
|
|
||||||
DrawToggleSetting(bsi, FSUI_CSTR("Widescreen Hack"),
|
DrawToggleSetting(bsi, FSUI_CSTR("Widescreen Hack"),
|
||||||
FSUI_CSTR("Increases the field of view from 4:3 to the chosen display aspect ratio in 3D games."),
|
FSUI_CSTR("Increases the field of view from 4:3 to the chosen display aspect ratio in 3D games."),
|
||||||
|
|
|
@ -43,12 +43,12 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsWindow* dialog, QWi
|
||||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.pgxpCPU, "GPU", "PGXPCPU", false);
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.pgxpCPU, "GPU", "PGXPCPU", false);
|
||||||
|
|
||||||
connect(m_ui.resolutionScale, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
connect(m_ui.resolutionScale, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
||||||
&EnhancementSettingsWidget::updateScaledDitheringEnabled);
|
&EnhancementSettingsWidget::onTrueColorChanged);
|
||||||
connect(m_ui.gpuDownsampleMode, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
connect(m_ui.gpuDownsampleMode, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
|
||||||
&EnhancementSettingsWidget::updateDownsampleScaleVisible);
|
&EnhancementSettingsWidget::updateDownsampleScaleVisible);
|
||||||
connect(m_ui.trueColor, &QCheckBox::stateChanged, this, &EnhancementSettingsWidget::updateScaledDitheringEnabled);
|
connect(m_ui.trueColor, &QCheckBox::stateChanged, this, &EnhancementSettingsWidget::onTrueColorChanged);
|
||||||
updateDownsampleScaleVisible();
|
updateDownsampleScaleVisible();
|
||||||
updateScaledDitheringEnabled();
|
onTrueColorChanged();
|
||||||
|
|
||||||
connect(m_ui.pgxpEnable, &QCheckBox::stateChanged, this, &EnhancementSettingsWidget::updatePGXPSettingsEnabled);
|
connect(m_ui.pgxpEnable, &QCheckBox::stateChanged, this, &EnhancementSettingsWidget::updatePGXPSettingsEnabled);
|
||||||
connect(m_ui.pgxpTextureCorrection, &QCheckBox::stateChanged, this,
|
connect(m_ui.pgxpTextureCorrection, &QCheckBox::stateChanged, this,
|
||||||
|
@ -63,7 +63,7 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsWindow* dialog, QWi
|
||||||
tr("Selects the resolution scale that will be applied to the final image. 1x will "
|
tr("Selects the resolution scale that will be applied to the final image. 1x will "
|
||||||
"downsample to the original console resolution."));
|
"downsample to the original console resolution."));
|
||||||
dialog->registerWidgetHelp(
|
dialog->registerWidgetHelp(
|
||||||
m_ui.disableInterlacing, tr("Disable Interlacing (force progressive render/scan)"), tr("Unchecked"),
|
m_ui.disableInterlacing, tr("Disable Interlacing"), tr("Unchecked"),
|
||||||
tr(
|
tr(
|
||||||
"Forces the rendering and display of frames to progressive mode. <br>This removes the \"combing\" effect seen in "
|
"Forces the rendering and display of frames to progressive mode. <br>This removes the \"combing\" effect seen in "
|
||||||
"480i games by rendering them in 480p. Usually safe to enable.<br> "
|
"480i games by rendering them in 480p. Usually safe to enable.<br> "
|
||||||
|
@ -74,7 +74,7 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsWindow* dialog, QWi
|
||||||
"to the hardware backends. <br>This option is usually safe, with most games looking fine at "
|
"to the hardware backends. <br>This option is usually safe, with most games looking fine at "
|
||||||
"higher resolutions. Higher resolutions require a more powerful GPU."));
|
"higher resolutions. Higher resolutions require a more powerful GPU."));
|
||||||
dialog->registerWidgetHelp(
|
dialog->registerWidgetHelp(
|
||||||
m_ui.trueColor, tr("True Color Rendering (24-bit, disables dithering)"), tr("Unchecked"),
|
m_ui.trueColor, tr("True Color Rendering"), tr("Unchecked"),
|
||||||
tr("Forces the precision of colours output to the console's framebuffer to use the full 8 bits of precision per "
|
tr("Forces the precision of colours output to the console's framebuffer to use the full 8 bits of precision per "
|
||||||
"channel. This produces nicer looking gradients at the cost of making some colours look slightly different. "
|
"channel. This produces nicer looking gradients at the cost of making some colours look slightly different. "
|
||||||
"Disabling the option also enables dithering, which makes the transition between colours less sharp by applying "
|
"Disabling the option also enables dithering, which makes the transition between colours less sharp by applying "
|
||||||
|
@ -83,10 +83,11 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsWindow* dialog, QWi
|
||||||
dialog->registerWidgetHelp(
|
dialog->registerWidgetHelp(
|
||||||
m_ui.debanding, tr("True Color Debanding"), tr("Unchecked"),
|
m_ui.debanding, tr("True Color Debanding"), tr("Unchecked"),
|
||||||
tr("Applies modern dithering techniques to further smooth out gradients when true color is enabled. "
|
tr("Applies modern dithering techniques to further smooth out gradients when true color is enabled. "
|
||||||
"This debanding is performed during rendering (as opposed to a post-processing step), which allows it to be fast while preserving detail. "
|
"This debanding is performed during rendering (as opposed to a post-processing step), which allows it to be "
|
||||||
"Debanding increases the file size of screenshots due to the subtle dithering pattern present in screenshots."));
|
"fast while preserving detail. "
|
||||||
|
"Debanding increases the file size of screenshots due to the subtle dithering pattern present in screenshots."));
|
||||||
dialog->registerWidgetHelp(
|
dialog->registerWidgetHelp(
|
||||||
m_ui.scaledDithering, tr("Scaled Dithering (scale dither pattern to resolution)"), tr("Checked"),
|
m_ui.scaledDithering, tr("Scaled Dithering"), tr("Checked"),
|
||||||
tr("Scales the dither pattern to the resolution scale of the emulated GPU. This makes the dither pattern much less "
|
tr("Scales the dither pattern to the resolution scale of the emulated GPU. This makes the dither pattern much less "
|
||||||
"obvious at higher resolutions. <br>Usually safe to enable, and only supported by the hardware renderers."));
|
"obvious at higher resolutions. <br>Usually safe to enable, and only supported by the hardware renderers."));
|
||||||
dialog->registerWidgetHelp(m_ui.forceNTSCTimings, tr("Force NTSC Timings (60hz-on-PAL)"), tr("Unchecked"),
|
dialog->registerWidgetHelp(m_ui.forceNTSCTimings, tr("Force NTSC Timings (60hz-on-PAL)"), tr("Unchecked"),
|
||||||
|
@ -145,12 +146,14 @@ EnhancementSettingsWidget::EnhancementSettingsWidget(SettingsWindow* dialog, QWi
|
||||||
|
|
||||||
EnhancementSettingsWidget::~EnhancementSettingsWidget() = default;
|
EnhancementSettingsWidget::~EnhancementSettingsWidget() = default;
|
||||||
|
|
||||||
void EnhancementSettingsWidget::updateScaledDitheringEnabled()
|
void EnhancementSettingsWidget::onTrueColorChanged()
|
||||||
{
|
{
|
||||||
const int resolution_scale = m_ui.resolutionScale->currentIndex();
|
const int resolution_scale = m_ui.resolutionScale->currentIndex();
|
||||||
const bool true_color = m_ui.trueColor->isChecked();
|
const bool true_color = m_ui.trueColor->isChecked();
|
||||||
const bool allow_scaled_dithering = (resolution_scale != 1 && !true_color);
|
const bool allow_scaled_dithering = (resolution_scale != 1 && !true_color);
|
||||||
|
const bool allow_debanding = true_color;
|
||||||
m_ui.scaledDithering->setEnabled(allow_scaled_dithering);
|
m_ui.scaledDithering->setEnabled(allow_scaled_dithering);
|
||||||
|
m_ui.debanding->setEnabled(allow_debanding);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnhancementSettingsWidget::updateDownsampleScaleVisible()
|
void EnhancementSettingsWidget::updateDownsampleScaleVisible()
|
||||||
|
|
|
@ -18,7 +18,7 @@ public:
|
||||||
~EnhancementSettingsWidget();
|
~EnhancementSettingsWidget();
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void updateScaledDitheringEnabled();
|
void onTrueColorChanged();
|
||||||
void updateDownsampleScaleVisible();
|
void updateDownsampleScaleVisible();
|
||||||
void updatePGXPSettingsEnabled();
|
void updatePGXPSettingsEnabled();
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>448</width>
|
<width>640</width>
|
||||||
<height>516</height>
|
<height>452</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
@ -49,41 +49,6 @@
|
||||||
<item row="2" column="1">
|
<item row="2" column="1">
|
||||||
<widget class="QComboBox" name="textureFiltering"/>
|
<widget class="QComboBox" name="textureFiltering"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QCheckBox" name="trueColor">
|
|
||||||
<property name="text">
|
|
||||||
<string>True Color Rendering (24-bit, disables dithering)</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1">
|
|
||||||
<widget class="QCheckBox" name="debanding">
|
|
||||||
<property name="text">
|
|
||||||
<string>True Color Debanding</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0" colspan="2">
|
|
||||||
<widget class="QCheckBox" name="scaledDithering">
|
|
||||||
<property name="text">
|
|
||||||
<string>Scaled Dithering (scale dither pattern to resolution)</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0" colspan="2">
|
|
||||||
<widget class="QCheckBox" name="widescreenHack">
|
|
||||||
<property name="text">
|
|
||||||
<string>Widescreen Hack (render 3D in display aspect ratio)</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="0" colspan="2">
|
|
||||||
<widget class="QCheckBox" name="useSoftwareRendererForReadbacks">
|
|
||||||
<property name="text">
|
|
||||||
<string>Software Renderer Readbacks (run in parallel for VRAM->CPU transfers)</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -111,6 +76,52 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="4" column="0" colspan="2">
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QCheckBox" name="trueColor">
|
||||||
|
<property name="text">
|
||||||
|
<string>True Color Rendering</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QCheckBox" name="debanding">
|
||||||
|
<property name="text">
|
||||||
|
<string>True Color Debanding</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QCheckBox" name="scaledDithering">
|
||||||
|
<property name="text">
|
||||||
|
<string>Scaled Dithering</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QCheckBox" name="widescreenHack">
|
||||||
|
<property name="text">
|
||||||
|
<string>Widescreen Hack</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QCheckBox" name="useSoftwareRendererForReadbacks">
|
||||||
|
<property name="text">
|
||||||
|
<string>Software Renderer Readbacks</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QCheckBox" name="disableInterlacing">
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable Interlacing</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -119,32 +130,25 @@
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Display Enhancements</string>
|
<string>Display Enhancements</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QFormLayout" name="formLayout_3">
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
<item row="0" column="0" colspan="2">
|
<item row="0" column="0">
|
||||||
<widget class="QCheckBox" name="disableInterlacing">
|
|
||||||
<property name="text">
|
|
||||||
<string>Disable Interlacing (force progressive render/scan)</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0" colspan="2">
|
|
||||||
<widget class="QCheckBox" name="forceNTSCTimings">
|
|
||||||
<property name="text">
|
|
||||||
<string>Force NTSC Timings (60hz-on-PAL)</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0" colspan="2">
|
|
||||||
<widget class="QCheckBox" name="force43For24Bit">
|
<widget class="QCheckBox" name="force43For24Bit">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Force 4:3 For 24-Bit Display (disable widescreen for FMVs)</string>
|
<string>Force 4:3 For FMVs</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0" colspan="2">
|
<item row="0" column="1">
|
||||||
<widget class="QCheckBox" name="chromaSmoothingFor24Bit">
|
<widget class="QCheckBox" name="chromaSmoothingFor24Bit">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Chroma Smoothing For 24-Bit Display (reduce FMV color blockyness)</string>
|
<string>FMV Chroma Smoothing</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QCheckBox" name="forceNTSCTimings">
|
||||||
|
<property name="text">
|
||||||
|
<string>Force NTSC Timings</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
Loading…
Reference in a new issue