INI: created new deinterlace_mode config setting to force new default to Automatic

This commit is contained in:
sideprojectslab 2022-11-11 22:29:02 +01:00 committed by refractionpcsx2
parent 79b5f2154f
commit e9d256aa74
6 changed files with 9 additions and 7 deletions

View File

@ -108,7 +108,7 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsDialog* dialog, QWidget*
sif, m_ui.aspectRatio, "EmuCore/GS", "AspectRatio", Pcsx2Config::GSOptions::AspectRatioNames, AspectRatioType::RAuto4_3_3_2);
SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.fmvAspectRatio, "EmuCore/GS", "FMVAspectRatioSwitch",
Pcsx2Config::GSOptions::FMVAspectRatioSwitchNames, FMVAspectRatioSwitchType::Off);
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.interlacing, "EmuCore/GS", "deinterlace", DEFAULT_INTERLACE_MODE);
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.interlacing, "EmuCore/GS", "deinterlace_mode", DEFAULT_INTERLACE_MODE);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.bilinearFiltering, "EmuCore/GS", "linear_present", true);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.integerScaling, "EmuCore/GS", "IntegerScaling", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.PCRTCOffsets, "EmuCore/GS", "pcrtc_offsets", false);

View File

@ -52,7 +52,7 @@
#include <ShlObj.h>
#endif
static constexpr u32 SETTINGS_VERSION = 2;
static constexpr u32 SETTINGS_VERSION = 1;
namespace CommonHost
{

View File

@ -2866,7 +2866,7 @@ void FullscreenUI::DrawGraphicsSettingsPage()
"FMVAspectRatioSwitch", "Auto 4:3/3:2", Pcsx2Config::GSOptions::FMVAspectRatioSwitchNames,
Pcsx2Config::GSOptions::FMVAspectRatioSwitchNames, 0);
DrawIntListSetting(bsi, "Deinterlacing",
"Selects the algorithm used to convert the PS2's interlaced output to progressive for display.", "EmuCore/GS", "deinterlace",
"Selects the algorithm used to convert the PS2's interlaced output to progressive for display.", "EmuCore/GS", "deinterlace_mode",
static_cast<int>(GSInterlaceMode::Automatic), s_deinterlacing_options, std::size(s_deinterlacing_options));
DrawIntRangeSetting(bsi, "Zoom", "Increases or decreases the virtual picture size both horizontally and vertically.", "EmuCore/GS",
"Zoom", 100, 10, 300, "%d%%");

View File

@ -1455,7 +1455,7 @@ void GSApp::Init()
m_default_configuration["pcrtc_offsets"] = "0";
m_default_configuration["pcrtc_overscan"] = "0";
m_default_configuration["IntegerScaling"] = "0";
m_default_configuration["deinterlace"] = "7";
m_default_configuration["deinterlace_mode"] = "0";
m_default_configuration["linear_present"] = "1";
m_default_configuration["LoadTextureReplacements"] = "0";
m_default_configuration["LoadTextureReplacementsAsync"] = "1";
@ -1765,6 +1765,7 @@ BEGIN_HOTKEY_LIST(g_gs_hotkeys)
return;
static constexpr std::array<const char*, static_cast<int>(GSInterlaceMode::Count)> option_names = {{
"Automatic",
"Off",
"Weave (Top Field First)",
"Weave (Bottom Field First)",
@ -1772,7 +1773,8 @@ BEGIN_HOTKEY_LIST(g_gs_hotkeys)
"Bob (Bottom Field First)",
"Blend (Top Field First)",
"Blend (Bottom Field First)",
"Automatic",
"Adaptive (Top Field First)",
"Adaptive (Bottom Field First)",
}};
const GSInterlaceMode new_mode = static_cast<GSInterlaceMode>((static_cast<s32>(EmuConfig.GS.InterlaceMode) + 1) % static_cast<s32>(GSInterlaceMode::Count));

View File

@ -919,7 +919,7 @@ void GSRenderer::KeyEvent(const HostKeyEvent& e)
{
case VK_F5:
GSConfig.InterlaceMode = static_cast<GSInterlaceMode>((static_cast<int>(GSConfig.InterlaceMode) + static_cast<int>(GSInterlaceMode::Count) + step) % static_cast<int>(GSInterlaceMode::Count));
theApp.SetConfig("deinterlace", static_cast<int>(GSConfig.InterlaceMode));
theApp.SetConfig("deinterlace_mode", static_cast<int>(GSConfig.InterlaceMode));
printf("GS: Set deinterlace mode to %d (%s).\n", static_cast<int>(GSConfig.InterlaceMode), theApp.m_gs_deinterlace.at(static_cast<int>(GSConfig.InterlaceMode)).name.c_str());
return;
case VK_NEXT: // As requested by Prafull, to be removed later

View File

@ -585,7 +585,7 @@ void Pcsx2Config::GSOptions::ReloadIniSettings()
GSSettingBool(LoadTextureReplacementsAsync);
GSSettingBool(PrecacheTextureReplacements);
GSSettingIntEnumEx(InterlaceMode, "deinterlace");
GSSettingIntEnumEx(InterlaceMode, "deinterlace_mode");
GSSettingFloat(OsdScale);