// Copyright (C) 2003 Dolphin Project. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, version 2.0. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License 2.0 for more details. // A copy of the GPL 2.0 should have been included with the program. // If not, see http://www.gnu.org/licenses/ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ #ifndef _DX_DLGSETTINGS_H_ #define _DX_DLGSETTINGS_H_ #include #include #include #include #include #include #include #include #include #include #include #include class GFXConfigDialogDX : public wxDialog { public: GFXConfigDialogDX(wxWindow *parent, wxWindowID id = 1, #ifdef DEBUGFAST const wxString &title = wxT("DX (DEBUGFAST) Plugin Configuration"), #else #ifndef _DEBUG const wxString &title = wxT("DX Plugin Configuration"), #else const wxString &title = wxT("DX (DEBUG) Plugin Configuration"), #endif #endif const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE); virtual ~GFXConfigDialogDX(); void CreateGUIControls(); void CloseClick(wxCommandEvent& WXUNUSED (event)); private: DECLARE_EVENT_TABLE(); wxBoxSizer* sGeneral; wxStaticBoxSizer* sbBasic; wxGridBagSizer* sBasic; wxStaticBoxSizer* sbSTC; wxGridBagSizer* sSTC; wxBoxSizer* sEnhancements; wxStaticBoxSizer* sbTextureFilter; wxGridBagSizer* sTextureFilter; wxStaticBoxSizer* sbEFBHacks; wxGridBagSizer* sEFBHacks; wxBoxSizer* sAdvanced; wxStaticBoxSizer* sbSettings; wxGridBagSizer* sSettings; wxStaticBoxSizer* sbDataDumping; wxGridBagSizer* sDataDumping; wxStaticBoxSizer* sbDebuggingTools; wxGridBagSizer* sDebuggingTools; wxButton *m_Close; wxNotebook *m_Notebook; wxPanel *m_PageDirect3D; wxPanel *m_PageEnhancements; wxPanel *m_PageAdvanced; //Direct3D Tab wxStaticText* m_AdapterText; wxChoice *m_AdapterCB; wxArrayString arrayStringFor_AdapterCB; wxArrayString arrayStringFor_MSAAModeCB; wxCheckBox *m_VSync; wxCheckBox *m_WidescreenHack; wxStaticText* m_staticARText; wxChoice *m_KeepAR; wxStaticText* m_staticMSAAText; wxChoice *m_MSAAModeCB; wxStaticText* m_EFBScaleText; wxChoice *m_EFBScaleMode; wxCheckBox *m_EnableEFBAccess; wxCheckBox *m_SafeTextureCache; wxRadioButton *m_Radio_SafeTextureCache_Fast; wxRadioButton *m_Radio_SafeTextureCache_Normal; wxRadioButton *m_Radio_SafeTextureCache_Safe; //Enhancements Tab wxCheckBox *m_ForceFiltering; wxCheckBox *m_MaxAnisotropy; wxCheckBox *m_HiresTextures; wxCheckBox *m_EFBScaledCopy; //Advanced Tab wxCheckBox *m_DisableFog; wxCheckBox *m_OverlayFPS; wxCheckBox *m_CopyEFB; wxRadioButton *m_Radio_CopyEFBToRAM; wxRadioButton *m_Radio_CopyEFBToGL; wxCheckBox *m_EnableHotkeys; wxCheckBox *m_WireFrame; wxCheckBox *m_EnableXFB; wxCheckBox *m_EnableRealXFB; wxCheckBox *m_UseNativeMips; wxCheckBox *m_DumpTextures; wxCheckBox *m_DumpFrames; wxCheckBox *m_OverlayStats; wxCheckBox *m_ProjStats; wxCheckBox *m_ShaderErrors; wxCheckBox *m_TexfmtOverlay; wxCheckBox *m_TexfmtCenter; enum { ID_CLOSE, ID_ADAPTER, ID_VSYNC, ID_WIDESCREEN_HACK, ID_ASPECT, ID_FULLSCREENRESOLUTION, ID_ANTIALIASMODE, ID_EFBSCALEMODE, ID_EFB_ACCESS_ENABLE, ID_SAFETEXTURECACHE, ID_RADIO_SAFETEXTURECACHE_SAFE, ID_RADIO_SAFETEXTURECACHE_NORMAL, ID_RADIO_SAFETEXTURECACHE_FAST, ID_FORCEFILTERING, ID_FORCEANISOTROPY, ID_LOADHIRESTEXTURES, ID_EFBSCALEDCOPY, ID_DISABLEFOG, ID_OVERLAYFPS, ID_ENABLEEFBCOPY, ID_EFBTORAM, ID_EFBTOTEX, ID_ENABLEHOTKEY, ID_WIREFRAME, ID_ENABLEXFB, ID_ENABLEREALXFB, ID_USENATIVEMIPS, ID_TEXDUMP, ID_DUMPFRAMES, ID_OVERLAYSTATS, ID_PROJSTATS, ID_SHADERERRORS, ID_TEXFMT_OVERLAY, ID_TEXFMT_CENTER, ID_CHECK1, ID_LIST1, ID_DEBUGSTEP, ID_REGISTERS, ID_ENABLEDEBUGGING, ID_REGISTERSELECT, ID_ARTEXT, ID_NOTEBOOK = 1000, ID_DEBUGGER, ID_ABOUT, ID_DIRERCT3D, ID_PAGEENHANCEMENTS, ID_PAGEADVANCED }; void InitializeAdapters(); void OnClose(wxCloseEvent& event); void InitializeGUIValues(); void DirectXSettingsChanged(wxCommandEvent& event); void EnhancementsSettingsChanged(wxCommandEvent& event); void AdvancedSettingsChanged(wxCommandEvent& event); void CloseWindow(); void UpdateGUI(); }; #endif //_DX_DLGSETTINGS_H_