Move the ZTP hack to the game properties (reverted all changes from r6057 to the...
[dolphin.git] / Source / Plugins / Plugin_VideoDX9 / Src / DlgSettings.h
blob6fcf6e226136114309e8a1dee3603958ff7f8f11
1 // Copyright (C) 2003 Dolphin Project.
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, version 2.0.
7 // This program is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 // GNU General Public License 2.0 for more details.
12 // A copy of the GPL 2.0 should have been included with the program.
13 // If not, see http://www.gnu.org/licenses/
15 // Official SVN repository and contact information can be found at
16 // http://code.google.com/p/dolphin-emu/
18 #ifndef _DX_DLGSETTINGS_H_
19 #define _DX_DLGSETTINGS_H_
21 #include <wx/wx.h>
22 #include <wx/dialog.h>
23 #include <wx/textctrl.h>
24 #include <wx/button.h>
25 #include <wx/stattext.h>
26 #include <wx/choice.h>
27 #include <wx/combobox.h>
28 #include <wx/checkbox.h>
29 #include <wx/notebook.h>
30 #include <wx/panel.h>
31 #include <wx/filepicker.h>
32 #include <wx/gbsizer.h>
34 class GFXConfigDialogDX : public wxDialog
36 public:
37 GFXConfigDialogDX(wxWindow *parent, wxWindowID id = 1,
38 #ifdef DEBUGFAST
39 const wxString &title = wxT("DX9 (DEBUGFAST) Plugin Configuration"),
40 #else
41 #ifndef _DEBUG
42 const wxString &title = wxT("DX9 Plugin Configuration"),
43 #else
44 const wxString &title = wxT("DX9 (DEBUG) Plugin Configuration"),
45 #endif
46 #endif
47 const wxPoint& pos = wxDefaultPosition,
48 const wxSize& size = wxDefaultSize,
49 long style = wxDEFAULT_DIALOG_STYLE);
50 virtual ~GFXConfigDialogDX();
51 void CreateGUIControls();
52 void CloseClick(wxCommandEvent& WXUNUSED (event));
54 private:
55 DECLARE_EVENT_TABLE();
57 wxBoxSizer* sGeneral;
58 wxStaticBoxSizer* sbBasic;
59 wxGridBagSizer* sBasic;
60 wxStaticBoxSizer* sbSTC;
61 wxGridBagSizer* sSTC;
63 wxBoxSizer* sEnhancements;
64 wxStaticBoxSizer* sbTextureFilter;
65 wxGridBagSizer* sTextureFilter;
66 wxStaticBoxSizer* sbEFBHacks;
67 wxGridBagSizer* sEFBHacks;
69 wxBoxSizer* sAdvanced;
70 wxStaticBoxSizer* sbSettings;
71 wxGridBagSizer* sSettings;
72 wxStaticBoxSizer* sbDataDumping;
73 wxGridBagSizer* sDataDumping;
74 wxStaticBoxSizer* sbDebuggingTools;
75 wxGridBagSizer* sDebuggingTools;
78 wxButton *m_Close;
80 wxNotebook *m_Notebook;
81 wxPanel *m_PageDirect3D;
82 wxPanel *m_PageEnhancements;
83 wxPanel *m_PageAdvanced;
85 //Direct3D Tab
86 wxStaticText* m_AdapterText;
87 wxChoice *m_AdapterCB;
88 wxArrayString arrayStringFor_AdapterCB;
89 wxArrayString arrayStringFor_MSAAModeCB;
90 wxCheckBox *m_VSync;
91 wxCheckBox *m_WidescreenHack;
92 wxStaticText* m_staticARText;
93 wxChoice *m_KeepAR;
94 wxStaticText* m_staticMSAAText;
95 wxChoice *m_MSAAModeCB;
96 wxStaticText* m_EFBScaleText;
97 wxChoice *m_EFBScaleMode;
98 wxCheckBox *m_EnableEFBAccess;
99 wxCheckBox *m_SafeTextureCache;
100 wxRadioButton *m_Radio_SafeTextureCache_Fast;
101 wxRadioButton *m_Radio_SafeTextureCache_Normal;
102 wxRadioButton *m_Radio_SafeTextureCache_Safe;
104 //Enhancements Tab
105 wxCheckBox *m_ForceFiltering;
106 wxCheckBox *m_MaxAnisotropy;
107 wxCheckBox *m_HiresTextures;
108 wxCheckBox *m_EFBScaledCopy;
110 //Advanced Tab
111 wxCheckBox *m_DisableFog;
112 wxCheckBox *m_OverlayFPS;
113 wxCheckBox *m_CopyEFB;
114 wxRadioButton *m_Radio_CopyEFBToRAM;
115 wxRadioButton *m_Radio_CopyEFBToGL;
116 wxCheckBox *m_EnableHotkeys;
117 wxCheckBox *m_WireFrame;
118 wxCheckBox *m_EnableXFB;
119 wxCheckBox *m_EnableRealXFB;
120 wxCheckBox *m_UseNativeMips;
121 wxCheckBox *m_DumpTextures;
122 wxCheckBox *m_DumpFrames;
123 wxCheckBox *m_OverlayStats;
124 wxCheckBox *m_ProjStats;
125 wxCheckBox *m_ShaderErrors;
126 wxCheckBox *m_TexfmtOverlay;
127 wxCheckBox *m_TexfmtCenter;
129 enum
131 ID_CLOSE,
132 ID_ADAPTER,
133 ID_VSYNC,
134 ID_WIDESCREEN_HACK,
135 ID_ASPECT,
136 ID_FULLSCREENRESOLUTION,
137 ID_ANTIALIASMODE,
138 ID_EFBSCALEMODE,
139 ID_EFB_ACCESS_ENABLE,
140 ID_SAFETEXTURECACHE,
141 ID_RADIO_SAFETEXTURECACHE_SAFE,
142 ID_RADIO_SAFETEXTURECACHE_NORMAL,
143 ID_RADIO_SAFETEXTURECACHE_FAST,
144 ID_FORCEFILTERING,
145 ID_FORCEANISOTROPY,
146 ID_LOADHIRESTEXTURES,
147 ID_EFBSCALEDCOPY,
148 ID_DISABLEFOG,
149 ID_OVERLAYFPS,
150 ID_ENABLEEFBCOPY,
151 ID_EFBTORAM,
152 ID_EFBTOTEX,
153 ID_ENABLEHOTKEY,
154 ID_WIREFRAME,
155 ID_ENABLEXFB,
156 ID_ENABLEREALXFB,
157 ID_USENATIVEMIPS,
158 ID_TEXDUMP,
159 ID_DUMPFRAMES,
160 ID_OVERLAYSTATS,
161 ID_PROJSTATS,
162 ID_SHADERERRORS,
163 ID_TEXFMT_OVERLAY,
164 ID_TEXFMT_CENTER,
165 ID_DEBUGSTEP,
166 ID_REGISTERS,
167 ID_ENABLEDEBUGGING,
168 ID_REGISTERSELECT,
169 ID_ARTEXT,
170 ID_NOTEBOOK = 1000,
171 ID_DEBUGGER,
172 ID_ABOUT,
173 ID_DIRERCT3D,
174 ID_PAGEENHANCEMENTS,
175 ID_PAGEADVANCED
177 void InitializeAdapters();
178 void OnClose(wxCloseEvent& event);
179 void InitializeGUIValues();
180 void DirectXSettingsChanged(wxCommandEvent& event);
181 void EnhancementsSettingsChanged(wxCommandEvent& event);
182 void AdvancedSettingsChanged(wxCommandEvent& event);
183 void CloseWindow();
184 void UpdateGUI();
187 #endif //_DX_DLGSETTINGS_H_