mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
Make FIFO watermark tightness configurable instead of hardcoding it.
To change it, right click the affected game in the iso list, select Properties, and enter some constant for "Watermark tightness". Reasonable values range from 20 to 200. FIFO seems unoverflowable on my computer no matter what I set this value to, so test whether tuning the value helps you ;P git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5907 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -321,6 +321,10 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
||||
arrayStringFor_Hack.Add(_("Skies of Arcadia"));
|
||||
Hack = new wxChoice(m_GameConfig, ID_HACK, wxDefaultPosition, wxDefaultSize, arrayStringFor_Hack, 0, wxDefaultValidator);
|
||||
|
||||
WMTightnessText = new wxStaticText(m_GameConfig, ID_WMTIGHTNESS_TEXT, wxT("Watermark tightness: "), wxDefaultPosition, wxDefaultSize);
|
||||
WMTightness = new wxTextCtrl(m_GameConfig, ID_WMTIGHTNESS, wxT(""), wxDefaultPosition, wxDefaultSize, 0, wxTextValidator(wxFILTER_NUMERIC));
|
||||
WMTightness->SetToolTip(wxT("Change this if you get lots of FIFO overflow errors. Reasonable values range from 0 to 200."));
|
||||
|
||||
// Emulation State
|
||||
sEmuState = new wxBoxSizer(wxHORIZONTAL);
|
||||
EmuStateText = new wxStaticText(m_GameConfig, ID_EMUSTATE_TEXT, _("Emulation State: "), wxDefaultPosition, wxDefaultSize);
|
||||
@ -348,8 +352,14 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
||||
sbVideoOverrides->Add(DstAlphaPass, 0, wxEXPAND|wxLEFT, 5);
|
||||
sbVideoOverrides->Add(UseXFB, 0, wxEXPAND|wxLEFT, 5);
|
||||
sbVideoOverrides->Add(BPHack, 0, wxEXPAND|wxLEFT, 5);
|
||||
sbVideoOverrides->Add(Hacktext, 0, wxEXPAND|wxLEFT, 5);
|
||||
sbVideoOverrides->Add(Hack, 0, wxEXPAND|wxLEFT, 5);
|
||||
|
||||
wxFlexGridSizer* fifosizer = new wxFlexGridSizer(2, 2, 0, 0);
|
||||
fifosizer->Add(Hacktext, 0, wxLEFT, 5);
|
||||
fifosizer->Add(Hack, 0, wxEXPAND|wxLEFT, 5);
|
||||
fifosizer->Add(WMTightnessText, 0, wxLEFT, 5);
|
||||
fifosizer->Add(WMTightness, 0, wxEXPAND|wxLEFT, 5);
|
||||
sbVideoOverrides->Add(fifosizer);
|
||||
|
||||
sbGameConfig->Add(sbCoreOverrides, 0, wxEXPAND);
|
||||
sbGameConfig->Add(sbWiiOverrides, 0, wxEXPAND);
|
||||
sbGameConfig->Add(sbVideoOverrides, 0, wxEXPAND);
|
||||
@ -846,6 +856,11 @@ void CISOProperties::LoadGameConfig()
|
||||
else
|
||||
BPHack->Set3StateValue(wxCHK_UNDETERMINED);
|
||||
|
||||
if (GameIni.Get("Video", "FIFOWatermarkTightness", &sTemp))
|
||||
WMTightness->SetValue(wxString(sTemp.c_str(), *wxConvCurrent));
|
||||
else
|
||||
WMTightness->SetValue(wxT("50"));
|
||||
|
||||
GameIni.Get("Video", "ProjectionHack", &iTemp, -1);
|
||||
Hack->SetSelection(iTemp);
|
||||
|
||||
@ -931,6 +946,15 @@ bool CISOProperties::SaveGameConfig()
|
||||
else
|
||||
GameIni.Set("Video", "ProjectionHack", Hack->GetSelection());
|
||||
|
||||
if (WMTightness->GetValue().size() == 0)
|
||||
GameIni.DeleteKey("Video", "FIFOWatermarkTightness");
|
||||
else
|
||||
{
|
||||
long val;
|
||||
WMTightness->GetValue().ToLong(&val);
|
||||
GameIni.Set("Video", "FIFOWatermarkTightness", (int)val);
|
||||
}
|
||||
|
||||
if (EmuState->GetSelection() == -1)
|
||||
GameIni.DeleteKey("EmuState", "EmulationStateId");
|
||||
else
|
||||
|
Reference in New Issue
Block a user