Add the ability to set UseRE0 hack in game.ini.

Tho at the moment there is a bug with changing it in the GUI  when ever you change it it automatically resets to nothing.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3193 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
death2droid 2009-05-10 12:33:47 +00:00
parent 9108a850b7
commit 941ca9d46c
5 changed files with 34 additions and 3 deletions

View file

@ -280,11 +280,14 @@ void CISOProperties::CreateGUIControls()
ProjHack1 = new wxCheckBox(m_GameConfig, ID_PROJHACK1, _("Projection Hack"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); ProjHack1 = new wxCheckBox(m_GameConfig, ID_PROJHACK1, _("Projection Hack"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
ForceFiltering = new wxCheckBox(m_GameConfig, ID_FORCEFILTERING, _("Force Filtering"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); ForceFiltering = new wxCheckBox(m_GameConfig, ID_FORCEFILTERING, _("Force Filtering"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
EFBCopyDisable = new wxCheckBox(m_GameConfig, ID_EFBCOPYDISABLE, _("Disable Copy to EFB"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); EFBCopyDisable = new wxCheckBox(m_GameConfig, ID_EFBCOPYDISABLE, _("Disable Copy to EFB"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
EFBCopyDisableHotKey = new wxCheckBox(m_GameConfig, ID_EFBCOPYDISABLEHOTKEY, _("With Hotkey E"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); EFBCopyDisableHotKey = new wxCheckBox(m_GameConfig, ID_EFBCOPYDISABLEHOTKEY, _("With Hotkey E"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
EFBToTextureEnable = new wxCheckBox(m_GameConfig, ID_EFBTOTEXTUREENABLE, _("Enable EFB To Texture"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); EFBToTextureEnable = new wxCheckBox(m_GameConfig, ID_EFBTOTEXTUREENABLE, _("Enable EFB To Texture"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
SafeTextureCache = new wxCheckBox(m_GameConfig, ID_SAFETEXTURECACHE, _("Safe Texture Cache"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); SafeTextureCache = new wxCheckBox(m_GameConfig, ID_SAFETEXTURECACHE, _("Safe Texture Cache"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
DstAlphaPass = new wxCheckBox(m_GameConfig, ID_DSTALPHAPASS, _("Distance Alpha Pass"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); DstAlphaPass = new wxCheckBox(m_GameConfig, ID_DSTALPHAPASS, _("Distance Alpha Pass"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
UseXFB = new wxCheckBox(m_GameConfig, ID_USEXFB, _("Use XFB"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator); UseXFB = new wxCheckBox(m_GameConfig, ID_USEXFB, _("Use XFB"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
//HLE Audio
sbHLEaudioOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("HLE Audio"));
UseRE0Fix = new wxCheckBox(m_GameConfig, ID_RE0FIX, _("Use RE0 Fix"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
// Manual edit config file // Manual edit config file
sEmuState = new wxBoxSizer(wxHORIZONTAL); sEmuState = new wxBoxSizer(wxHORIZONTAL);
EditConfig = new wxButton(m_GameConfig, ID_EDITCONFIG, _("Edit Config"), wxDefaultPosition, wxDefaultSize); EditConfig = new wxButton(m_GameConfig, ID_EDITCONFIG, _("Edit Config"), wxDefaultPosition, wxDefaultSize);
@ -311,14 +314,16 @@ void CISOProperties::CreateGUIControls()
sbVideoOverrides->Add(ProjHack1, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(ProjHack1, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(ForceFiltering, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(ForceFiltering, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(EFBCopyDisable, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(EFBCopyDisable, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(EFBCopyDisableHotKey, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(EFBCopyDisableHotKey, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(EFBToTextureEnable, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(EFBToTextureEnable, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(SafeTextureCache, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(SafeTextureCache, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(DstAlphaPass, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(DstAlphaPass, 0, wxEXPAND|wxLEFT, 5);
sbVideoOverrides->Add(UseXFB, 0, wxEXPAND|wxLEFT, 5); sbVideoOverrides->Add(UseXFB, 0, wxEXPAND|wxLEFT, 5);
sbHLEaudioOverrides->Add(UseRE0Fix, 0, wxEXPAND|wxLEFT, 5);
sbGameConfig->Add(sbCoreOverrides, 0, wxEXPAND); sbGameConfig->Add(sbCoreOverrides, 0, wxEXPAND);
sbGameConfig->Add(sbWiiOverrides, 0, wxEXPAND); sbGameConfig->Add(sbWiiOverrides, 0, wxEXPAND);
sbGameConfig->Add(sbVideoOverrides, 0, wxEXPAND); sbGameConfig->Add(sbVideoOverrides, 0, wxEXPAND);
sbGameConfig->Add(sbHLEaudioOverrides, 0, wxEXPAND);
sbGameConfig->Add(EditConfig); sbGameConfig->Add(EditConfig);
sConfigPage->Add(sbGameConfig, 0, wxEXPAND|wxALL, 5); sConfigPage->Add(sbGameConfig, 0, wxEXPAND|wxALL, 5);
sEmuState->Add(EmuStateText, 0, wxALIGN_CENTER_VERTICAL); sEmuState->Add(EmuStateText, 0, wxALIGN_CENTER_VERTICAL);
@ -646,6 +651,12 @@ void CISOProperties::LoadGameConfig()
else else
UseXFB->Set3StateValue(wxCHK_UNDETERMINED); UseXFB->Set3StateValue(wxCHK_UNDETERMINED);
if (GameIni.Get("HLEsound", "UseRE0Fix", &bTemp))
UseRE0Fix->Set3StateValue((wxCheckBoxState)bTemp);
else
UseRE0Fix->Set3StateValue(wxCHK_UNDETERMINED);
GameIni.Get("EmuState", "EmulationStateId", &iTemp, -1); GameIni.Get("EmuState", "EmulationStateId", &iTemp, -1);
if (iTemp == -1) if (iTemp == -1)
{ {
@ -744,6 +755,10 @@ bool CISOProperties::SaveGameConfig()
else else
GameIni.Set("Video", "UseXFB", UseXFB->Get3StateValue()); GameIni.Set("Video", "UseXFB", UseXFB->Get3StateValue());
if (UseRE0Fix->Get3StateValue() == wxCHK_UNDETERMINED)
GameIni.DeleteKey("HLEaudio", "UseRE0Fix");
else
GameIni.Set("HLEaudio", "UseRE0Fix", UseRE0Fix->Get3StateValue());
GameIni.Set("EmuState", "EmulationStateId", EmuState->GetSelection()); GameIni.Set("EmuState", "EmulationStateId", EmuState->GetSelection());
GameIni.Set("EmuState", "EmulationIssues", EmuIssues->GetValue()); GameIni.Set("EmuState", "EmulationIssues", EmuIssues->GetValue());

View file

@ -58,6 +58,7 @@ class CISOProperties : public wxDialog
wxStaticBoxSizer *sbCoreOverrides; wxStaticBoxSizer *sbCoreOverrides;
wxStaticBoxSizer *sbWiiOverrides; wxStaticBoxSizer *sbWiiOverrides;
wxStaticBoxSizer *sbVideoOverrides; wxStaticBoxSizer *sbVideoOverrides;
wxStaticBoxSizer *sbHLEaudioOverrides;
wxBoxSizer *sEmuState; wxBoxSizer *sEmuState;
wxBoxSizer *sPatches; wxBoxSizer *sPatches;
wxBoxSizer *sPatchButtons; wxBoxSizer *sPatchButtons;
@ -86,6 +87,8 @@ class CISOProperties : public wxDialog
wxCheckBox *ProjHack1, *ForceFiltering, wxCheckBox *ProjHack1, *ForceFiltering,
*EFBCopyDisable, *EFBCopyDisableHotKey, *EFBToTextureEnable, *EFBCopyDisable, *EFBCopyDisableHotKey, *EFBToTextureEnable,
*SafeTextureCache, *DstAlphaPass, *UseXFB; *SafeTextureCache, *DstAlphaPass, *UseXFB;
// HLE Audio
wxCheckBox *UseRE0Fix;
wxButton *EditConfig; wxButton *EditConfig;
wxStaticText *EmuStateText; wxStaticText *EmuStateText;
@ -160,6 +163,7 @@ class CISOProperties : public wxDialog
ID_SAFETEXTURECACHE, ID_SAFETEXTURECACHE,
ID_DSTALPHAPASS, ID_DSTALPHAPASS,
ID_USEXFB, ID_USEXFB,
ID_RE0FIX,
ID_ENABLEPROGRESSIVESCAN, ID_ENABLEPROGRESSIVESCAN,
ID_ENABLEWIDESCREEN, ID_ENABLEWIDESCREEN,
ID_OPTIMIZEQUANTIZERS, ID_OPTIMIZEQUANTIZERS,

View file

@ -15,6 +15,7 @@
// Official SVN repository and contact information can be found at // Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/ // http://code.google.com/p/dolphin-emu/
#include "Globals.h"
#include "Common.h" #include "Common.h"
#include "IniFile.h" #include "IniFile.h"
#include "Config.h" #include "Config.h"
@ -49,3 +50,13 @@ void CConfig::Save()
file.Save(FULL_CONFIG_DIR "DSP.ini"); file.Save(FULL_CONFIG_DIR "DSP.ini");
} }
void CConfig::GameIniLoad() {
IniFile *iniFile = ((struct SConfig *)globals->config)->m_LocalCoreStartupParameter.gameIni;
if (! iniFile)
return;
if (iniFile->Exists("HLEaudio", "UseRE0Fix"))
iniFile->Get("HLEaudio", "UseRE0Fix", &m_EnableRE0Fix, 0);
}

View file

@ -28,7 +28,7 @@ struct CConfig
CConfig(); CConfig();
void Load(); void Load();
void GameIniLoad();
void Save(); void Save();
}; };

View file

@ -32,6 +32,7 @@ ConfigDialog::ConfigDialog(wxWindow *parent, wxWindowID id, const wxString &titl
{ {
// Load config settings // Load config settings
g_Config.Load(); g_Config.Load();
g_Config.GameIniLoad();
// Center window // Center window
CenterOnParent(); CenterOnParent();