diff --git a/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp b/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp index bda0490221..037fa49c44 100644 --- a/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp +++ b/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp @@ -194,7 +194,7 @@ void CEXIMemoryCard::SetCS(int cs) if (m_uPosition > 2) { memset(memory_card_content, 0xFF, memory_card_size); - status &= ~0x80; + status &= ~MC_STATUS_BUSY; } break; diff --git a/Source/Core/DolphinWX/Src/AboutDolphin.cpp b/Source/Core/DolphinWX/Src/AboutDolphin.cpp index d690fe62bb..80655afd59 100644 --- a/Source/Core/DolphinWX/Src/AboutDolphin.cpp +++ b/Source/Core/DolphinWX/Src/AboutDolphin.cpp @@ -80,7 +80,6 @@ void AboutDolphin::CreateGUIControls() this->SetSizer(sMain); sMain->Layout(); - SetIcon(wxNullIcon); CenterOnParent(); Fit(); } diff --git a/Source/Core/DolphinWX/Src/ConfigMain.cpp b/Source/Core/DolphinWX/Src/ConfigMain.cpp index 0ebb67a95c..9badfabe71 100644 --- a/Source/Core/DolphinWX/Src/ConfigMain.cpp +++ b/Source/Core/DolphinWX/Src/ConfigMain.cpp @@ -26,9 +26,7 @@ BEGIN_EVENT_TABLE(CConfigMain, wxDialog) EVT_CLOSE(CConfigMain::OnClose) -EVT_BUTTON(ID_OK, CConfigMain::OKClick) -EVT_BUTTON(ID_APPLY, CConfigMain::OKClick) -EVT_BUTTON(ID_CANCEL, CConfigMain::OKClick) +EVT_BUTTON(ID_CLOSE, CConfigMain::CloseClick) EVT_CHECKBOX(ID_ALLWAYS_HLEBIOS, CConfigMain::CoreSettingsChanged) EVT_CHECKBOX(ID_USEDYNAREC, CConfigMain::CoreSettingsChanged) EVT_CHECKBOX(ID_USEDUALCORE, CConfigMain::CoreSettingsChanged) @@ -63,7 +61,7 @@ CConfigMain::CConfigMain(wxWindow* parent, wxWindowID id, const wxString& title, : wxDialog(parent, id, title, position, size, style) { bRefreshList = false; - + // Load Wii SYSCONF pStream = NULL; pStream = fopen("./WII/shared2/sys/SYSCONF", "rb"); @@ -86,6 +84,10 @@ CConfigMain::~CConfigMain() void CConfigMain::CreateGUIControls() { + // Why does this not work? some restriction is needed so that huge + // ISO paths dont cause the dialog to become gargantuan + SetMaxSize(wxSize(350, 350)); + Notebook = new wxNotebook(this, ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize); GeneralPage = new wxPanel(Notebook, ID_GENERALPAGE, wxDefaultPosition, wxDefaultSize); @@ -99,17 +101,12 @@ void CConfigMain::CreateGUIControls() PluginPage = new wxPanel(Notebook, ID_PLUGINPAGE, wxDefaultPosition, wxDefaultSize); Notebook->AddPage(PluginPage, wxT("Plugins")); - OK = new wxButton(this, ID_OK, wxT("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); - Cancel = new wxButton(this, ID_CANCEL, wxT("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); - Apply = new wxButton(this, ID_APPLY, wxT("Apply"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); - Apply->Disable(); + m_Close = new wxButton(this, ID_CLOSE, wxT("Close"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); wxBoxSizer* sButtons; sButtons = new wxBoxSizer(wxHORIZONTAL); sButtons->Add(0, 0, 1, wxEXPAND, 5); - sButtons->Add(OK, 0, wxALL, 5); - sButtons->Add(Cancel, 0, wxALL, 5); - sButtons->Add(Apply, 0, wxALL, 5); + sButtons->Add(m_Close, 0, wxALL, 5); wxBoxSizer* sMain; sMain = new wxBoxSizer(wxVERTICAL); @@ -125,7 +122,7 @@ void CConfigMain::CreateGUIControls() UseDualCore->SetValue(SConfig::GetInstance().m_LocalCoreStartupParameter.bUseDualCore); SkipIdle = new wxCheckBox(GeneralPage, ID_IDLESKIP, wxT("Enable Idle Skipping"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); SkipIdle->SetValue(SConfig::GetInstance().m_LocalCoreStartupParameter.bSkipIdle); - EnableCheats = new wxCheckBox(GeneralPage, ID_ENABLECHEATS, wxT("Enable cheats"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + EnableCheats = new wxCheckBox(GeneralPage, ID_ENABLECHEATS, wxT("Enable Cheats"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); EnableCheats->SetValue(SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableCheats); sbAdvanced = new wxStaticBoxSizer(wxVERTICAL, GeneralPage, wxT("Advanced Settings")); @@ -300,46 +297,31 @@ void CConfigMain::CreateGUIControls() sPlugins->Add(sbWiimotePlugin, 0, wxEXPAND|wxALL, 5); PluginPage->SetSizer(sPlugins); sPlugins->Layout(); - - SetIcon(wxNullIcon); Fit(); + Center(); } void CConfigMain::OnClose(wxCloseEvent& WXUNUSED (event)) { Destroy(); + + // Save Wii SYSCONF + pStream = NULL; + pStream = fopen("./WII/shared2/sys/SYSCONF", "wb"); + if (pStream != NULL) + { + fwrite(m_SYSCONF, 1, 0x4000, pStream); + fclose(pStream); + } + else + { + PanicAlert("Could not write to Wii SYSCONF"); + } } -void CConfigMain::OKClick(wxCommandEvent& event) +void CConfigMain::CloseClick(wxCommandEvent& WXUNUSED (event)) { - switch (event.GetId()) - { - case ID_OK: - DoApply(); - Destroy(); - - // Save Wii SYSCONF - pStream = NULL; - pStream = fopen("./WII/shared2/sys/SYSCONF", "wb"); - if (pStream != NULL) - { - fwrite(m_SYSCONF, 1, 0x4000, pStream); - fclose(pStream); - } - else - { - PanicAlert("Could not write to Wii SYSCONF"); - } - break; - - case ID_APPLY: - DoApply(); - break; - - case ID_CANCEL: - Destroy(); - break; - } + Close(); } void CConfigMain::CoreSettingsChanged(wxCommandEvent& event) @@ -464,7 +446,10 @@ void CConfigMain::DVDRootChanged(wxFileDirPickerEvent& WXUNUSED (event)) void CConfigMain::OnSelectionChanged(wxCommandEvent& WXUNUSED (event)) { - Apply->Enable(); + GetFilename(GraphicSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin); + GetFilename(DSPSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin); + GetFilename(PADSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strPadPlugin); + GetFilename(WiimoteSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strWiimotePlugin); } void CConfigMain::OnConfig(wxCommandEvent& event) @@ -529,18 +514,6 @@ void CConfigMain::CallConfig(wxChoice* _pChoice) } } -void CConfigMain::DoApply() -{ - Apply->Disable(); - - GetFilename(GraphicSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strVideoPlugin); - GetFilename(DSPSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strDSPPlugin); - GetFilename(PADSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strPadPlugin); - GetFilename(WiimoteSelection, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strWiimotePlugin); - - SConfig::GetInstance().SaveSettings(); -} - bool CConfigMain::GetFilename(wxChoice* _pChoice, std::string& _rFilename) { _rFilename.clear(); diff --git a/Source/Core/DolphinWX/Src/ConfigMain.h b/Source/Core/DolphinWX/Src/ConfigMain.h index 758079ea63..56d097d31b 100644 --- a/Source/Core/DolphinWX/Src/ConfigMain.h +++ b/Source/Core/DolphinWX/Src/ConfigMain.h @@ -35,7 +35,7 @@ class CConfigMain CConfigMain(wxWindow* parent, wxWindowID id = 1, const wxString& title = wxT("Dolphin Configuration"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = CONFIG_MAIN_STYLE); virtual ~CConfigMain(); - void OKClick(wxCommandEvent& event); + void CloseClick(wxCommandEvent& event); void OnSelectionChanged(wxCommandEvent& event); void OnConfig(wxCommandEvent& event); @@ -73,9 +73,7 @@ class CConfigMain wxPanel *PathsPage; wxPanel *PluginPage; - wxButton* OK; - wxButton* Cancel; - wxButton* Apply; + wxButton* m_Close; wxCheckBox* AllwaysHLEBIOS; wxCheckBox* UseDynaRec; @@ -190,9 +188,7 @@ class CConfigMain ID_WIIPAGE, ID_PATHSPAGE, ID_PLUGINPAGE, - ID_CANCEL, - ID_APPLY, - ID_OK, + ID_CLOSE, ID_ALLWAYS_HLEBIOS, ID_USEDYNAREC, ID_USEDUALCORE, @@ -227,16 +223,14 @@ class CConfigMain ID_PAD_ABOUT , ID_PAD_CONFIG, ID_PAD_CB, - ID_DSP_ABOUT , + ID_DSP_ABOUT, ID_DSP_CONFIG, ID_DSP_TEXT, ID_DSP_CB, - ID_GRAPHIC_ABOUT , + ID_GRAPHIC_ABOUT, ID_GRAPHIC_CONFIG, ID_GRAPHIC_TEXT, - ID_GRAPHIC_CB, - - ID_DUMMY_VALUE_ //don't remove this value unless you have other enum values + ID_GRAPHIC_CB }; void CreateGUIControls(); @@ -252,9 +246,6 @@ class CConfigMain void FillChoiceBox(wxChoice* _pChoice, int _PluginType, const std::string& _SelectFilename); void CallConfig(wxChoice* _pChoice); - //void CallAbout(wxChoice* _pChoice); - - void DoApply(); bool GetFilename(wxChoice* _pChoice, std::string& _rFilename); }; diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp index 62dd6b1062..c82b3199f0 100644 --- a/Source/Core/DolphinWX/Src/Frame.cpp +++ b/Source/Core/DolphinWX/Src/Frame.cpp @@ -383,18 +383,8 @@ void CFrame::OnHelp(wxCommandEvent& event) { case IDM_HELPABOUT: { - #ifdef _WIN32 - wxWindow win; - win.SetHWND(this->GetHWND()); - AboutDolphin frame(&win); - frame.ShowModal(); - win.SetHWND(0); - #else - wxWindow win; - AboutDolphin frame(&win); - frame.ShowModal(); - - #endif + AboutDolphin frame(this); + frame.ShowModal(); break; } case IDM_HELPWEBSITE: diff --git a/Source/Core/DolphinWX/Src/GameListCtrl.cpp b/Source/Core/DolphinWX/Src/GameListCtrl.cpp index e002194925..de0919f635 100644 --- a/Source/Core/DolphinWX/Src/GameListCtrl.cpp +++ b/Source/Core/DolphinWX/Src/GameListCtrl.cpp @@ -572,7 +572,7 @@ void CGameListCtrl::OnDeleteGCM(wxCommandEvent& WXUNUSED (event)) const GameListItem *iso = GetSelectedISO(); if (!iso) return; - if (wxMessageBox(_T("Are you sure you want to delete this file?"), + if (wxMessageBox(_T("Are you sure you want to delete this file?\nIt will be gone forever!"), wxMessageBoxCaptionStr, wxYES_NO|wxICON_EXCLAMATION) == wxYES) { File::Delete(iso->GetFileName().c_str()); diff --git a/Source/Plugins/Plugin_PadSimple/Src/GUI/ConfigDlg.cpp b/Source/Plugins/Plugin_PadSimple/Src/GUI/ConfigDlg.cpp index 91e1b4ef38..9c733d7104 100644 --- a/Source/Plugins/Plugin_PadSimple/Src/GUI/ConfigDlg.cpp +++ b/Source/Plugins/Plugin_PadSimple/Src/GUI/ConfigDlg.cpp @@ -66,6 +66,7 @@ ConfigDialog::ConfigDialog(wxWindow *parent, wxWindowID id, const wxString &titl #endif clickedButton = NULL; CreateGUIControls(); + Fit(); } ConfigDialog::~ConfigDialog() @@ -233,9 +234,6 @@ void ConfigDialog::CreateGUIControls() m_Controller[i]->SetSizer(sPage[i]); sPage[i]->Layout(); } - - SetIcon(wxNullIcon); - Fit(); } void ConfigDialog::OnClose(wxCloseEvent& event) diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Config.cpp b/Source/Plugins/Plugin_VideoOGL/Src/Config.cpp index 4f56f109b2..3178a75c2b 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/Config.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/Config.cpp @@ -70,14 +70,12 @@ void Config::Load() iniFile.Get("Settings", "WireFrame", &bWireFrame, 0); iniFile.Get("Settings", "DisableLighting", &bDisableLighting, 0); iniFile.Get("Settings", "DisableTexturing", &bDisableTexturing, 0); - iniFile.Get("Settings", "DisableCulling", &bDisableCulling, 0); iniFile.Get("Enhancements", "ForceFiltering", &bForceFiltering, 0); iniFile.Get("Enhancements", "ForceMaxAniso", &bForceMaxAniso, 0); iniFile.Get("Enhancements", "StretchToFit", &bStretchToFit, false); iniFile.Get("Enhancements", "KeepAR", &bKeepAR, false); - iniFile.Get("Hacks", "InvertDepth", &bInvertDepth, 0); iniFile.Get("Hacks", "EFBToTextureDisable", &bEBFToTextureDisable, 0); } @@ -104,14 +102,12 @@ void Config::Save() iniFile.Set("Settings", "Wireframe", bWireFrame); iniFile.Set("Settings", "DisableLighting", bDisableLighting); iniFile.Set("Settings", "DisableTexturing", bDisableTexturing); - iniFile.Set("Settings", "DisableCulling", bDisableCulling); iniFile.Set("Enhancements", "ForceFiltering", bForceFiltering); iniFile.Set("Enhancements", "ForceMaxAniso", bForceMaxAniso); iniFile.Set("Enhancements", "StretchToFit", bStretchToFit); iniFile.Set("Enhancements", "KeepAR", bKeepAR); - iniFile.Set("Hacks", "InvertDepth", bInvertDepth); iniFile.Set("Hacks", "EFBToTextureDisable", bEBFToTextureDisable); iniFile.Save("gfx_opengl.ini"); diff --git a/Source/Plugins/Plugin_VideoOGL/Src/Config.h b/Source/Plugins/Plugin_VideoOGL/Src/Config.h index 336c87155c..b893decf63 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/Config.h +++ b/Source/Plugins/Plugin_VideoOGL/Src/Config.h @@ -54,14 +54,12 @@ struct Config bool bWireFrame; bool bDisableLighting; bool bDisableTexturing; - bool bDisableCulling; // Utility char texDumpPath[280]; bool bDumpTextures; // Hacks - bool bInvertDepth; bool bEBFToTextureDisable; int iLog; // CONF_ bits diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp b/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp index baa76ab3eb..f783f4cd95 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.cpp @@ -26,29 +26,27 @@ BEGIN_EVENT_TABLE(ConfigDialog,wxDialog) EVT_CLOSE(ConfigDialog::OnClose) EVT_BUTTON(ID_CANCEL,ConfigDialog::OKClick) EVT_BUTTON(ID_OK,ConfigDialog::OKClick) - EVT_BUTTON(ID_GRAPHIC_ABOUT,ConfigDialog::DllAbout) - EVT_CHECKBOX(ID_FULLSCREEN,ConfigDialog::FullScreenCheck) - EVT_CHECKBOX(ID_RENDERTOMAINWINDOW,ConfigDialog::RenderMainCheck) - EVT_COMBOBOX(ID_FULLSCREENCB,ConfigDialog::FSCB) - EVT_COMBOBOX(ID_WINDOWRESOLUTIONCB,ConfigDialog::WMCB) - EVT_COMBOBOX(ID_ALIASMODECB,ConfigDialog::AACB) - EVT_CHECKBOX(ID_FORCEFILTERING,ConfigDialog::ForceFilteringCheck) - EVT_CHECKBOX(ID_FORCEANISOTROPY,ConfigDialog::ForceAnisotropyCheck) - EVT_CHECKBOX(ID_STRETCHTOFIT,ConfigDialog::StretchToFitCheck) - EVT_CHECKBOX(ID_KEEPAR,ConfigDialog::KeepARCheck) - EVT_CHECKBOX(ID_WIREFRAME,ConfigDialog::WireframeCheck) - EVT_CHECKBOX(ID_SHOWFPS,ConfigDialog::ShowFPSCheck) - EVT_CHECKBOX(ID_STATISTICS,ConfigDialog::OverlayCheck) - EVT_CHECKBOX(ID_SHADERERRORS,ConfigDialog::ShowShaderErrorsCheck) - EVT_CHECKBOX(ID_TEXFMTOVERLAY,ConfigDialog::TexFmtOverlayChange) - EVT_CHECKBOX(ID_TEXFMTCENTER,ConfigDialog::TexFmtOverlayChange) - EVT_CHECKBOX(ID_USEXFB,ConfigDialog::UseXFBChange) - EVT_CHECKBOX(ID_DUMPTEXTURES,ConfigDialog::DumpTexturesChange) - EVT_CHECKBOX(ID_INVERTDEPTH,ConfigDialog::InvertDepth) - EVT_CHECKBOX(ID_DISABLELIGHTING,ConfigDialog::DisableLighting) - EVT_CHECKBOX(ID_DISABLETEXTURING,ConfigDialog::DisableTexturing) - EVT_CHECKBOX(ID_EFBTOTEXTUREDISABLE,ConfigDialog::EFBToTextureDisable) - EVT_CHECKBOX(ID_DISABLECULLING,ConfigDialog::DisableCulling) + EVT_BUTTON(ID_ABOUTOGL,ConfigDialog::AboutClick) + EVT_CHECKBOX(ID_FULLSCREEN,ConfigDialog::GeneralSettingsChanged) + EVT_CHECKBOX(ID_RENDERTOMAINWINDOW,ConfigDialog::GeneralSettingsChanged) + EVT_COMBOBOX(ID_FULLSCREENCB,ConfigDialog::GeneralSettingsChanged) + EVT_COMBOBOX(ID_WINDOWRESOLUTIONCB,ConfigDialog::GeneralSettingsChanged) + EVT_COMBOBOX(ID_ALIASMODECB,ConfigDialog::GeneralSettingsChanged) + EVT_CHECKBOX(ID_FORCEFILTERING,ConfigDialog::GeneralSettingsChanged) + EVT_CHECKBOX(ID_FORCEANISOTROPY,ConfigDialog::GeneralSettingsChanged) + EVT_CHECKBOX(ID_STRETCHTOFIT,ConfigDialog::GeneralSettingsChanged) + EVT_CHECKBOX(ID_KEEPAR,ConfigDialog::GeneralSettingsChanged) + EVT_CHECKBOX(ID_WIREFRAME,ConfigDialog::AdvancedSettingsChanged) + EVT_CHECKBOX(ID_SHOWFPS,ConfigDialog::AdvancedSettingsChanged) + EVT_CHECKBOX(ID_STATISTICS,ConfigDialog::AdvancedSettingsChanged) + EVT_CHECKBOX(ID_SHADERERRORS,ConfigDialog::AdvancedSettingsChanged) + EVT_CHECKBOX(ID_TEXFMTOVERLAY,ConfigDialog::AdvancedSettingsChanged) + EVT_CHECKBOX(ID_TEXFMTCENTER,ConfigDialog::AdvancedSettingsChanged) + EVT_CHECKBOX(ID_USEXFB,ConfigDialog::AdvancedSettingsChanged) + EVT_CHECKBOX(ID_DUMPTEXTURES,ConfigDialog::AdvancedSettingsChanged) + EVT_CHECKBOX(ID_DISABLELIGHTING,ConfigDialog::AdvancedSettingsChanged) + EVT_CHECKBOX(ID_DISABLETEXTURING,ConfigDialog::AdvancedSettingsChanged) + EVT_CHECKBOX(ID_EFBTOTEXTUREDISABLE,ConfigDialog::AdvancedSettingsChanged) EVT_DIRPICKER_CHANGED(ID_TEXTUREPATH,ConfigDialog::TexturePathChange) END_EVENT_TABLE() @@ -65,33 +63,19 @@ ConfigDialog::~ConfigDialog() void ConfigDialog::CreateGUIControls() { - //notebook + // Notebook m_Notebook = new wxNotebook(this, ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize); - m_PageGeneral = new wxPanel(m_Notebook, ID_PAGEGENERAL, wxDefaultPosition, wxDefaultSize); m_Notebook->AddPage(m_PageGeneral, wxT("General")); + m_PageAdvanced = new wxPanel(m_Notebook, ID_PAGEADVANCED, wxDefaultPosition, wxDefaultSize); + m_Notebook->AddPage(m_PageAdvanced, wxT("Advanced")); - m_PageEnhancements = new wxPanel(m_Notebook, ID_PAGEENHANCEMENTS, wxDefaultPosition, wxDefaultSize); - m_Notebook->AddPage(m_PageEnhancements, wxT("Enhancements")); - - m_PageInformation = new wxPanel(m_Notebook, ID_PAGEINFORMATION, wxDefaultPosition, wxDefaultSize); - m_Notebook->AddPage(m_PageInformation, wxT("Info")); - - m_PageRender = new wxPanel(m_Notebook, ID_PAGERENDER, wxDefaultPosition, wxDefaultSize); - m_Notebook->AddPage(m_PageRender, wxT("Render")); - - m_PageUtility = new wxPanel(m_Notebook, ID_PAGEUTILITY, wxDefaultPosition, wxDefaultSize); - m_Notebook->AddPage(m_PageUtility, wxT("Util")); - - m_PageHacks = new wxPanel(m_Notebook, ID_PAGEHACKS, wxDefaultPosition, wxDefaultSize); - m_Notebook->AddPage(m_PageHacks, wxT("Hacks")); - - //buttons - m_About = new wxButton(this, ID_GRAPHIC_ABOUT, wxT("About"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + // Buttons + m_About = new wxButton(this, ID_ABOUTOGL, wxT("About"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_OK = new wxButton(this, ID_OK, wxT("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_Cancel = new wxButton(this, ID_CANCEL, wxT("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); - //put notebook and buttons in sizers + // Put notebook and buttons in sizers wxBoxSizer* sButtons; sButtons = new wxBoxSizer(wxHORIZONTAL); sButtons->Add(m_About, 0, wxALL, 5); @@ -107,171 +91,136 @@ void ConfigDialog::CreateGUIControls() this->SetSizer(sMain); this->Layout(); - // Page 1 "General" + // General + sbBasic = new wxStaticBoxSizer(wxVERTICAL, m_PageGeneral, wxT("Basic Settings")); m_Fullscreen = new wxCheckBox(m_PageGeneral, ID_FULLSCREEN, wxT("Fullscreen"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_Fullscreen->SetValue(g_Config.bFullscreen); - m_RenderToMainWindow = new wxCheckBox(m_PageGeneral, ID_RENDERTOMAINWINDOW, wxT("Render to main window"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_RenderToMainWindow->SetValue(g_Config.renderToMainframe); - - m_StretchToFit = new wxCheckBox(m_PageGeneral, ID_STRETCHTOFIT, wxT("Stretch to fit (instead of changing res.)"), - wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_StretchToFit = new wxCheckBox(m_PageGeneral, ID_STRETCHTOFIT, wxT("Stretch to fit (instead of changing res.)"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_StretchToFit->SetValue(g_Config.bStretchToFit); - - m_KeepAR = new wxCheckBox(m_PageGeneral, ID_KEEPAR, wxT("Keep 4:3 aspect ratio"), - wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_KeepAR = new wxCheckBox(m_PageGeneral, ID_KEEPAR, wxT("Keep 4:3 aspect ratio"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_KeepAR->SetValue(g_Config.bKeepAR); - wxStaticText *FSText = new wxStaticText(m_PageGeneral, ID_FSTEXT, wxT("Fullscreen video mode:"), wxDefaultPosition, wxDefaultSize, 0); - wxArrayString arrayStringFor_FullscreenCB; m_FullscreenCB = new wxComboBox(m_PageGeneral, ID_FULLSCREENCB, wxEmptyString, wxDefaultPosition, wxDefaultSize, arrayStringFor_FullscreenCB, 0, wxDefaultValidator); m_FullscreenCB->SetValue(wxString::FromAscii(g_Config.iFSResolution)); - wxStaticText *WMText = new wxStaticText(m_PageGeneral, ID_WMTEXT, wxT("Windowed resolution:"), wxDefaultPosition, wxDefaultSize, 0); - wxArrayString arrayStringFor_WindowResolutionCB; m_WindowResolutionCB = new wxComboBox(m_PageGeneral, ID_WINDOWRESOLUTIONCB, wxEmptyString, wxDefaultPosition, wxDefaultSize, arrayStringFor_WindowResolutionCB, 0, wxDefaultValidator); m_WindowResolutionCB->SetValue(wxString::FromAscii(g_Config.iWindowedRes)); - // Page 2 "Enhancements" - m_ForceFiltering = new wxCheckBox(m_PageEnhancements, ID_FORCEFILTERING, wxT("Force bi/trilinear filtering (May cause small glitches)"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + // Enhancements + sbEnhancements = new wxStaticBoxSizer(wxVERTICAL, m_PageGeneral, wxT("Enhancements")); + m_ForceFiltering = new wxCheckBox(m_PageGeneral, ID_FORCEFILTERING, wxT("Force bi/trilinear filtering (May cause small glitches)"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_ForceFiltering->SetValue(g_Config.bForceFiltering); - - //TODO: make the following work ^^ - m_ForceAnisotropy = new wxCheckBox(m_PageEnhancements, ID_FORCEANISOTROPY, wxT("Force maximum anisotropy filtering"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_ForceAnisotropy = new wxCheckBox(m_PageGeneral, ID_FORCEANISOTROPY, wxT("Force maximum anisotropy filtering"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); //m_ForceAnisotropy->SetValue(g_Config.bForceMaxAniso); m_ForceAnisotropy->Enable(false); - - wxStaticText *AAText = new wxStaticText(m_PageEnhancements, ID_AATEXT, wxT("Anti-alias mode:"), wxDefaultPosition, wxDefaultSize, 0); + wxStaticText *AAText = new wxStaticText(m_PageGeneral, ID_AATEXT, wxT("Anti-alias mode:"), wxDefaultPosition, wxDefaultSize, 0); wxArrayString arrayStringFor_AliasModeCB; - m_AliasModeCB = new wxComboBox(m_PageEnhancements, ID_ALIASMODECB, wxEmptyString, wxDefaultPosition, wxDefaultSize, arrayStringFor_AliasModeCB, 0, wxDefaultValidator); + m_AliasModeCB = new wxComboBox(m_PageGeneral, ID_ALIASMODECB, wxEmptyString, wxDefaultPosition, wxDefaultSize, arrayStringFor_AliasModeCB, 0, wxDefaultValidator); wxString tmp; tmp<SetValue(tmp); - // Page 3 "Information" - m_ShowFPS = new wxCheckBox(m_PageInformation, ID_SHOWFPS, wxT("Overlay FPS"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + sGeneral = new wxBoxSizer(wxVERTICAL); + sBasic = new wxGridBagSizer(0, 0); + sBasic->Add(m_Fullscreen, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL, 5); + sBasic->Add(m_RenderToMainWindow, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL, 5); + sBasic->Add(m_StretchToFit, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL, 5); + sBasic->Add(m_KeepAR, wxGBPosition(3, 0), wxGBSpan(1, 2), wxALL, 5); + sBasic->Add(FSText, wxGBPosition(4, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); + sBasic->Add(m_FullscreenCB, wxGBPosition(4, 1), wxGBSpan(1, 1), wxALL, 5); + sBasic->Add(WMText, wxGBPosition(5, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); + sBasic->Add(m_WindowResolutionCB, wxGBPosition(5, 1), wxGBSpan(1, 1), wxALL, 5); + sbBasic->Add(sBasic); + sGeneral->Add(sbBasic, 0, wxEXPAND|wxALL, 5); + + sEnhancements = new wxGridBagSizer(0, 0); + sEnhancements->Add(m_ForceFiltering, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL, 5); + sEnhancements->Add(m_ForceAnisotropy, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL, 5); + sEnhancements->Add(AAText, wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); + sEnhancements->Add(m_AliasModeCB, wxGBPosition(2, 1), wxGBSpan(1, 2), wxALL, 5); + sbEnhancements->Add(sEnhancements); + sGeneral->Add(sbEnhancements, 0, wxEXPAND|wxALL, 5); + m_PageGeneral->SetSizer(sGeneral); + sGeneral->Layout(); + + // Information + sbInfo = new wxStaticBoxSizer(wxVERTICAL, m_PageAdvanced, wxT("Info")); + m_ShowFPS = new wxCheckBox(m_PageAdvanced, ID_SHOWFPS, wxT("Overlay FPS"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_ShowFPS->SetValue(g_Config.bShowFPS); - - m_Statistics = new wxCheckBox(m_PageInformation, ID_STATISTICS, wxT("Overlay some statistics"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_Statistics = new wxCheckBox(m_PageAdvanced, ID_STATISTICS, wxT("Overlay some statistics"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_Statistics->SetValue(g_Config.bOverlayStats); - - m_ShaderErrors = new wxCheckBox(m_PageInformation, ID_SHADERERRORS, wxT("Show shader compilation issues"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_ShaderErrors = new wxCheckBox(m_PageAdvanced, ID_SHADERERRORS, wxT("Show shader compilation issues"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); //m_ShaderErrors->SetValue(g_Config.bShowShaderErrors); m_ShaderErrors->Enable(false); - - m_TexFmtOverlay = new wxCheckBox(m_PageInformation, ID_TEXFMTOVERLAY, wxT("Overlay texture format"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_TexFmtOverlay = new wxCheckBox(m_PageAdvanced, ID_TEXFMTOVERLAY, wxT("Overlay texture format"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_TexFmtOverlay->SetValue(g_Config.bTexFmtOverlayEnable); - m_TexFmtCenter = new wxCheckBox(m_PageInformation, ID_TEXFMTCENTER, wxT("centered"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_TexFmtCenter = new wxCheckBox(m_PageAdvanced, ID_TEXFMTCENTER, wxT("centered"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_TexFmtCenter->SetValue(g_Config.bTexFmtOverlayCenter); m_TexFmtCenter->Enable(m_TexFmtOverlay->IsChecked()); - // Page 4 "Render" - m_UseXFB = new wxCheckBox(m_PageRender, ID_USEXFB, wxT("Use External Framebuffer (XFB)"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + // Render + sbRendering = new wxStaticBoxSizer(wxVERTICAL, m_PageAdvanced, wxT("Rendering")); + m_UseXFB = new wxCheckBox(m_PageAdvanced, ID_USEXFB, wxT("Use External Framebuffer (XFB)"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_UseXFB->SetValue(g_Config.bUseXFB); - - m_Wireframe = new wxCheckBox(m_PageRender, ID_WIREFRAME, wxT("Enable Wireframe"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_Wireframe = new wxCheckBox(m_PageAdvanced, ID_WIREFRAME, wxT("Enable Wireframe"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_Wireframe->SetValue(g_Config.bWireFrame); m_Wireframe->Enable(true); - - m_DisableLighting = new wxCheckBox(m_PageRender, ID_DISABLELIGHTING, wxT("Disable Material Lighting"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_DisableLighting = new wxCheckBox(m_PageAdvanced, ID_DISABLELIGHTING, wxT("Disable Material Lighting"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_DisableLighting->SetValue(g_Config.bDisableLighting); m_DisableLighting->Enable(true); - - m_DisableTexturing = new wxCheckBox(m_PageRender, ID_DISABLETEXTURING, wxT("Disable Texturing"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + m_DisableTexturing = new wxCheckBox(m_PageAdvanced, ID_DISABLETEXTURING, wxT("Disable Texturing"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_DisableTexturing->SetValue(g_Config.bDisableTexturing); m_DisableTexturing->Enable(true); - m_DisableCulling = new wxCheckBox(m_PageRender, ID_DISABLECULLING, wxT("Disable Culling"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); - m_DisableCulling->SetValue(g_Config.bDisableCulling); - m_DisableCulling->Enable(true); - - // Page 5 "Utility" - m_DumpTextures = new wxCheckBox(m_PageUtility, ID_DUMPTEXTURES, wxT("Dump textures to:"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + // Utility + sbUtilities = new wxStaticBoxSizer(wxVERTICAL, m_PageAdvanced, wxT("Utilities")); + m_DumpTextures = new wxCheckBox(m_PageAdvanced, ID_DUMPTEXTURES, wxT("Dump textures to:"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_DumpTextures->SetValue(g_Config.bDumpTextures); - m_TexturePath = new wxDirPickerCtrl(m_PageUtility, ID_TEXTUREPATH, wxEmptyString, wxT("Choose a directory to store texture dumps:"), wxDefaultPosition, wxDefaultSize, wxDIRP_USE_TEXTCTRL); + m_TexturePath = new wxDirPickerCtrl(m_PageAdvanced, ID_TEXTUREPATH, wxEmptyString, wxT("Choose a directory to store texture dumps:"), wxDefaultPosition, wxDefaultSize, wxDIRP_USE_TEXTCTRL); m_TexturePath->SetPath(wxString::FromAscii(g_Config.texDumpPath)); m_TexturePath->Enable(m_DumpTextures->IsChecked()); - // Page 6 "Hacks" - m_InvertDepth = new wxCheckBox(m_PageHacks, ID_INVERTDEPTH, wxT("Invert Depth"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); - m_InvertDepth->Enable(true); - m_InvertDepth->SetValue(g_Config.bInvertDepth); - - m_EFBToTextureDisable = new wxCheckBox(m_PageHacks, ID_EFBTOTEXTUREDISABLE, wxT("Disable copy EFB to texture"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); + // Hacks + sbHacks = new wxStaticBoxSizer(wxVERTICAL, m_PageAdvanced, wxT("Hacks")); + m_EFBToTextureDisable = new wxCheckBox(m_PageAdvanced, ID_EFBTOTEXTUREDISABLE, wxT("Disable copy EFB to texture"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator); m_EFBToTextureDisable->Enable(true); m_EFBToTextureDisable->SetValue(g_Config.bEBFToTextureDisable); - //Put options in sizers within the notebook - wxGridBagSizer* sPage1; - sPage1 = new wxGridBagSizer(0, 0); - sPage1->SetFlexibleDirection(wxBOTH); - sPage1->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); - sPage1->Add(m_Fullscreen, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL, 5); - sPage1->Add(m_RenderToMainWindow, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL, 5); - sPage1->Add(m_StretchToFit, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL, 5); - sPage1->Add(m_KeepAR, wxGBPosition(3, 0), wxGBSpan(1, 2), wxALL, 5); - sPage1->Add(FSText, wxGBPosition(4, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); - sPage1->Add(m_FullscreenCB, wxGBPosition(4, 1), wxGBSpan(1, 1), wxALL, 5); - sPage1->Add(WMText, wxGBPosition(5, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); - sPage1->Add(m_WindowResolutionCB, wxGBPosition(5, 1), wxGBSpan(1, 1), wxALL, 5); - m_PageGeneral->SetSizer(sPage1); - sPage1->Layout(); + sAdvanced = new wxBoxSizer(wxVERTICAL); + sInfo = new wxGridBagSizer(0, 0); + sInfo->Add(m_ShowFPS, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL, 5); + sInfo->Add(m_ShaderErrors, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL, 5); + sInfo->Add(m_Statistics, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL, 5); + sInfo->Add(m_TexFmtOverlay, wxGBPosition(3, 0), wxGBSpan(1, 1), wxALL, 5); + sInfo->Add(m_TexFmtCenter, wxGBPosition(3, 1), wxGBSpan(1, 1), wxALL, 5); + sbInfo->Add(sInfo); + sAdvanced->Add(sbInfo, 0, wxEXPAND|wxALL, 5); - wxGridBagSizer* sPage2; - sPage2 = new wxGridBagSizer(0, 0); - sPage2->SetFlexibleDirection(wxBOTH); - sPage2->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); - sPage2->Add(m_ForceFiltering, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL, 5); - sPage2->Add(m_ForceAnisotropy, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL, 5); - sPage2->Add(AAText, wxGBPosition(2, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); - sPage2->Add(m_AliasModeCB, wxGBPosition(2, 1), wxGBSpan(1, 2), wxALL, 5); - m_PageEnhancements->SetSizer(sPage2); - sPage2->Layout(); + sRendering = new wxGridBagSizer(0, 0); + sRendering->Add(m_UseXFB, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 5); + sRendering->Add(m_Wireframe, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL, 5); + sRendering->Add(m_DisableLighting, wxGBPosition(2, 0), wxGBSpan(1, 1), wxALL, 5); + sRendering->Add(m_DisableTexturing, wxGBPosition(3, 0), wxGBSpan(1, 1), wxALL, 5); + sbRendering->Add(sRendering); + sAdvanced->Add(sbRendering, 0, wxEXPAND|wxALL, 5); - wxGridBagSizer* sPage3; - sPage3 = new wxGridBagSizer(0, 0); - sPage3->SetFlexibleDirection(wxBOTH); - sPage3->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); - sPage3->Add(m_ShowFPS, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL, 5); - sPage3->Add(m_ShaderErrors, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL, 5); - sPage3->Add(m_Statistics, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL, 5); - sPage3->Add(m_TexFmtOverlay, wxGBPosition(3, 0), wxGBSpan(1, 1), wxALL, 5); - sPage3->Add(m_TexFmtCenter, wxGBPosition(3, 1), wxGBSpan(1, 1), wxALL, 5); - m_PageInformation->SetSizer(sPage3); - sPage3->Layout(); + sUtilities = new wxGridBagSizer(0, 0); + sUtilities->Add(m_DumpTextures, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); + sUtilities->Add(m_TexturePath, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL, 5); + sbUtilities->Add(sUtilities); + sAdvanced->Add(sbUtilities, 0, wxEXPAND|wxALL, 5); - wxGridBagSizer* sPage4; - sPage4 = new wxGridBagSizer(0, 0); - sPage4->SetFlexibleDirection(wxBOTH); - sPage4->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); - sPage4->Add(m_UseXFB, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 5); - sPage4->Add(m_Wireframe, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL, 5); - sPage4->Add(m_DisableLighting, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL, 5); - sPage4->Add(m_DisableTexturing, wxGBPosition(3, 0), wxGBSpan(1, 2), wxALL, 5); - sPage4->Add(m_DisableCulling, wxGBPosition(4, 0), wxGBSpan(1, 2), wxALL, 5); - m_PageRender->SetSizer(sPage4); - sPage4->Layout(); + sHacks = new wxGridBagSizer(0, 0); + sHacks->Add(m_EFBToTextureDisable, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL, 5); + sbHacks->Add(sHacks); + sAdvanced->Add(sbHacks, 0, wxEXPAND|wxALL, 5); + m_PageAdvanced->SetSizer(sAdvanced); + sAdvanced->Layout(); - wxGridBagSizer* sPage5; - sPage5 = new wxGridBagSizer(0, 0); - sPage5->SetFlexibleDirection(wxBOTH); - sPage5->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); - sPage5->Add(m_DumpTextures, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); - sPage5->Add(m_TexturePath, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL, 5); - m_PageUtility->SetSizer(sPage5); - sPage5->Layout(); - - wxGridBagSizer* sPage6; - sPage6 = new wxGridBagSizer(0, 0); - sPage6->SetFlexibleDirection(wxBOTH); - sPage6->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); - sPage6->Add(m_InvertDepth, wxGBPosition(0, 0), wxGBSpan(1, 2), wxALL, 5); - sPage6->Add(m_EFBToTextureDisable, wxGBPosition(1, 0), wxGBSpan(1, 2), wxALL, 5); - m_PageHacks->SetSizer(sPage6); - sPage6->Layout(); - - SetIcon(wxNullIcon); Fit(); + Center(); } void ConfigDialog::OnClose(wxCloseEvent& event) @@ -293,43 +242,15 @@ void ConfigDialog::OKClick(wxCommandEvent& event) } } -void ConfigDialog::FullScreenCheck(wxCommandEvent& event) -{ - g_Config.bFullscreen = m_Fullscreen->IsChecked(); -} - -void ConfigDialog::RenderMainCheck(wxCommandEvent& event) -{ - g_Config.renderToMainframe = m_RenderToMainWindow->IsChecked(); -} - -void ConfigDialog::StretchToFitCheck(wxCommandEvent& event) // stretch -{ - g_Config.bStretchToFit = m_StretchToFit->IsChecked(); -} - -void ConfigDialog::KeepARCheck(wxCommandEvent& event) // keep AR -{ - g_Config.bKeepAR = m_KeepAR->IsChecked(); -} - void ConfigDialog::AddFSReso(char *reso) { m_FullscreenCB->Append(wxString::FromAscii(reso)); } -void ConfigDialog::FSCB(wxCommandEvent& event) -{ - strcpy(g_Config.iFSResolution, m_FullscreenCB->GetValue().mb_str() ); -} void ConfigDialog::AddWindowReso(char *reso) { m_WindowResolutionCB->Append(wxString::FromAscii(reso)); } -void ConfigDialog::WMCB(wxCommandEvent& event) -{ - strcpy(g_Config.iWindowedRes, m_WindowResolutionCB->GetValue().mb_str() ); -} void ConfigDialog::AddAAMode(int mode) { @@ -338,98 +259,97 @@ void ConfigDialog::AddAAMode(int mode) m_AliasModeCB->Append(tmp); } -void ConfigDialog::AACB(wxCommandEvent& event) +void ConfigDialog::AboutClick(wxCommandEvent& event) { - g_Config.iMultisampleMode = atoi(m_AliasModeCB->GetValue().mb_str()); + wxMessageBox(_T("Dolphin OpenGL Plugin\nBy zerofrog(@gmail.com)\n\n" + "A card supporting Vertex/Pixel Shader 2.0 or higher, framebuffer objects, " + "and multiple render targets is required in order to use this plugin"), + _T("Dolphin OGL"), wxOK, this); } -void ConfigDialog::ForceFilteringCheck(wxCommandEvent& event) +void ConfigDialog::GeneralSettingsChanged(wxCommandEvent& event) { - g_Config.bForceFiltering = m_ForceFiltering->IsChecked(); -} - -void ConfigDialog::ForceAnisotropyCheck(wxCommandEvent& event) -{ - g_Config.bForceMaxAniso = m_ForceAnisotropy->IsChecked(); -} - -void ConfigDialog::WireframeCheck(wxCommandEvent& event) -{ - g_Config.bWireFrame = m_Wireframe->IsChecked(); -} - -void ConfigDialog::ShowShaderErrorsCheck(wxCommandEvent& event) -{ - g_Config.bShowShaderErrors = m_ShaderErrors->IsChecked(); -} - -void ConfigDialog::ShowFPSCheck(wxCommandEvent& event) -{ - g_Config.bShowFPS = m_ShowFPS->IsChecked(); -} - -void ConfigDialog::OverlayCheck(wxCommandEvent& event) -{ - g_Config.bOverlayStats = m_Statistics->IsChecked(); -} - -void ConfigDialog::TexFmtOverlayChange(wxCommandEvent& event) -{ - switch(event.GetId()) + switch (event.GetId()) { + case ID_FULLSCREEN: + g_Config.bFullscreen = m_Fullscreen->IsChecked(); + break; + case ID_RENDERTOMAINWINDOW: + g_Config.renderToMainframe = m_RenderToMainWindow->IsChecked(); + break; + case ID_STRETCHTOFIT: + g_Config.bStretchToFit = m_StretchToFit->IsChecked(); + break; + case ID_KEEPAR: + g_Config.bKeepAR = m_KeepAR->IsChecked(); + break; + case ID_FULLSCREENCB: + strcpy(g_Config.iFSResolution, m_FullscreenCB->GetValue().mb_str() ); + break; + case ID_WINDOWRESOLUTIONCB: + strcpy(g_Config.iWindowedRes, m_WindowResolutionCB->GetValue().mb_str() ); + break; + case ID_FORCEFILTERING: + g_Config.bForceFiltering = m_ForceFiltering->IsChecked(); + break; + case ID_FORCEANISOTROPY: + g_Config.bForceMaxAniso = m_ForceAnisotropy->IsChecked(); + break; + case ID_ALIASMODECB: + g_Config.iMultisampleMode = atoi(m_AliasModeCB->GetValue().mb_str()); + break; + } +} + +void ConfigDialog::AdvancedSettingsChanged(wxCommandEvent& event) +{ + switch (event.GetId()) + { + case ID_SHOWFPS: + g_Config.bShowFPS = m_ShowFPS->IsChecked(); + break; + case ID_SHADERERRORS: + g_Config.bShowShaderErrors = m_ShaderErrors->IsChecked(); + break; + case ID_STATISTICS: + g_Config.bOverlayStats = m_Statistics->IsChecked(); + break; case ID_TEXFMTOVERLAY: g_Config.bTexFmtOverlayEnable = m_TexFmtOverlay->IsChecked(); m_TexFmtCenter->Enable(m_TexFmtOverlay->IsChecked()); + TextureMngr::Invalidate(); break; case ID_TEXFMTCENTER: g_Config.bTexFmtOverlayCenter = m_TexFmtCenter->IsChecked(); + TextureMngr::Invalidate(); + break; + case ID_USEXFB: + g_Config.bUseXFB = m_UseXFB->IsChecked(); + break; + case ID_WIREFRAME: + g_Config.bWireFrame = m_Wireframe->IsChecked(); + break; + case ID_DISABLELIGHTING: + g_Config.bDisableLighting = m_DisableLighting->IsChecked(); + break; + case ID_DISABLETEXTURING: + g_Config.bDisableTexturing = m_DisableTexturing->IsChecked(); + break; + case ID_DUMPTEXTURES: + m_TexturePath->Enable(m_DumpTextures->IsChecked()); + g_Config.bDumpTextures = m_DumpTextures->IsChecked(); + break; + case ID_TEXTUREPATH: + break; + case ID_EFBTOTEXTUREDISABLE: + g_Config.bEBFToTextureDisable = m_EFBToTextureDisable->IsChecked(); break; } - TextureMngr::Invalidate(); -} - -void ConfigDialog::UseXFBChange(wxCommandEvent& event) -{ - g_Config.bUseXFB = m_UseXFB->IsChecked(); -} - -void ConfigDialog::DumpTexturesChange(wxCommandEvent& event) -{ - m_TexturePath->Enable(m_DumpTextures->IsChecked()); - g_Config.bDumpTextures = m_DumpTextures->IsChecked(); } void ConfigDialog::TexturePathChange(wxFileDirPickerEvent& event) { - //note: if a user inputs an incorrect path(by typing, not by choosing from - // the combobox, this event wil not be fired. + // Note: if a user inputs an incorrect path(by typing, not by choosing from + // the combobox) this event wil not be fired. strcpy(g_Config.texDumpPath,event.GetPath().mb_str()); } -void ConfigDialog::DllAbout(wxCommandEvent& event) -{ - wxAboutDialogInfo info; - info.AddDeveloper(_T("zerofrog(@gmail.com)")); - info.SetDescription(_T("Vertex/Pixel Shader 2.0 or higher, framebuffer objects, multiple render targets")); - wxAboutBox(info); -} -void ConfigDialog::InvertDepth(wxCommandEvent& event) -{ - g_Config.bInvertDepth = m_InvertDepth->IsChecked(); -} - -void ConfigDialog::DisableLighting(wxCommandEvent &event) -{ - g_Config.bDisableLighting = m_DisableLighting->IsChecked(); -} -void ConfigDialog::DisableTexturing(wxCommandEvent &event) -{ - g_Config.bDisableTexturing = m_DisableTexturing->IsChecked(); -} -void ConfigDialog::EFBToTextureDisable(wxCommandEvent &event) -{ - g_Config.bEBFToTextureDisable = m_EFBToTextureDisable->IsChecked(); -} -void ConfigDialog::DisableCulling(wxCommandEvent &event) -{ - g_Config.bDisableCulling = m_DisableCulling->IsChecked(); -} diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h b/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h index 2556615046..c80447c446 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h +++ b/Source/Plugins/Plugin_VideoOGL/Src/GUI/ConfigDlg.h @@ -19,7 +19,6 @@ #define __CONFIGDIALOG_h__ #include -#include #include #include #include @@ -38,140 +37,111 @@ class ConfigDialog : public wxDialog { - private: - DECLARE_EVENT_TABLE(); - public: ConfigDialog(wxWindow *parent, wxWindowID id = 1, const wxString &title = wxT("OpenGL Plugin Configuration"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = ConfigDialog_STYLE); virtual ~ConfigDialog(); void OKClick(wxCommandEvent& event); - // General - void FullScreenCheck(wxCommandEvent& event); - void RenderMainCheck(wxCommandEvent& event); void AddFSReso(char *reso); void AddWindowReso(char *reso); - void StretchToFitCheck(wxCommandEvent& event); - void KeepARCheck(wxCommandEvent& event); - void DllAbout(wxCommandEvent& event); - - // Enhancements void AddAAMode(int mode); - void FSCB(wxCommandEvent& event); - void WMCB(wxCommandEvent& event); - void AACB(wxCommandEvent& event); - void ForceFilteringCheck(wxCommandEvent& event); - void ForceAnisotropyCheck(wxCommandEvent& event); - - // Information - void ShowFPSCheck(wxCommandEvent& event); - void OverlayCheck(wxCommandEvent& event); - void ShowShaderErrorsCheck(wxCommandEvent& event); - void TexFmtOverlayChange(wxCommandEvent& event); - - // Render - void WireframeCheck(wxCommandEvent& event); - void UseXFBChange(wxCommandEvent& event); - void DisableLighting(wxCommandEvent& event); - void DisableTexturing(wxCommandEvent& event); - void DisableCulling(wxCommandEvent& event); - - // Util - void DumpTexturesChange(wxCommandEvent& event); - void TexturePathChange(wxFileDirPickerEvent& event); - - // Hacks - void InvertDepth(wxCommandEvent& event); - void EFBToTextureDisable(wxCommandEvent& event); private: + DECLARE_EVENT_TABLE(); - wxButton* m_About; + wxBoxSizer* sGeneral; + wxStaticBoxSizer* sbBasic; + wxGridBagSizer* sBasic; + wxStaticBoxSizer* sbEnhancements; + wxGridBagSizer* sEnhancements; + wxBoxSizer* sAdvanced; + wxStaticBoxSizer* sbInfo; + wxGridBagSizer* sInfo; + wxStaticBoxSizer* sbRendering; + wxGridBagSizer* sRendering; + wxStaticBoxSizer* sbUtilities; + wxGridBagSizer* sUtilities; + wxStaticBoxSizer* sbHacks; + wxGridBagSizer* sHacks; + + wxButton *m_About; wxButton *m_Cancel; wxButton *m_OK; - wxDirPickerCtrl *m_TexturePath; - wxCheckBox *m_DumpTextures; - wxCheckBox *m_UseXFB; - wxCheckBox *m_TexFmtCenter; - wxCheckBox *m_TexFmtOverlay; - wxCheckBox *m_Statistics; - wxCheckBox *m_ShowFPS; - wxCheckBox *m_ShaderErrors; - wxCheckBox *m_Wireframe; - wxCheckBox *m_ForceAnisotropy; + wxNotebook *m_Notebook; + wxPanel *m_PageGeneral; + wxPanel *m_PageAdvanced; + wxCheckBox *m_Fullscreen; + wxCheckBox *m_RenderToMainWindow; wxCheckBox *m_StretchToFit; wxCheckBox *m_KeepAR; - wxCheckBox *m_ForceFiltering; - wxComboBox *m_AliasModeCB; - wxComboBox *m_WindowResolutionCB; + wxArrayString arrayStringFor_FullscreenCB; wxComboBox *m_FullscreenCB; - wxCheckBox *m_RenderToMainWindow; - wxCheckBox *m_Fullscreen; + wxArrayString arrayStringFor_WindowResolutionCB; + wxComboBox *m_WindowResolutionCB; + wxCheckBox *m_ForceFiltering; + wxCheckBox *m_ForceAnisotropy; + wxComboBox *m_AliasModeCB; + wxCheckBox *m_ShowFPS; + wxCheckBox *m_ShaderErrors; + wxCheckBox *m_Statistics; + wxCheckBox *m_TexFmtOverlay; + wxCheckBox *m_TexFmtCenter; + wxCheckBox *m_UseXFB; + wxCheckBox *m_Wireframe; wxCheckBox *m_DisableLighting; wxCheckBox *m_DisableTexturing; - wxCheckBox *m_InvertDepth; - wxCheckBox *m_ProjectionHax1; - wxCheckBox *m_ProjectionHax2; + wxCheckBox *m_DumpTextures; + wxDirPickerCtrl *m_TexturePath; wxCheckBox *m_EFBToTextureDisable; - wxCheckBox *m_DisableCulling; - wxPanel *m_PageGeneral; - wxPanel *m_PageEnhancements; - wxPanel *m_PageInformation; - wxPanel *m_PageRender; - wxPanel *m_PageUtility; - wxPanel *m_PageHacks; - wxNotebook *m_Notebook; - - private: enum { - ////GUI Enum Control ID Start - ID_CANCEL = 1000, - ID_OK, - ID_TEXTUREPATH, - ID_SHADERERRORS, - ID_USEXFB, - ID_TEXFMTCENTER, - ID_TEXFMTOVERLAY, - ID_SHOWFPS, - ID_STATISTICS, - ID_DUMPTEXTURES, - ID_WIREFRAME, - ID_FORCEANISOTROPY, + ID_OK = 1000, + ID_CANCEL, + ID_ABOUTOGL, + + ID_NOTEBOOK, + ID_PAGEGENERAL, + ID_PAGEADVANCED, + + ID_FULLSCREEN, + ID_RENDERTOMAINWINDOW, ID_STRETCHTOFIT, ID_KEEPAR, - ID_FORCEFILTERING, - ID_ALIASMODECB, - ID_AATEXT, - ID_WINDOWRESOLUTIONCB, - ID_WMTEXT, - ID_FULLSCREENCB, ID_FSTEXT, - ID_RENDERTOMAINWINDOW, - ID_FULLSCREEN, - ID_NOTEBOOK, - ID_INVERTDEPTH, - ID_PROJECTIONHAX1, - ID_PROJECTIONHAX2, + ID_FULLSCREENCB, + ID_WMTEXT, + ID_WINDOWRESOLUTIONCB, + + ID_FORCEFILTERING, + ID_FORCEANISOTROPY, + ID_AATEXT, + ID_ALIASMODECB, + + ID_SHOWFPS, + ID_SHADERERRORS, + ID_STATISTICS, + ID_TEXFMTOVERLAY, + ID_TEXFMTCENTER, + + ID_USEXFB, + ID_WIREFRAME, ID_DISABLELIGHTING, ID_DISABLETEXTURING, + + ID_DUMPTEXTURES, + ID_TEXTUREPATH, + ID_EFBTOTEXTUREDISABLE, - ID_DISABLECULLING, - ID_PAGEGENERAL, - ID_PAGEENHANCEMENTS, - ID_PAGEINFORMATION, - ID_PAGERENDER, - ID_PAGEUTILITY, - ID_PAGEHACKS, - ID_GRAPHIC_ABOUT, - ////GUI Enum Control ID End - ID_DUMMY_VALUE_ //don't remove this value unless you have other enum values }; - private: void OnClose(wxCloseEvent& event); void CreateGUIControls(); + + void AboutClick(wxCommandEvent& event); + void GeneralSettingsChanged(wxCommandEvent& event); + void AdvancedSettingsChanged(wxCommandEvent& event); + void TexturePathChange(wxFileDirPickerEvent& event); }; #endif