Qt: Add reset buttons for tolerance/depth threshold

pull/3754/head
Stenzek 4 weeks ago
parent b7b31ef979
commit 2c527f4f2c
No known key found for this signature in database

@ -213,6 +213,10 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
&GraphicsSettingsWidget::updatePGXPSettingsEnabled);
connect(m_ui.pgxpDepthBuffer, &QCheckBox::checkStateChanged, this,
&GraphicsSettingsWidget::updatePGXPSettingsEnabled);
connect(m_ui.resetPGXPGeometryTolerance, &QPushButton::clicked, this,
&GraphicsSettingsWidget::onResetPGXPGeometryToleranceClicked);
connect(m_ui.resetPGXPDepthClearThreshold, &QPushButton::clicked, this,
&GraphicsSettingsWidget::onResetPGXPDepthClearThresholdClicked);
SettingWidgetBinder::SetAvailability(m_ui.pgxpTextureCorrection,
!m_dialog->hasGameTrait(GameDatabase::Trait::DisablePGXPTextureCorrection));
@ -982,8 +986,10 @@ void GraphicsSettingsWidget::updatePGXPSettingsEnabled()
m_ui.pgxpVertexCache->setEnabled(enabled && !m_dialog->hasGameTrait(GameDatabase::Trait::ForcePGXPVertexCache));
m_ui.pgxpGeometryTolerance->setEnabled(enabled);
m_ui.pgxpGeometryToleranceLabel->setEnabled(enabled);
m_ui.resetPGXPGeometryTolerance->setEnabled(enabled);
m_ui.pgxpDepthClearThreshold->setEnabled(depth_enabled);
m_ui.pgxpDepthClearThresholdLabel->setEnabled(depth_enabled);
m_ui.resetPGXPDepthClearThreshold->setEnabled(depth_enabled);
m_ui.pgxpDisableOn2DPolygons->setEnabled(enabled &&
!m_dialog->hasGameTrait(GameDatabase::Trait::DisablePGXPOn2DPolygons));
m_ui.pgxpTransparentDepthTest->setEnabled(depth_enabled);
@ -1104,6 +1110,25 @@ void GraphicsSettingsWidget::onFineCropResetClicked()
}
}
void GraphicsSettingsWidget::onResetPGXPGeometryToleranceClicked()
{
m_dialog->setFloatSettingValue("GPU", "PGXPTolerance",
m_dialog->isPerGameSettings() ? std::nullopt : std::make_optional(-1.0f));
SettingWidgetBinder::DisconnectWidget(m_ui.pgxpGeometryTolerance);
SettingWidgetBinder::BindWidgetToFloatSetting(m_dialog->getSettingsInterface(), m_ui.pgxpGeometryTolerance, "GPU",
"PGXPTolerance", -1.0f);
}
void GraphicsSettingsWidget::onResetPGXPDepthClearThresholdClicked()
{
m_dialog->setFloatSettingValue(
"GPU", "PGXPDepthThreshold",
m_dialog->isPerGameSettings() ? std::nullopt : std::make_optional(Settings::DEFAULT_GPU_PGXP_DEPTH_THRESHOLD));
SettingWidgetBinder::DisconnectWidget(m_ui.pgxpDepthClearThreshold);
SettingWidgetBinder::BindWidgetToFloatSetting(m_dialog->getSettingsInterface(), m_ui.pgxpDepthClearThreshold, "GPU",
"PGXPDepthThreshold", Settings::DEFAULT_GPU_PGXP_DEPTH_THRESHOLD);
}
void GraphicsSettingsWidget::onEnableTextureCacheChanged()
{
const bool tc_enabled = m_dialog->getEffectiveBoolValue("GPU", "EnableTextureCache", false);

@ -48,12 +48,15 @@ private:
void updateRendererDependentOptions();
void updatePGXPSettingsEnabled();
void updateResolutionDependentOptions();
void warnAboutRendererChange();
void onDownsampleModeChanged();
void onFineCropModeChanged();
void onFineCropResetClicked();
void onResetPGXPGeometryToleranceClicked();
void onResetPGXPDepthClearThresholdClicked();
void onEnableTextureCacheChanged();
void onEnableAnyTextureDumpingChanged();
void onEnableAnyTextureReplacementsChanged();

@ -629,26 +629,41 @@
</widget>
</item>
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="pgxpGeometryTolerance">
<property name="prefix">
<string/>
</property>
<property name="suffix">
<string>px</string>
</property>
<property name="minimum">
<double>-1.000000000000000</double>
</property>
<property name="maximum">
<double>100.000000000000000</double>
</property>
<property name="singleStep">
<double>0.250000000000000</double>
</property>
<property name="value">
<double>-1.000000000000000</double>
</property>
</widget>
<layout class="QHBoxLayout" name="pgxpGeometryToleranceLayout" stretch="1,0">
<item>
<widget class="QDoubleSpinBox" name="pgxpGeometryTolerance">
<property name="prefix">
<string/>
</property>
<property name="suffix">
<string>px</string>
</property>
<property name="minimum">
<double>-1.000000000000000</double>
</property>
<property name="maximum">
<double>100.000000000000000</double>
</property>
<property name="singleStep">
<double>0.250000000000000</double>
</property>
<property name="value">
<double>-1.000000000000000</double>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="resetPGXPGeometryTolerance">
<property name="toolTip">
<string>Reset Sequence Length</string>
</property>
<property name="icon">
<iconset resource="resources/duckstation-qt.qrc">
<normaloff>:/icons/monochrome/svg/delete-back-2-line.svg</normaloff>:/icons/monochrome/svg/delete-back-2-line.svg</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="pgxpDepthClearThresholdLabel">
@ -658,11 +673,26 @@
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="pgxpDepthClearThreshold">
<property name="maximum">
<double>65536.000000000000000</double>
</property>
</widget>
<layout class="QHBoxLayout" name="pgxpDepthClearThresholdLayout" stretch="1,0">
<item>
<widget class="QDoubleSpinBox" name="pgxpDepthClearThreshold">
<property name="maximum">
<double>65536.000000000000000</double>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="resetPGXPDepthClearThreshold">
<property name="toolTip">
<string>Reset Sequence Length</string>
</property>
<property name="icon">
<iconset resource="resources/duckstation-qt.qrc">
<normaloff>:/icons/monochrome/svg/delete-back-2-line.svg</normaloff>:/icons/monochrome/svg/delete-back-2-line.svg</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0" colspan="2">
<layout class="QGridLayout" name="gridLayout">

Loading…
Cancel
Save