summaryrefslogtreecommitdiff
path: root/win32/gui
diff options
context:
space:
mode:
authoriCatButler <i.am.catbutler@gmail.com>2016-05-16 16:17:19 +0100
committeriCatButler <i.am.catbutler@gmail.com>2016-05-16 16:17:19 +0100
commita64d62be4b433fcad3804d3bb616bdf4f13504f4 (patch)
treea149e7e9795065735e4e3966b3b0078b60caeb9b /win32/gui
parent1e37eec079558337768c4487fcd0fdd80ea8b005 (diff)
downloadpcsxr-a64d62be4b433fcad3804d3bb616bdf4f13504f4.tar.gz
Add PGXP configuration dialog
- Allows independent toggling of PGXP, vertex caching and texture correction
Diffstat (limited to 'win32/gui')
-rwxr-xr-xwin32/gui/ConfigurePlugins.c9
-rwxr-xr-xwin32/gui/Win32.h1
-rwxr-xr-xwin32/gui/WndMain.c53
3 files changed, 63 insertions, 0 deletions
diff --git a/win32/gui/ConfigurePlugins.c b/win32/gui/ConfigurePlugins.c
index 7abe6119..84c7f93e 100755
--- a/win32/gui/ConfigurePlugins.c
+++ b/win32/gui/ConfigurePlugins.c
@@ -96,6 +96,10 @@ int LoadConfig() {
QueryKeyV("PsxType", Conf->PsxType);
QueryKeyV("PsxClock", Conf->PsxClock);
+ QueryKeyV("PGXP_GTE", Conf->PGXP_GTE);
+ QueryKeyV("PGXP_Cache", Conf->PGXP_Cache);
+ QueryKeyV("PGXP_Texture", Conf->PGXP_Texture);
+
if (Config.Cpu == CPU_DYNAREC) {
Config.Debug = 0; // don't enable debugger if using dynarec core
}
@@ -158,6 +162,11 @@ void SaveConfig() {
SetKeyV("PsxType", Conf->PsxType);
SetKeyV("PsxClock", Conf->PsxClock);
+ SetKeyV("PGXP_GTE", Conf->PGXP_GTE);
+ SetKeyV("PGXP_Cache", Conf->PGXP_Cache);
+ SetKeyV("PGXP_Texture", Conf->PGXP_Texture);
+
+
RegCloseKey(myKey);
}
diff --git a/win32/gui/Win32.h b/win32/gui/Win32.h
index b03a1a09..b5950c81 100755
--- a/win32/gui/Win32.h
+++ b/win32/gui/Win32.h
@@ -42,6 +42,7 @@ void strcatz(char *dst, char *src);
LRESULT WINAPI MainWndProc(HWND, UINT, WPARAM, LPARAM);
BOOL CALLBACK ConfigureMcdsDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam);
+BOOL CALLBACK ConfigurePGXPDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL CALLBACK ConfigureNetPlayDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam);
LRESULT WINAPI CheatDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam);
diff --git a/win32/gui/WndMain.c b/win32/gui/WndMain.c
index b1ff02d3..0e7a7d38 100755
--- a/win32/gui/WndMain.c
+++ b/win32/gui/WndMain.c
@@ -703,6 +703,10 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_CPUCONF), hWnd, (DLGPROC)ConfigureCpuDlgProc);
return TRUE;
+ case ID_CONFIGURATION_PGXP:
+ DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_PGXPCONF), hWnd, (DLGPROC)ConfigurePGXPDlgProc);
+ return TRUE;
+
case ID_CONFIGURATION:
ConfigurePlugins(hWnd);
return TRUE;
@@ -1328,6 +1332,53 @@ BOOL CALLBACK ConfigureMcdsDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lPa
return FALSE;
}
+
+BOOL CALLBACK ConfigurePGXPDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ long tmp;
+ RECT rect;
+
+ switch (uMsg)
+ {
+ case WM_INITDIALOG:
+ SetWindowText(hW, _("PGXP Config"));
+
+ Button_SetCheck(GetDlgItem(hW, IDC_PGXP_GTE), Config.PGXP_GTE);
+ Button_SetCheck(GetDlgItem(hW, IDC_PGXP_CACHE), Config.PGXP_Cache);
+ Button_SetCheck(GetDlgItem(hW, IDC_PGXP_PERSP), Config.PGXP_Texture);
+
+ case WM_COMMAND:
+ switch (LOWORD(wParam))
+ {
+ case IDCANCEL:
+ EndDialog(hW, FALSE);
+ return TRUE;
+ case IDOK:
+ Config.PGXP_GTE = Button_GetCheck(GetDlgItem(hW, IDC_PGXP_GTE));
+ Config.PGXP_Cache = Button_GetCheck(GetDlgItem(hW, IDC_PGXP_CACHE));
+ Config.PGXP_Texture = Button_GetCheck(GetDlgItem(hW, IDC_PGXP_PERSP));
+
+ if (Config.SaveWindowPos)
+ {
+ GetWindowRect(gApp.hWnd, &rect);
+ Config.WindowPos[0] = rect.left;
+ Config.WindowPos[1] = rect.top;
+ }
+
+ SaveConfig();
+
+ EndDialog(hW, TRUE);
+
+ if (Config.PsxOut) OpenConsole();
+ else CloseConsole();
+
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
BOOL CALLBACK ConfigureCpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {
long tmp;
RECT rect;
@@ -1763,6 +1814,8 @@ void CreateMainMenu() {
ADDMENUITEM(0, _("&Memory cards..."), ID_CONFIGURATION_MEMORYCARDMANAGER);
ADDMENUITEM(0, _("C&PU..."), ID_CONFIGURATION_CPU);
ADDSEPARATOR(0);
+ ADDMENUITEM(0, _("&PGXP..."), ID_CONFIGURATION_PGXP);
+ ADDSEPARATOR(0);
ADDMENUITEM(0, _("&NetPlay..."), ID_CONFIGURATION_NETPLAY);
ADDSEPARATOR(0);
ADDMENUITEM(0, _("&Link cable..."), ID_CONFIGURATION_LINKCABLE);