mirror of https://github.com/PCSX2/pcsx2.git
PCSX2: Interlacing to Deinterlacing
There are some more strings but don't want to mess around with too much
This commit is contained in:
parent
19197fabe8
commit
d8b107f59c
|
@ -58,7 +58,7 @@ allowed_gs_hw_fixes = [
|
|||
"halfPixelOffset",
|
||||
"roundSprite",
|
||||
"texturePreloading",
|
||||
"interlace",
|
||||
"deinterlace",
|
||||
]
|
||||
gs_hw_fix_ranges = {
|
||||
"mipmap": (0, 2),
|
||||
|
@ -67,7 +67,7 @@ gs_hw_fix_ranges = {
|
|||
"skipDrawEnd": (0, 100000),
|
||||
"halfPixelOffset": (0, 3),
|
||||
"roundSprite": (0, 2),
|
||||
"interlace": (0, 7),
|
||||
"deinterlace": (0, 7),
|
||||
}
|
||||
allowed_speed_hacks = ["mvuFlagSpeedHack", "InstantVU1SpeedHack", "MTVUSpeedHack"]
|
||||
# Patches are allowed to have a 'default' key or a crc-32 key, followed by
|
||||
|
|
Binary file not shown.
|
@ -2748,7 +2748,7 @@ SCES-51164:
|
|||
name: "Mark of Kri, The"
|
||||
region: "PAL-M5"
|
||||
gsHWFixes:
|
||||
interlace: 3 # Game requires bob delinterlacing when auto
|
||||
deinterlace: 3 # Game requires bob deinterlacing when auto.
|
||||
SCES-51176:
|
||||
name: "Disney's Treasure Planet"
|
||||
region: "PAL-M4"
|
||||
|
@ -6190,7 +6190,7 @@ SCUS-97140:
|
|||
region: "NTSC-U"
|
||||
compat: 5
|
||||
gsHWFixes:
|
||||
interlace: 3 # Game requires bob delinterlacing when auto
|
||||
deinterlace: 3 # Game requires bob deinterlacing when auto.
|
||||
patches:
|
||||
DBD09DD4:
|
||||
content: |-
|
||||
|
@ -6412,7 +6412,7 @@ SCUS-97201:
|
|||
name: "Mark of Kri, The"
|
||||
region: "NTSC-U"
|
||||
gsHWFixes:
|
||||
interlace: 3 # Game requires bob delinterlacing when auto
|
||||
deinterlace: 3 # Game requires bob deinterlacing when auto.
|
||||
SCUS-97203:
|
||||
name: "Wild ARMs 3"
|
||||
region: "NTSC-U"
|
||||
|
@ -6492,7 +6492,7 @@ SCUS-97222:
|
|||
name: "Mark of Kri [Demo]"
|
||||
region: "NTSC-U"
|
||||
gsHWFixes:
|
||||
interlace: 3 # Game requires bob delinterlacing when auto
|
||||
deinterlace: 3 # Game requires bob deinterlacing when auto.
|
||||
SCUS-97223:
|
||||
name: "NFL GameDay 2003 [Demo]"
|
||||
region: "NTSC-U"
|
||||
|
@ -15829,7 +15829,7 @@ SLES-53621:
|
|||
region: "PAL-M5"
|
||||
compat: 5
|
||||
gsHWFixes:
|
||||
interlace: 3 # Game requires bob delinterlacing when auto
|
||||
deinterlace: 3 # Game requires bob deinterlacing when auto.
|
||||
SLES-53623:
|
||||
name: "Spongebob SquarePants - Battle for Bikini Bottom"
|
||||
region: "PAL-F"
|
||||
|
@ -24842,7 +24842,7 @@ SLPM-65310:
|
|||
name: "Mark of Kri, The"
|
||||
region: "NTSC-J"
|
||||
gsHWFixes:
|
||||
interlace: 3 # Game requires bob delinterlacing when auto
|
||||
deinterlace: 3 # Game requires bob deinterlacing when auto.
|
||||
SLPM-65311:
|
||||
name: "Violet no Atelier - Gramnad no Renkinjutsushi"
|
||||
region: "NTSC-J"
|
||||
|
@ -28141,7 +28141,7 @@ SLPM-66327:
|
|||
name: "Wallace and Gromit - The Curse of the Were-Rabbit"
|
||||
region: "NTSC-J"
|
||||
gsHWFixes:
|
||||
interlace: 3 # Game requires bob delinterlacing when auto
|
||||
deinterlace: 3 # Game requires bob deinterlacing when auto.
|
||||
SLPM-66328:
|
||||
name: "Call of Duty 2 - Big Red One"
|
||||
region: "NTSC-J"
|
||||
|
@ -41508,7 +41508,7 @@ SLUS-21312:
|
|||
region: "NTSC-U"
|
||||
compat: 5
|
||||
gsHWFixes:
|
||||
interlace: 3 # Game requires bob delinterlacing when auto
|
||||
deinterlace: 3 # Game requires bob deinterlacing when auto.
|
||||
SLUS-21313:
|
||||
name: "Friends - The One with all the Trivia"
|
||||
region: "NTSC-U"
|
||||
|
|
|
@ -141,21 +141,21 @@ The clamp modes are also numerically based.
|
|||
|
||||
### GS Hardware General Fixes
|
||||
|
||||
* conservativeFramebuffer [`0` or `1`] {Off or On} Default: On (`1`)
|
||||
* texturePreloading [`0` or `1` or `2`] {None, Partial or Full Hash Cache} Default: None (`0`)
|
||||
* interlace [Value between `0` to `7`] {Off, WeaveTFF, WeaveBFF, BobTFF, BobBFF, BlendTFF, BlendBFF, Automatic} Default: Automatic (No value, looks up GameDB)
|
||||
* conservativeFramebuffer [`0` or `1`] {Off or On} Default: On (`1`)
|
||||
* texturePreloading [`0` or `1` or `2`] {None, Partial or Full Hash Cache} Default: None (`0`)
|
||||
* deinterlace [Value between `0` to `7`] {Off, WeaveTFF, WeaveBFF, BobTFF, BobBFF, BlendTFF, BlendBFF, Automatic} Default: Automatic (No value, looks up GameDB)
|
||||
|
||||
### GS Hardware Renderer Fixes
|
||||
|
||||
* autoFlush [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* disableDepthSupport [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* autoFlush [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* disableDepthSupport [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* disablePartialInvalidation [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* cpuFramebufferConversion [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* wrapGSMem [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* preloadFrameData [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* textureInsideRT [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* halfBottomOverride [`0` or `1`] {Force-Disabled or Force-Enabled} Default: Automatic (No value, looks up GameDB)
|
||||
* pointListPalette [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* cpuFramebufferConversion [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* wrapGSMem [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* preloadFrameData [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* textureInsideRT [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
* halfBottomOverride [`0` or `1`] {Force-Disabled or Force-Enabled} Default: Automatic (No value, looks up GameDB)
|
||||
* pointListPalette [`0` or `1`] {Off or On} Default: Off (`0`)
|
||||
|
||||
### GS Hardware Upscaling Fixes
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* PCSX2 - PS2 Emulator for PCs
|
||||
* Copyright (C) 2002-2021 PCSX2 Dev Team
|
||||
* Copyright (C) 2002-2022 PCSX2 Dev Team
|
||||
*
|
||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||
|
@ -718,7 +718,7 @@ void GSgetTitleStats(std::string& info)
|
|||
{
|
||||
const char* api_name = HostDisplay::RenderAPIToString(s_render_api);
|
||||
const char* hw_sw_name = (GSConfig.Renderer == GSRendererType::Null) ? " Null" : (GSConfig.UseHardwareRenderer() ? " HW" : " SW");
|
||||
const char* deinterlace_mode = theApp.m_gs_interlace[static_cast<int>(GSConfig.InterlaceMode)].name.c_str();
|
||||
const char* deinterlace_mode = theApp.m_gs_deinterlace[static_cast<int>(GSConfig.InterlaceMode)].name.c_str();
|
||||
|
||||
#ifndef PCSX2_CORE
|
||||
int iwidth, iheight;
|
||||
|
@ -1209,14 +1209,14 @@ void GSApp::Init()
|
|||
// The null renderer goes last, it has use for benchmarking purposes in a release build
|
||||
m_gs_renderers.push_back(GSSetting(static_cast<u32>(GSRendererType::Null), "Null", ""));
|
||||
|
||||
m_gs_interlace.push_back(GSSetting(0, "None", ""));
|
||||
m_gs_interlace.push_back(GSSetting(1, "Weave tff", "saw-tooth"));
|
||||
m_gs_interlace.push_back(GSSetting(2, "Weave bff", "saw-tooth"));
|
||||
m_gs_interlace.push_back(GSSetting(3, "Bob tff", "use blend if shaking"));
|
||||
m_gs_interlace.push_back(GSSetting(4, "Bob bff", "use blend if shaking"));
|
||||
m_gs_interlace.push_back(GSSetting(5, "Blend tff", "slight blur, 1/2 fps"));
|
||||
m_gs_interlace.push_back(GSSetting(6, "Blend bff", "slight blur, 1/2 fps"));
|
||||
m_gs_interlace.push_back(GSSetting(7, "Automatic", "Default"));
|
||||
m_gs_deinterlace.push_back(GSSetting(0, "None", ""));
|
||||
m_gs_deinterlace.push_back(GSSetting(1, "Weave tff", "saw-tooth"));
|
||||
m_gs_deinterlace.push_back(GSSetting(2, "Weave bff", "saw-tooth"));
|
||||
m_gs_deinterlace.push_back(GSSetting(3, "Bob tff", "use blend if shaking"));
|
||||
m_gs_deinterlace.push_back(GSSetting(4, "Bob bff", "use blend if shaking"));
|
||||
m_gs_deinterlace.push_back(GSSetting(5, "Blend tff", "slight blur, 1/2 fps"));
|
||||
m_gs_deinterlace.push_back(GSSetting(6, "Blend bff", "slight blur, 1/2 fps"));
|
||||
m_gs_deinterlace.push_back(GSSetting(7, "Automatic", "Default"));
|
||||
|
||||
m_gs_upscale_multiplier.push_back(GSSetting(1, "Native", "PS2"));
|
||||
m_gs_upscale_multiplier.push_back(GSSetting(2, "2x Native", "~720p"));
|
||||
|
@ -1339,7 +1339,7 @@ void GSApp::Init()
|
|||
m_default_configuration["fxaa"] = "0";
|
||||
m_default_configuration["HWDisableReadbacks"] = "0";
|
||||
m_default_configuration["IntegerScaling"] = "0";
|
||||
m_default_configuration["interlace"] = "7";
|
||||
m_default_configuration["deinterlace"] = "7";
|
||||
m_default_configuration["conservative_framebuffer"] = "1";
|
||||
m_default_configuration["linear_present"] = "1";
|
||||
m_default_configuration["LoadTextureReplacements"] = "0";
|
||||
|
@ -1627,7 +1627,7 @@ BEGIN_HOTKEY_LIST(g_gs_hotkeys){
|
|||
s_gs->PurgePool();
|
||||
});
|
||||
}},
|
||||
{"CycleInterlaceMode", "Graphics", "Cycle Interlace Mode", [](bool pressed) {
|
||||
{"CycleInterlaceMode", "Graphics", "Cycle Deinterlace Mode", [](bool pressed) {
|
||||
if (pressed)
|
||||
return;
|
||||
|
||||
|
|
|
@ -127,7 +127,7 @@ public:
|
|||
void SetConfigDir();
|
||||
|
||||
std::vector<GSSetting> m_gs_renderers;
|
||||
std::vector<GSSetting> m_gs_interlace;
|
||||
std::vector<GSSetting> m_gs_deinterlace;
|
||||
std::vector<GSSetting> m_gs_upscale_multiplier;
|
||||
std::vector<GSSetting> m_gs_max_anisotropy;
|
||||
std::vector<GSSetting> m_gs_dithering;
|
||||
|
|
|
@ -643,7 +643,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("interlace", static_cast<int>(GSConfig.InterlaceMode));
|
||||
printf("GS: Set deinterlace mode to %d (%s).\n", static_cast<int>(GSConfig.InterlaceMode), theApp.m_gs_interlace.at(static_cast<int>(GSConfig.InterlaceMode)).name.c_str());
|
||||
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_DELETE:
|
||||
GSConfig.AA1 = !GSConfig.AA1;
|
||||
|
|
|
@ -617,7 +617,7 @@ Dialog::Dialog()
|
|||
m_adapter_select = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, {});
|
||||
top_grid->Add(m_adapter_select, wxSizerFlags().Expand());
|
||||
|
||||
m_ui.addComboBoxAndLabel(top_grid, "Deinterlacing (F5):", "interlace", &theApp.m_gs_interlace);
|
||||
m_ui.addComboBoxAndLabel(top_grid, "Deinterlacing (F5):", "deinterlace", &theApp.m_gs_deinterlace);
|
||||
|
||||
m_bifilter_select = m_ui.addComboBoxAndLabel(top_grid, "Texture Filtering:", "filter", &theApp.m_gs_bifilter, IDC_FILTER).first;
|
||||
|
||||
|
|
|
@ -286,7 +286,7 @@ static const char* s_gs_hw_fix_names[] = {
|
|||
"halfPixelOffset",
|
||||
"roundSprite",
|
||||
"texturePreloading",
|
||||
"interlace",
|
||||
"deinterlace",
|
||||
};
|
||||
static_assert(std::size(s_gs_hw_fix_names) == static_cast<u32>(GameDatabaseSchema::GSHWFixId::Count), "HW fix name lookup is correct size");
|
||||
|
||||
|
@ -310,7 +310,7 @@ bool GameDatabaseSchema::isUserHackHWFix(GSHWFixId id)
|
|||
{
|
||||
switch (id)
|
||||
{
|
||||
case GSHWFixId::Interlace:
|
||||
case GSHWFixId::Deinterlace:
|
||||
case GSHWFixId::Mipmap:
|
||||
case GSHWFixId::TexturePreloading:
|
||||
case GSHWFixId::ConservativeFramebuffer:
|
||||
|
@ -552,13 +552,13 @@ u32 GameDatabaseSchema::GameEntry::applyGSHardwareFixes(Pcsx2Config::GSOptions&
|
|||
}
|
||||
break;
|
||||
|
||||
case GSHWFixId::Interlace:
|
||||
case GSHWFixId::Deinterlace:
|
||||
if (value >= 0 && value <= static_cast<int>(GSInterlaceMode::Automatic))
|
||||
{
|
||||
if (config.InterlaceMode == GSInterlaceMode::Automatic)
|
||||
config.InterlaceMode = static_cast<GSInterlaceMode>(value);
|
||||
else
|
||||
Console.Warning("[GameDB] Game requires different interlace mode but it has been overridden by user setting.");
|
||||
Console.Warning("[GameDB] Game requires different deinterlace mode but it has been overridden by user setting.");
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ namespace GameDatabaseSchema
|
|||
HalfPixelOffset,
|
||||
RoundSprite,
|
||||
TexturePreloading,
|
||||
Interlace,
|
||||
Deinterlace,
|
||||
|
||||
Count
|
||||
};
|
||||
|
|
|
@ -552,7 +552,7 @@ void Pcsx2Config::GSOptions::ReloadIniSettings()
|
|||
GSSettingBoolEx(LoadTextureReplacementsAsync, "LoadTextureReplacementsAsync");
|
||||
GSSettingBoolEx(PrecacheTextureReplacements, "PrecacheTextureReplacements");
|
||||
|
||||
GSSettingIntEnumEx(InterlaceMode, "interlace");
|
||||
GSSettingIntEnumEx(InterlaceMode, "deinterlace");
|
||||
|
||||
GSSettingFloat(OsdScale);
|
||||
|
||||
|
|
Loading…
Reference in New Issue