diff options
| author | iCatButler <i.am.catbutler@gmail.com> | 2016-05-16 16:17:19 +0100 |
|---|---|---|
| committer | iCatButler <i.am.catbutler@gmail.com> | 2016-05-16 16:17:19 +0100 |
| commit | a64d62be4b433fcad3804d3bb616bdf4f13504f4 (patch) | |
| tree | a149e7e9795065735e4e3966b3b0078b60caeb9b /win32/gui | |
| parent | 1e37eec079558337768c4487fcd0fdd80ea8b005 (diff) | |
| download | pcsxr-a64d62be4b433fcad3804d3bb616bdf4f13504f4.tar.gz | |
Add PGXP configuration dialog
- Allows independent toggling of PGXP, vertex caching and texture correction
Diffstat (limited to 'win32/gui')
| -rwxr-xr-x | win32/gui/ConfigurePlugins.c | 9 | ||||
| -rwxr-xr-x | win32/gui/Win32.h | 1 | ||||
| -rwxr-xr-x | win32/gui/WndMain.c | 53 |
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); |
