mirror of https://github.com/PCSX2/pcsx2.git
New "GameFixes" dialogue. Its intended to remove the need for patches. This is my first dialogue, so please bear with me, k? :p
git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@82 a6443dda-0b58-4228-96e9-037be469359c
This commit is contained in:
parent
1e363e9b33
commit
77381da985
|
@ -103,6 +103,7 @@ typedef struct {
|
||||||
int ThPriority;
|
int ThPriority;
|
||||||
int CustomFps;
|
int CustomFps;
|
||||||
int Hacks;
|
int Hacks;
|
||||||
|
int GameFixes;
|
||||||
int CustomFrameSkip;
|
int CustomFrameSkip;
|
||||||
int CustomConsecutiveFrames;
|
int CustomConsecutiveFrames;
|
||||||
int CustomConsecutiveSkip;
|
int CustomConsecutiveSkip;
|
||||||
|
|
|
@ -716,6 +716,34 @@ BOOL APIENTRY AdvancedProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL APIENTRY GameFixes(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
|
{
|
||||||
|
switch (message)
|
||||||
|
{
|
||||||
|
case WM_INITDIALOG:
|
||||||
|
SetWindowText(hDlg, _("Game specific Fixes"));
|
||||||
|
if(Config.GameFixes & 0x1) CheckDlgButton(hDlg, IDC_ROUNDMODE, TRUE);
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
case WM_COMMAND:
|
||||||
|
if (LOWORD(wParam) == IDOK)
|
||||||
|
{
|
||||||
|
Config.GameFixes = 0;
|
||||||
|
Config.GameFixes |= IsDlgButtonChecked(hDlg, IDC_ROUNDMODE) ? 0x1 : 0;
|
||||||
|
|
||||||
|
SaveConfig();
|
||||||
|
|
||||||
|
EndDialog(hDlg, TRUE);
|
||||||
|
}
|
||||||
|
else if (LOWORD(wParam) == IDCANCEL) {
|
||||||
|
EndDialog(hDlg, TRUE);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
BOOL APIENTRY HacksProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {
|
BOOL APIENTRY HacksProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {
|
||||||
//char str[256];
|
//char str[256];
|
||||||
|
|
||||||
|
@ -803,6 +831,9 @@ LRESULT WINAPI MainWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
switch (LOWORD(wParam))
|
switch (LOWORD(wParam))
|
||||||
{
|
{
|
||||||
|
case ID_GAMEFIXES:
|
||||||
|
DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_GAMEFIXES), hWnd, (DLGPROC)GameFixes);
|
||||||
|
return TRUE;
|
||||||
case ID_HACKS:
|
case ID_HACKS:
|
||||||
DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_HACKS), hWnd, (DLGPROC)HacksProc);
|
DialogBox(gApp.hInstance, MAKEINTRESOURCE(IDD_HACKS), hWnd, (DLGPROC)HacksProc);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -1136,6 +1167,7 @@ void CreateMainMenu() {
|
||||||
// ADDMENUITEM(0,_("&Advanced"), ID_CONFIG_ADVANCED);
|
// ADDMENUITEM(0,_("&Advanced"), ID_CONFIG_ADVANCED);
|
||||||
#endif
|
#endif
|
||||||
ADDMENUITEM(0,_("Speed &Hacks"), ID_HACKS);
|
ADDMENUITEM(0,_("Speed &Hacks"), ID_HACKS);
|
||||||
|
ADDMENUITEM(0,_("Gamefixes"), ID_GAMEFIXES);
|
||||||
ADDMENUITEM(0,_("&Patches"), ID_PATCHBROWSER);
|
ADDMENUITEM(0,_("&Patches"), ID_PATCHBROWSER);
|
||||||
ADDMENUITEM(0,_("C&pu"), ID_CONFIG_CPU);
|
ADDMENUITEM(0,_("C&pu"), ID_CONFIG_CPU);
|
||||||
ADDMENUITEM(0,_("&Memcards"), ID_CONFIG_MEMCARDS);
|
ADDMENUITEM(0,_("&Memcards"), ID_CONFIG_MEMCARDS);
|
||||||
|
@ -1301,7 +1333,6 @@ BOOL Open_File_Proc(char * filename) {
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
//2002-09-20 (Florin)
|
//2002-09-20 (Florin)
|
||||||
BOOL APIENTRY CmdlineProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
BOOL APIENTRY CmdlineProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
|
|
|
@ -101,6 +101,8 @@ int LoadConfig() {
|
||||||
#endif
|
#endif
|
||||||
GetPrivateProfileString("Misc", "Hacks", NULL, szValue, 20, szIniFile);
|
GetPrivateProfileString("Misc", "Hacks", NULL, szValue, 20, szIniFile);
|
||||||
Conf->Hacks = strtoul(szValue, NULL, 0);
|
Conf->Hacks = strtoul(szValue, NULL, 0);
|
||||||
|
GetPrivateProfileString("Misc", "GameFixes", NULL, szValue, 20, szIniFile);
|
||||||
|
Conf->GameFixes = strtoul(szValue, NULL, 0);
|
||||||
|
|
||||||
#ifdef ENABLE_NLS
|
#ifdef ENABLE_NLS
|
||||||
sprintf(text, "LANGUAGE=%s", Conf->Lang);
|
sprintf(text, "LANGUAGE=%s", Conf->Lang);
|
||||||
|
@ -179,6 +181,8 @@ void SaveConfig() {
|
||||||
WritePrivateProfileString("Misc","varLog",szValue,szIniFile);
|
WritePrivateProfileString("Misc","varLog",szValue,szIniFile);
|
||||||
sprintf(szValue,"%u",Conf->Hacks);
|
sprintf(szValue,"%u",Conf->Hacks);
|
||||||
WritePrivateProfileString("Misc","Hacks",szValue,szIniFile);
|
WritePrivateProfileString("Misc","Hacks",szValue,szIniFile);
|
||||||
|
sprintf(szValue,"%u",Conf->GameFixes);
|
||||||
|
WritePrivateProfileString("Misc","GameFixes",szValue,szIniFile);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,56 @@ END
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// German (Germany) resources
|
||||||
|
|
||||||
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
|
||||||
|
#ifdef _WIN32
|
||||||
|
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
|
||||||
|
#pragma code_page(1252)
|
||||||
|
#endif //_WIN32
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Dialog
|
||||||
|
//
|
||||||
|
|
||||||
|
IDD_GAMEFIXES DIALOGEX 0, 0, 316, 184
|
||||||
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
|
CAPTION "Dialog"
|
||||||
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
|
BEGIN
|
||||||
|
DEFPUSHBUTTON "OK",IDOK,205,163,50,14
|
||||||
|
PUSHBUTTON "Cancel",IDCANCEL,259,163,50,14
|
||||||
|
LTEXT "Some games need special settings. Configure them here",IDC_STATIC,60,7,181,8
|
||||||
|
CONTROL "Change EE Recompiler Roundmode",IDC_ROUNDMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,25,127,10
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// DESIGNINFO
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
GUIDELINES DESIGNINFO
|
||||||
|
BEGIN
|
||||||
|
IDD_GAMEFIXES, DIALOG
|
||||||
|
BEGIN
|
||||||
|
LEFTMARGIN, 7
|
||||||
|
RIGHTMARGIN, 309
|
||||||
|
VERTGUIDE, 60
|
||||||
|
VERTGUIDE, 241
|
||||||
|
TOPMARGIN, 7
|
||||||
|
BOTTOMMARGIN, 177
|
||||||
|
END
|
||||||
|
END
|
||||||
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
#endif // German (Germany) resources
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// English (U.S.) resources
|
// English (U.S.) resources
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#define IDD_USERNAME 129
|
#define IDD_USERNAME 129
|
||||||
#define IDB_PS2SILVER 132
|
#define IDB_PS2SILVER 132
|
||||||
#define IDD_CHEATS 133
|
#define IDD_CHEATS 133
|
||||||
|
#define IDD_GAMEFIXES 134
|
||||||
#define IDD_HACKS 135
|
#define IDD_HACKS 135
|
||||||
#define IDD_DUMP 136
|
#define IDD_DUMP 136
|
||||||
#define IDD_DUMPMEM 137
|
#define IDD_DUMPMEM 137
|
||||||
|
@ -611,6 +612,7 @@
|
||||||
#define IDC_VUCLIPHACK 1302
|
#define IDC_VUCLIPHACK 1302
|
||||||
#define IDC_FRAMELIMIT_OPTIONS 1303
|
#define IDC_FRAMELIMIT_OPTIONS 1303
|
||||||
#define IDC_FPUCLAMPHACK 1303
|
#define IDC_FPUCLAMPHACK 1303
|
||||||
|
#define IDC_ROUNDMODE 1304
|
||||||
#define IDC_LOG 1500
|
#define IDC_LOG 1500
|
||||||
#define IDC_CPULOG 1500
|
#define IDC_CPULOG 1500
|
||||||
#define IDC_MEMLOG 1501
|
#define IDC_MEMLOG 1501
|
||||||
|
@ -737,13 +739,14 @@
|
||||||
#define ID_CHEAT_FINDER_SHOW 40100
|
#define ID_CHEAT_FINDER_SHOW 40100
|
||||||
#define ID_CHEAT_BROWSER_SHOW 40101
|
#define ID_CHEAT_BROWSER_SHOW 40101
|
||||||
#define ID_HACKS 40102
|
#define ID_HACKS 40102
|
||||||
|
#define ID_GAMEFIXES 40103
|
||||||
#define ID_LANGS 50000
|
#define ID_LANGS 50000
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
//
|
//
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 136
|
#define _APS_NEXT_RESOURCE_VALUE 140
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40018
|
#define _APS_NEXT_COMMAND_VALUE 40018
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1304
|
#define _APS_NEXT_CONTROL_VALUE 1304
|
||||||
#define _APS_NEXT_SYMED_VALUE 102
|
#define _APS_NEXT_SYMED_VALUE 102
|
||||||
|
|
|
@ -1461,7 +1461,9 @@ void SetCPUState(u32 sseMXCSR, u32 sseVUMXCSR)
|
||||||
sseVUMXCSR &= 0xffff;
|
sseVUMXCSR &= 0xffff;
|
||||||
|
|
||||||
if( cpucaps.hasStreamingSIMDExtensions ) {
|
if( cpucaps.hasStreamingSIMDExtensions ) {
|
||||||
g_sseMXCSR = sseMXCSR;
|
if(Config.GameFixes & 0x1) g_sseMXCSR = 0xffc0;
|
||||||
|
else g_sseMXCSR = sseMXCSR;
|
||||||
|
|
||||||
g_sseVUMXCSR = sseVUMXCSR;
|
g_sseVUMXCSR = sseVUMXCSR;
|
||||||
// do NOT set Denormals-Are-Zero flag (charlie and chocfac messes up)
|
// do NOT set Denormals-Are-Zero flag (charlie and chocfac messes up)
|
||||||
// Update 11/05/08 - Doesnt seem to effect it anymore, for the speed boost, its on :p
|
// Update 11/05/08 - Doesnt seem to effect it anymore, for the speed boost, its on :p
|
||||||
|
|
Loading…
Reference in New Issue