summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorShawn Hoffman <godisgovernment@gmail.com>2009-03-24 23:10:43 +0000
committerShawn Hoffman <godisgovernment@gmail.com>2009-03-24 23:10:43 +0000
commit8aee5f053e036f89d3473b2ddeab6e98a192de27 (patch)
treef2314953e115c141fd6a99d94343ef271eb8131e /Source/Core
parentf0852452854d1c4201480a0921aafcc2f1f9104c (diff)
ISOProperties: clean up
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2749 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinWX/Src/ISOProperties.cpp201
-rw-r--r--Source/Core/DolphinWX/Src/ISOProperties.h18
2 files changed, 113 insertions, 106 deletions
diff --git a/Source/Core/DolphinWX/Src/ISOProperties.cpp b/Source/Core/DolphinWX/Src/ISOProperties.cpp
index 5b15b42fc3..b2cbe7f08e 100644
--- a/Source/Core/DolphinWX/Src/ISOProperties.cpp
+++ b/Source/Core/DolphinWX/Src/ISOProperties.cpp
@@ -235,11 +235,10 @@ void CISOProperties::CreateGUIControls()
m_Notebook = new wxNotebook(this, ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize);
m_GameConfig = new wxPanel(m_Notebook, ID_GAMECONFIG, wxDefaultPosition, wxDefaultSize);
m_Notebook->AddPage(m_GameConfig, _("GameConfig"));
- m_GameConfig_Notebook = new wxNotebook(m_GameConfig, ID_GAMECONFIG_NOTEBOOK, wxDefaultPosition, wxDefaultSize);
- m_PatchPage = new wxPanel(m_GameConfig_Notebook, ID_PATCH_PAGE, wxDefaultPosition, wxDefaultSize);
- m_GameConfig_Notebook->AddPage(m_PatchPage, _("Patches"));
- m_CheatPage = new wxPanel(m_GameConfig_Notebook, ID_ARCODE_PAGE, wxDefaultPosition, wxDefaultSize);
- m_GameConfig_Notebook->AddPage(m_CheatPage, _("AR Codes"));
+ m_PatchPage = new wxPanel(m_Notebook, ID_PATCH_PAGE, wxDefaultPosition, wxDefaultSize);
+ m_Notebook->AddPage(m_PatchPage, _("Patches"));
+ m_CheatPage = new wxPanel(m_Notebook, ID_ARCODE_PAGE, wxDefaultPosition, wxDefaultSize);
+ m_Notebook->AddPage(m_CheatPage, _("AR Codes"));
m_Information = new wxPanel(m_Notebook, ID_INFORMATION, wxDefaultPosition, wxDefaultSize);
m_Notebook->AddPage(m_Information, _("Info"));
m_Filesystem = new wxPanel(m_Notebook, ID_FILESYSTEM, wxDefaultPosition, wxDefaultSize);
@@ -251,38 +250,81 @@ void CISOProperties::CreateGUIControls()
sButtons->Add(m_Close, 0, wxALL, 5);
- // GameConfig editing - Core overrides and emulation state
- sbCoreOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Game-Specific Settings"));
- sCoreOverrides = new wxBoxSizer(wxVERTICAL);
- EditConfig = new wxButton(m_GameConfig, ID_EDITCONFIG, _("Edit Config"), wxDefaultPosition, wxDefaultSize);
+ //////////////////////////////////////////////////////////////////////////
+ // GameConfig editing - Overrides and emulation state
+ sbGameConfig = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Game-Specific Settings"));
OverrideText = new wxStaticText(m_GameConfig, ID_OVERRIDE_TEXT, _("These settings override core Dolphin settings.\nThe 3rd state means the game uses Dolphin's setting."), wxDefaultPosition, wxDefaultSize);
+ // Core
+ sbCoreOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Core"));
UseDualCore = new wxCheckBox(m_GameConfig, ID_USEDUALCORE, _("Enable Dual Core"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
SkipIdle = new wxCheckBox(m_GameConfig, ID_IDLESKIP, _("Enable Idle Skipping"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
OptimizeQuantizers = new wxCheckBox(m_GameConfig, ID_OPTIMIZEQUANTIZERS, _("Optimize Quantizers"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
TLBHack = new wxCheckBox(m_GameConfig, ID_TLBHACK, _("TLB Hack"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
+ // Wii Console
+ sbWiiOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Wii Console"));
+ EnableProgressiveScan = new wxCheckBox(m_GameConfig, ID_ENABLEPROGRESSIVESCAN, _("Enable Progressive Scan"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
+ EnableWideScreen = new wxCheckBox(m_GameConfig, ID_ENABLEWIDESCREEN, _("Enable WideScreen"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
+ if (!DiscIO::IsVolumeWiiDisc(OpenISO))
+ {
+ sbWiiOverrides->ShowItems(false);
+ EnableProgressiveScan->Hide();
+ EnableWideScreen->Hide();
+ }
+ // Video
+ sbVideoOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Video"));
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);
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);
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);
UseXFB = new wxCheckBox(m_GameConfig, ID_USEXFB, _("Use XFB"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
- EnableProgressiveScan = new wxCheckBox(m_GameConfig, ID_ENABLEPROGRESSIVESCAN, _("[Wii] Enable Progressive Scan"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
- EnableWideScreen = new wxCheckBox(m_GameConfig, ID_ENABLEWIDESCREEN, _("[Wii] Enable WideScreen"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
-
+ // Manual edit config file
sEmuState = new wxBoxSizer(wxHORIZONTAL);
+ EditConfig = new wxButton(m_GameConfig, ID_EDITCONFIG, _("Edit Config"), wxDefaultPosition, wxDefaultSize);
+ // Emulation State
+ EmuStateText = new wxStaticText(m_GameConfig, ID_EMUSTATE_TEXT, _("Emulation State: "), wxDefaultPosition, wxDefaultSize);
arrayStringFor_EmuState.Add(_("Not Set"));
arrayStringFor_EmuState.Add(_("Broken"));
arrayStringFor_EmuState.Add(_("Problems: "));
arrayStringFor_EmuState.Add(_("Intro"));
arrayStringFor_EmuState.Add(_("In Game"));
arrayStringFor_EmuState.Add(_("Perfect"));
- EmuStateText = new wxStaticText(m_GameConfig, ID_EMUSTATE_TEXT, _("Emulation State: "), wxDefaultPosition, wxDefaultSize);
EmuState = new wxChoice(m_GameConfig, ID_EMUSTATE, wxDefaultPosition, wxDefaultSize, arrayStringFor_EmuState, 0, wxDefaultValidator);
+ EmuIssues = new wxTextCtrl(m_GameConfig,ID_EMU_ISSUES, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0,wxDefaultValidator);
+ wxBoxSizer* sConfigPage;
+ sConfigPage = new wxBoxSizer(wxVERTICAL);
+ sbGameConfig->Add(OverrideText, 0, wxEXPAND|wxALL, 5);
+ sbCoreOverrides->Add(UseDualCore, 0, wxEXPAND|wxLEFT, 5);
+ sbCoreOverrides->Add(SkipIdle, 0, wxEXPAND|wxLEFT, 5);
+ sbCoreOverrides->Add(TLBHack, 0, wxEXPAND|wxLEFT, 5);
+ sbCoreOverrides->Add(OptimizeQuantizers, 0, wxEXPAND|wxLEFT, 5);
+ sbWiiOverrides->Add(EnableProgressiveScan, 0, wxEXPAND|wxLEFT, 5);
+ sbWiiOverrides->Add(EnableWideScreen, 0, wxEXPAND|wxLEFT, 5);
+ sbVideoOverrides->Add(ProjHack1, 0, wxEXPAND|wxLEFT, 5);
+ sbVideoOverrides->Add(ForceFiltering, 0, wxEXPAND|wxLEFT, 5);
+ sbVideoOverrides->Add(EFBCopyDisable, 0, wxEXPAND|wxLEFT, 5);
+ sbVideoOverrides->Add(EFBCopyDisableHotKey, 0, wxEXPAND|wxLEFT, 5);
+ sbVideoOverrides->Add(EFBToTextureEnable, 0, wxEXPAND|wxLEFT, 5);
+ sbVideoOverrides->Add(SafeTextureCache, 0, wxEXPAND|wxLEFT, 5);
+ sbVideoOverrides->Add(DstAlphaPass, 0, wxEXPAND|wxLEFT, 5);
+ sbVideoOverrides->Add(UseXFB, 0, wxEXPAND|wxLEFT, 5);
+ sbGameConfig->Add(sbCoreOverrides, 0, wxEXPAND);
+ sbGameConfig->Add(sbWiiOverrides, 0, wxEXPAND);
+ sbGameConfig->Add(sbVideoOverrides, 0, wxEXPAND);
+ sbGameConfig->Add(EditConfig);
+ sConfigPage->Add(sbGameConfig, 0, wxEXPAND|wxALL, 5);
+ sEmuState->Add(EmuStateText, 0, wxALIGN_CENTER_VERTICAL);
+ sEmuState->Add(EmuState, 0, wxEXPAND);
+ sEmuState->Add(EmuIssues,1,wxEXPAND);
+ sConfigPage->Add(sEmuState, 0, wxEXPAND|wxALL, 5);
+ m_GameConfig->SetSizer(sConfigPage);
+ sConfigPage->Layout();
+
+ //////////////////////////////////////////////////////////////////////////
// Patches
- sbPatches = new wxStaticBoxSizer(wxVERTICAL, m_PatchPage, _("Patches"));
sPatches = new wxBoxSizer(wxVERTICAL);
Patches = new wxCheckListBox(m_PatchPage, ID_PATCHES_LIST, wxDefaultPosition, wxDefaultSize, arrayStringFor_Patches, wxLB_HSCROLL, wxDefaultValidator);
sPatchButtons = new wxBoxSizer(wxHORIZONTAL);
@@ -292,50 +334,6 @@ void CISOProperties::CreateGUIControls()
EditPatch->Enable(false);
RemovePatch->Enable(false);
- //issues
- sEmuIssues = new wxBoxSizer(wxHORIZONTAL);
- EmuIssues = new wxTextCtrl(m_GameConfig,ID_EMU_ISSUES, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0,wxDefaultValidator);
- EmuIssuesText = new wxStaticText(m_GameConfig,ID_EMUISSUES_TEXT,_("Emulation Issues (for when emustate is 'Problems'):"), wxDefaultPosition, wxDefaultSize);
-
- // Action Replay Cheats
- sbCheats = new wxStaticBoxSizer(wxVERTICAL, m_CheatPage, _("Action Replay Codes"));
- sCheats = new wxBoxSizer(wxVERTICAL);
- Cheats = new wxCheckListBox(m_CheatPage, ID_CHEATS_LIST, wxDefaultPosition, wxDefaultSize, arrayStringFor_Cheats, wxLB_HSCROLL, wxDefaultValidator);
- sCheatButtons = new wxBoxSizer(wxHORIZONTAL);
- EditCheat = new wxButton(m_CheatPage, ID_EDITCHEAT, _("Edit..."), wxDefaultPosition, wxDefaultSize, 0);
- AddCheat = new wxButton(m_CheatPage, ID_ADDCHEAT, _("Add..."), wxDefaultPosition, wxDefaultSize, 0);
- RemoveCheat = new wxButton(m_CheatPage, ID_REMOVECHEAT, _("Remove"), wxDefaultPosition, wxDefaultSize, 0);
- EditCheat->Enable(false);
- RemoveCheat->Enable(false);
-
- wxBoxSizer* sConfigPage;
- sConfigPage = new wxBoxSizer(wxVERTICAL);
- sCoreOverrides->Add(OverrideText, 0, wxEXPAND|wxALL, 5);
- sCoreOverrides->Add(UseDualCore, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(SkipIdle, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(TLBHack, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(ProjHack1, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(ForceFiltering, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(EFBCopyDisable, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(EFBCopyDisableHotKey, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(EFBToTextureEnable, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(SafeTextureCache, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(DstAlphaPass, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(UseXFB, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(OptimizeQuantizers, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(EnableProgressiveScan, 0, wxEXPAND|wxLEFT, 5);
- sCoreOverrides->Add(EnableWideScreen, 0, wxEXPAND|wxLEFT, 5);
- sEmuState->Add(EditConfig, 0, wxALL, 0);
- sEmuState->AddStretchSpacer();
- sEmuState->Add(EmuStateText, 0, wxALIGN_CENTER_VERTICAL|wxALL, 0);
- sEmuState->Add(EmuState, 0, wxALL, 0);
- sEmuIssues->Add(EmuIssuesText,0,wxALIGN_CENTER_VERTICAL|wxALL,0);
- sEmuIssues->Add(EmuIssues,0,wxEXPAND|wxRIGHT,0);
- sCoreOverrides->Add(sEmuState, 0, wxEXPAND|wxALL, 5);
- sCoreOverrides->Add(sEmuIssues,0,wxEXPAND|wxALL,5);
- sbCoreOverrides->Add(sCoreOverrides, 0, wxEXPAND|wxALL, 0);
- sConfigPage->Add(sbCoreOverrides, 0, wxEXPAND|wxALL, 5);
-
wxBoxSizer* sPatchPage;
sPatchPage = new wxBoxSizer(wxVERTICAL);
sPatches->Add(Patches, 1, wxEXPAND|wxALL, 0);
@@ -344,11 +342,21 @@ void CISOProperties::CreateGUIControls()
sPatchButtons->Add(AddPatch, 0, wxEXPAND|wxALL, 0);
sPatchButtons->Add(RemovePatch, 0, wxEXPAND|wxALL, 0);
sPatches->Add(sPatchButtons, 0, wxEXPAND|wxALL, 0);
- sbPatches->Add(sPatches, 1, wxEXPAND|wxALL, 0);
- sPatchPage->Add(sbPatches, 1, wxEXPAND|wxALL, 5);
+ sPatchPage->Add(sPatches, 1, wxEXPAND|wxALL, 5);
m_PatchPage->SetSizer(sPatchPage);
sPatchPage->Layout();
+ //////////////////////////////////////////////////////////////////////////
+ // Action Replay Cheats
+ sCheats = new wxBoxSizer(wxVERTICAL);
+ Cheats = new wxCheckListBox(m_CheatPage, ID_CHEATS_LIST, wxDefaultPosition, wxDefaultSize, arrayStringFor_Cheats, wxLB_HSCROLL, wxDefaultValidator);
+ sCheatButtons = new wxBoxSizer(wxHORIZONTAL);
+ EditCheat = new wxButton(m_CheatPage, ID_EDITCHEAT, _("Edit..."), wxDefaultPosition, wxDefaultSize, 0);
+ AddCheat = new wxButton(m_CheatPage, ID_ADDCHEAT, _("Add..."), wxDefaultPosition, wxDefaultSize, 0);
+ RemoveCheat = new wxButton(m_CheatPage, ID_REMOVECHEAT, _("Remove"), wxDefaultPosition, wxDefaultSize, 0);
+ EditCheat->Enable(false);
+ RemoveCheat->Enable(false);
+
wxBoxSizer* sCheatPage;
sCheatPage = new wxBoxSizer(wxVERTICAL);
sCheats->Add(Cheats, 1, wxEXPAND|wxALL, 0);
@@ -357,16 +365,11 @@ void CISOProperties::CreateGUIControls()
sCheatButtons->Add(AddCheat, 0, wxEXPAND|wxALL, 0);
sCheatButtons->Add(RemoveCheat, 0, wxEXPAND|wxALL, 0);
sCheats->Add(sCheatButtons, 0, wxEXPAND|wxALL, 0);
- sbCheats->Add(sCheats, 1, wxEXPAND|wxALL, 0);
- sCheatPage->Add(sbCheats, 1, wxEXPAND|wxALL, 5);
+ sCheatPage->Add(sCheats, 1, wxEXPAND|wxALL, 5);
m_CheatPage->SetSizer(sCheatPage);
sCheatPage->Layout();
- sConfigPage->Add(m_GameConfig_Notebook, 1, wxEXPAND|wxALL, 5);
-
- m_GameConfig->SetSizer(sConfigPage);
- sConfigPage->Layout();
-
+ //////////////////////////////////////////////////////////////////////////
// ISO Details
sbISODetails = new wxStaticBoxSizer(wxVERTICAL, m_Information, _("ISO Details"));
sISODetails = new wxGridBagSizer(0, 0);
@@ -437,19 +440,20 @@ void CISOProperties::CreateGUIControls()
sInfoPage->Add(sbBannerDetails, 0, wxEXPAND|wxALL, 5);
m_Information->SetSizer(sInfoPage);
sInfoPage->Layout();
-
+
+ //////////////////////////////////////////////////////////////////////////
// Filesystem tree
- sbTreectrl = new wxStaticBoxSizer(wxVERTICAL, m_Filesystem, _("Filesystem"));
m_Treectrl = new wxTreeCtrl(m_Filesystem, ID_TREECTRL, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE, wxDefaultValidator);
RootId = m_Treectrl->AddRoot(wxT("Disc"), -1, -1, 0);
wxBoxSizer* sTreePage;
sTreePage = new wxBoxSizer(wxVERTICAL);
- sbTreectrl->Add(m_Treectrl, 1, wxEXPAND);
- sTreePage->Add(sbTreectrl, 1, wxEXPAND|wxALL, 5);
+ sTreePage->Add(m_Treectrl, 1, wxEXPAND|wxALL, 5);
m_Filesystem->SetSizer(sTreePage);
sTreePage->Layout();
+ //////////////////////////////////////////////////////////////////////////
+ // Add notebook and buttons to the dialog
wxBoxSizer* sMain;
sMain = new wxBoxSizer(wxVERTICAL);
sMain->Add(m_Notebook, 1, wxEXPAND|wxALL, 5);
@@ -551,9 +555,12 @@ void CISOProperties::OnExtractDir(wxCommandEvent& WXUNUSED (event))
{
}
-void CISOProperties::SetRefresh(wxCommandEvent& WXUNUSED (event))
+void CISOProperties::SetRefresh(wxCommandEvent& event)
{
- bRefreshList = true;
+ bRefreshList = true;
+
+ if (event.GetId() == ID_EMUSTATE)
+ EmuIssues->Enable(event.GetSelection() == 2);
}
void CISOProperties::LoadGameConfig()
@@ -582,6 +589,18 @@ void CISOProperties::LoadGameConfig()
else
TLBHack->Set3StateValue(wxCHK_UNDETERMINED);
+
+ if (GameIni.Get("Wii", "ProgressiveScan", &bTemp))
+ EnableProgressiveScan->Set3StateValue((wxCheckBoxState)bTemp);
+ else
+ EnableProgressiveScan->Set3StateValue(wxCHK_UNDETERMINED);
+
+ if (GameIni.Get("Wii", "Widescreen", &bTemp))
+ EnableWideScreen->Set3StateValue((wxCheckBoxState)bTemp);
+ else
+ EnableWideScreen->Set3StateValue(wxCHK_UNDETERMINED);
+
+
if (GameIni.Get("Video", "ProjectionHax1", &bTemp))
ProjHack1->Set3StateValue((wxCheckBoxState)bTemp);
else
@@ -622,21 +641,11 @@ void CISOProperties::LoadGameConfig()
else
UseXFB->Set3StateValue(wxCHK_UNDETERMINED);
- if (GameIni.Get("Wii", "ProgressiveScan", &bTemp))
- EnableProgressiveScan->Set3StateValue((wxCheckBoxState)bTemp);
- else
- EnableProgressiveScan->Set3StateValue(wxCHK_UNDETERMINED);
-
- if (GameIni.Get("Wii", "Widescreen", &bTemp))
- EnableWideScreen->Set3StateValue((wxCheckBoxState)bTemp);
- else
- EnableWideScreen->Set3StateValue(wxCHK_UNDETERMINED);
-
GameIni.Get("EmuState", "EmulationStateId", &iTemp, -1);
if (iTemp == -1)
{
iTemp = 0;
- bRefreshList = true;
+ bRefreshList = true;
}
EmuState->SetSelection(iTemp);
@@ -646,6 +655,7 @@ void CISOProperties::LoadGameConfig()
EmuIssues->SetValue(wxString::FromAscii(sTemp.c_str()));
bRefreshList = true;
}
+ EmuIssues->Enable(EmuState->GetSelection() == 2);
PatchList_Load();
ActionReplayList_Load();
@@ -673,6 +683,16 @@ bool CISOProperties::SaveGameConfig()
else
GameIni.Set("Core", "TLBHack", TLBHack->Get3StateValue());
+ if (EnableProgressiveScan->Get3StateValue() == wxCHK_UNDETERMINED)
+ GameIni.DeleteKey("Wii", "ProgressiveScan");
+ else
+ GameIni.Set("Wii", "ProgressiveScan", EnableProgressiveScan->Get3StateValue());
+
+ if (EnableWideScreen->Get3StateValue() == wxCHK_UNDETERMINED)
+ GameIni.DeleteKey("Wii", "Widescreen");
+ else
+ GameIni.Set("Wii", "Widescreen", EnableWideScreen->Get3StateValue());
+
if (ProjHack1->Get3StateValue() == wxCHK_UNDETERMINED)
GameIni.DeleteKey("Video", "ProjectionHax1");
@@ -720,17 +740,6 @@ bool CISOProperties::SaveGameConfig()
GameIni.Set("Video", "UseXFB", UseXFB->Get3StateValue());
- if (EnableProgressiveScan->Get3StateValue() == wxCHK_UNDETERMINED)
- GameIni.DeleteKey("Wii", "ProgressiveScan");
- else
- GameIni.Set("Wii", "ProgressiveScan", EnableProgressiveScan->Get3StateValue());
-
- if (EnableWideScreen->Get3StateValue() == wxCHK_UNDETERMINED)
- GameIni.DeleteKey("Wii", "Widescreen");
- else
- GameIni.Set("Wii", "Widescreen", EnableWideScreen->Get3StateValue());
-
-
GameIni.Set("EmuState", "EmulationStateId", EmuState->GetSelection());
GameIni.Set("EmuState", "EmulationIssues", EmuIssues->GetValue());
diff --git a/Source/Core/DolphinWX/Src/ISOProperties.h b/Source/Core/DolphinWX/Src/ISOProperties.h
index 4e37619639..822e786a67 100644
--- a/Source/Core/DolphinWX/Src/ISOProperties.h
+++ b/Source/Core/DolphinWX/Src/ISOProperties.h
@@ -54,45 +54,44 @@ class CISOProperties : public wxDialog
DECLARE_EVENT_TABLE();
+ wxStaticBoxSizer *sbGameConfig;
wxStaticBoxSizer *sbCoreOverrides;
- wxBoxSizer *sCoreOverrides;
+ wxStaticBoxSizer *sbWiiOverrides;
+ wxStaticBoxSizer *sbVideoOverrides;
wxBoxSizer *sEmuState;
- wxBoxSizer *sEmuIssues;
- wxStaticBoxSizer *sbPatches;
wxBoxSizer *sPatches;
wxBoxSizer *sPatchButtons;
- wxStaticBoxSizer *sbCheats;
wxBoxSizer *sCheats;
wxBoxSizer *sCheatButtons;
wxStaticBoxSizer *sbISODetails;
wxGridBagSizer *sISODetails;
wxStaticBoxSizer *sbBannerDetails;
wxGridBagSizer *sBannerDetails;
- wxStaticBoxSizer *sbTreectrl;
wxButton *m_Close;
wxNotebook *m_Notebook;
wxPanel *m_GameConfig;
- wxNotebook *m_GameConfig_Notebook;
wxPanel *m_PatchPage;
wxPanel *m_CheatPage;
wxPanel *m_Information;
wxPanel *m_Filesystem;
wxStaticText *OverrideText;
+ // Core
wxCheckBox *UseDualCore, *SkipIdle, *OptimizeQuantizers, *TLBHack;
+ // Wii
+ wxCheckBox *EnableProgressiveScan, *EnableWideScreen;
+ // Video
wxCheckBox *ProjHack1, *ForceFiltering,
*EFBCopyDisable, *EFBCopyDisableHotKey, *EFBToTextureEnable,
- *SafeTextureCache, *DstAlphaPass, *UseXFB; // Video
- wxCheckBox *EnableProgressiveScan, *EnableWideScreen; // Wii
+ *SafeTextureCache, *DstAlphaPass, *UseXFB;
wxButton *EditConfig;
wxStaticText *EmuStateText;
wxArrayString arrayStringFor_EmuState;
wxChoice *EmuState;
wxTextCtrl *EmuIssues;
- wxStaticText *EmuIssuesText;
wxArrayString arrayStringFor_Patches;
wxCheckListBox *Patches;
wxButton *EditPatch;
@@ -143,7 +142,6 @@ class CISOProperties : public wxDialog
ID_NOTEBOOK,
ID_GAMECONFIG,
- ID_GAMECONFIG_NOTEBOOK,
ID_PATCH_PAGE,
ID_ARCODE_PAGE,
ID_SPEEDHACK_PAGE,