From 43d719192748346dde41f6e45bc9e08b2f91bed3 Mon Sep 17 00:00:00 2001 From: cottonvibes Date: Fri, 13 Mar 2009 07:20:04 +0000 Subject: [PATCH] cleanup: moved 'software emulate mul' to gamefixes section since it seems to only be needed by 1 game. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@765 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/windows/AdvancedDlg.cpp | 4 --- pcsx2/windows/WinMain.cpp | 2 ++ pcsx2/windows/pcsx2.rc | 62 ++++++++++++++++++----------------- pcsx2/x86/iFPU.cpp | 4 +-- pcsx2/x86/iFPUd.cpp | 2 +- 5 files changed, 37 insertions(+), 37 deletions(-) diff --git a/pcsx2/windows/AdvancedDlg.cpp b/pcsx2/windows/AdvancedDlg.cpp index 1546ae31e7..16a6f0d3aa 100644 --- a/pcsx2/windows/AdvancedDlg.cpp +++ b/pcsx2/windows/AdvancedDlg.cpp @@ -35,8 +35,6 @@ static void InitRoundClampModes( HWND hDlg, u32 new_eeopt, u32 new_vuopt ) else if (new_vuopt & 0x1) CheckRadioButton(hDlg, IDC_VU_CLAMPMODE0, IDC_VU_CLAMPMODE3, IDC_VU_CLAMPMODE0 + 1); else CheckRadioButton(hDlg, IDC_VU_CLAMPMODE0, IDC_VU_CLAMPMODE3, IDC_VU_CLAMPMODE0 + 0); - CheckDlgButton(hDlg, IDC_EE_CHECK3, (new_eeopt & 0x8) ? TRUE : FALSE); - if (new_eeopt & 0x4) CheckRadioButton(hDlg, IDC_EE_CLAMPMODE0, IDC_EE_CLAMPMODE3, IDC_EE_CLAMPMODE0 + 3); else if (new_eeopt & 0x2) CheckRadioButton(hDlg, IDC_EE_CLAMPMODE0, IDC_EE_CLAMPMODE3, IDC_EE_CLAMPMODE0 + 2); else if (new_eeopt & 0x1) CheckRadioButton(hDlg, IDC_EE_CLAMPMODE0, IDC_EE_CLAMPMODE3, IDC_EE_CLAMPMODE0 + 1); @@ -96,8 +94,6 @@ BOOL APIENTRY AdvancedOptionsProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM new_eeopt |= IsDlgButtonChecked(hDlg, IDC_EE_CLAMPMODE2) ? 0x3 : 0; new_eeopt |= IsDlgButtonChecked(hDlg, IDC_EE_CLAMPMODE3) ? 0x7 : 0; - new_eeopt |= IsDlgButtonChecked(hDlg, IDC_EE_CHECK3) ? 0x8 : 0; - new_vuopt |= IsDlgButtonChecked(hDlg, IDC_VU_CLAMPMODE0) ? 0x0 : 0; new_vuopt |= IsDlgButtonChecked(hDlg, IDC_VU_CLAMPMODE1) ? 0x1 : 0; new_vuopt |= IsDlgButtonChecked(hDlg, IDC_VU_CLAMPMODE2) ? 0x3 : 0; diff --git a/pcsx2/windows/WinMain.cpp b/pcsx2/windows/WinMain.cpp index dc0d9b6fbc..e1dd5a4e83 100644 --- a/pcsx2/windows/WinMain.cpp +++ b/pcsx2/windows/WinMain.cpp @@ -526,6 +526,7 @@ BOOL APIENTRY GameFixes(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) if(Config.GameFixes & 0x1) CheckDlgButton(hDlg, IDC_GAMEFIX2, TRUE);//Tri-Ace fix if(Config.GameFixes & 0x4) CheckDlgButton(hDlg, IDC_GAMEFIX3, TRUE);//Digimon FPU compare fix if(Config.GameFixes & 0x2) CheckDlgButton(hDlg, IDC_GAMEFIX4, TRUE);//GoW fix + if(Config.GameFixes & 0x8) CheckDlgButton(hDlg, IDC_GAMEFIX5, TRUE);//Tales of Destiny fix return TRUE; case WM_COMMAND: @@ -535,6 +536,7 @@ BOOL APIENTRY GameFixes(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) newfixes |= IsDlgButtonChecked(hDlg, IDC_GAMEFIX2) ? 0x1 : 0; newfixes |= IsDlgButtonChecked(hDlg, IDC_GAMEFIX3) ? 0x4 : 0; newfixes |= IsDlgButtonChecked(hDlg, IDC_GAMEFIX4) ? 0x2 : 0; + newfixes |= IsDlgButtonChecked(hDlg, IDC_GAMEFIX5) ? 0x8 : 0; EndDialog(hDlg, TRUE); diff --git a/pcsx2/windows/pcsx2.rc b/pcsx2/windows/pcsx2.rc index bd892dca42..c1792704d7 100644 --- a/pcsx2/windows/pcsx2.rc +++ b/pcsx2/windows/pcsx2.rc @@ -74,21 +74,23 @@ LANGUAGE LANG_GERMAN, SUBLANG_GERMAN // Dialog // -IDD_GAMEFIXES DIALOGEX 0, 0, 278, 127 +IDD_GAMEFIXES DIALOGEX 0, 0, 279, 132 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Game Special Fixes" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - DEFPUSHBUTTON "OK",IDOK,85,91,50,14 - PUSHBUTTON "Cancel",IDCANCEL,139,91,50,14 - CTEXT "Some games need special settings.\nConfigure them here.",IDC_STATIC,7,7,264,17 - GROUPBOX "PCSX2 Gamefixes",IDC_STATIC,7,31,264,89 + DEFPUSHBUTTON "OK",IDOK,87,105,50,14 + PUSHBUTTON "Cancel",IDCANCEL,142,105,50,14 + CTEXT "Some games need special settings.\nConfigure them here.",IDC_STATIC,7,7,265,17 + GROUPBOX "PCSX2 Gamefixes",IDC_STATIC,7,28,265,97 CONTROL "FPU Compare Hack - Special fix for Digimon Rumble Arena 2.",IDC_GAMEFIX3, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,47,249,10 - CONTROL "VU Add / Sub Hack - Special fix for Tri-Ace games!",IDC_GAMEFIX2, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,61,252,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,43,249,10 + CONTROL "VU Add Hack - Special fix for Tri-Ace games!",IDC_GAMEFIX2, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,72,252,10 CONTROL "VU Clip Hack - Special fix for God of War",IDC_GAMEFIX4, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,75,144,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,86,238,10 + CONTROL "FPU Mul Hack - Special fix for Tales of Destiny (possibly other games).",IDC_GAMEFIX5, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,57,249,10 END @@ -103,10 +105,11 @@ BEGIN IDD_GAMEFIXES, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 271 - VERTGUIDE, 12 + RIGHTMARGIN, 272 + VERTGUIDE, 14 TOPMARGIN, 7 - BOTTOMMARGIN, 120 + BOTTOMMARGIN, 125 + HORZGUIDE, 119 END END #endif // APSTUDIO_INVOKED @@ -195,31 +198,30 @@ BEGIN RADIOBUTTON "Chop / Zero",IDC_EE_ROUNDMODE3,156,36,54,16 CONTROL " Flush to Zero",IDC_EE_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,105,58,13 CONTROL " Denormals are Zero",IDC_EE_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,111,105,79,13 - CONTROL " Flush to Zero",IDC_VU_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,232,58,13 - CONTROL " Denormals are Zero",IDC_VU_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,111,232,81,13 - RADIOBUTTON "Nearest",IDC_VU_ROUNDMODE0,20,172,44,12 - RADIOBUTTON "Negative",IDC_VU_ROUNDMODE1,64,172,47,12 - RADIOBUTTON "Positive",IDC_VU_ROUNDMODE2,111,172,45,12 - RADIOBUTTON "Chop / Zero",IDC_VU_ROUNDMODE3,156,172,52,12 + CONTROL " Flush to Zero",IDC_VU_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,217,58,13 + CONTROL " Denormals are Zero",IDC_VU_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,111,217,81,13 + RADIOBUTTON "Nearest",IDC_VU_ROUNDMODE0,20,157,44,12 + RADIOBUTTON "Negative",IDC_VU_ROUNDMODE1,64,157,47,12 + RADIOBUTTON "Positive",IDC_VU_ROUNDMODE2,111,157,45,12 + RADIOBUTTON "Chop / Zero",IDC_VU_ROUNDMODE3,156,157,52,12 PUSHBUTTON "Defaults",IDDEFAULT,346,254,50,14 - GROUPBOX "VU Recs Options",IDC_STATIC,7,146,250,122,BS_CENTER - GROUPBOX "EE Recs Options",IDC_STATIC,7,12,250,129,BS_CENTER - GROUPBOX "Round Mode",IDC_STATIC,11,159,236,32 + GROUPBOX "VU Recs Options",IDC_STATIC,7,133,250,118,BS_CENTER + GROUPBOX "EE Recs Options",IDC_STATIC,7,12,250,113,BS_CENTER + GROUPBOX "Round Mode",IDC_STATIC,11,144,236,32 GROUPBOX "Round Mode",IDC_STATIC,11,26,236,36 - GROUPBOX "Help",IDC_STATIC,271,12,251,238,BS_CENTER - GROUPBOX "Clamp Mode",IDC_STATIC,11,196,236,31 - RADIOBUTTON "None",IDC_VU_CLAMPMODE0,20,207,44,12 - RADIOBUTTON "Normal",IDC_VU_CLAMPMODE1,64,207,47,12 - RADIOBUTTON "Extra",IDC_VU_CLAMPMODE2,111,207,45,12 - RADIOBUTTON "Extra + Preserve Sign",IDC_VU_CLAMPMODE3,156,207,85,12 - CONTROL " Set O and U Flags",IDC_VU_CHECK3,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,20,250,91,13 - CONTROL " Software Emulate DaZ",IDC_VU_CHECK4,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,111,250,116,13 + GROUPBOX "Help",IDC_STATIC,271,12,251,239,BS_CENTER + GROUPBOX "Clamp Mode",IDC_STATIC,11,181,236,31 + RADIOBUTTON "None",IDC_VU_CLAMPMODE0,20,192,44,12 + RADIOBUTTON "Normal",IDC_VU_CLAMPMODE1,64,192,47,12 + RADIOBUTTON "Extra",IDC_VU_CLAMPMODE2,111,192,45,12 + RADIOBUTTON "Extra + Preserve Sign",IDC_VU_CLAMPMODE3,156,192,85,12 + CONTROL " Set O and U Flags",IDC_VU_CHECK3,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,20,235,91,13 + CONTROL " Software Emulate DaZ",IDC_VU_CHECK4,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,111,235,116,13 GROUPBOX "Clamp Mode",IDC_STATIC,11,67,236,31 RADIOBUTTON "None",IDC_EE_CLAMPMODE0,20,76,44,16 RADIOBUTTON "Normal",IDC_EE_CLAMPMODE1,64,76,47,16 RADIOBUTTON "Extra + Preserve Sign",IDC_EE_CLAMPMODE2,111,76,91,16 RADIOBUTTON "Full",IDC_EE_CLAMPMODE3,202,76,38,16 - CONTROL " Software Emulate MUL",IDC_EE_CHECK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,123,116,13 LTEXT "These options specify how your CPU rounds floating point values.\n\nTry changing the roundmode for EE if your game hangs, it could make it work again.",IDC_STATIC,287,33,216,35 GROUPBOX "Round Mode",IDC_STATIC,281,22,235,51,BS_LEFT GROUPBOX "Clamp Mode",IDC_STATIC,281,80,236,127,BS_LEFT diff --git a/pcsx2/x86/iFPU.cpp b/pcsx2/x86/iFPU.cpp index fcfdc6a140..7e02e4877c 100644 --- a/pcsx2/x86/iFPU.cpp +++ b/pcsx2/x86/iFPU.cpp @@ -592,7 +592,7 @@ void FPU_SUB(int regd, int regt) { // FPU_MUL (Used to approximate PS2's FPU mul behavior) //------------------------------------------------------------------ // PS2's multiplication uses some modification (possibly not the one used in this function) -// of booth multiplication with wallace trees (not used in this function) +// of booth multiplication with wallace trees (not used in this function) // it cuts of some bits, resulting in inaccurate and non-commutative results. // This function attempts to replicate this. It is currently inaccurate. But still not too bad. //------------------------------------------------------------------ @@ -653,7 +653,7 @@ u32 __fastcall FPU_MUL_MANTISSA(u32 s, u32 t) void FPU_MUL(int regd, int regt) { - if (CHECK_FPU_ATTEMPT_MUL) + if (CHECK_FPUMULHACK) { SSE2_MOVD_XMM_to_R(ECX, regd); SSE2_MOVD_XMM_to_R(EDX, regt); diff --git a/pcsx2/x86/iFPUd.cpp b/pcsx2/x86/iFPUd.cpp index 12b887fbe0..7b9e0edb68 100644 --- a/pcsx2/x86/iFPUd.cpp +++ b/pcsx2/x86/iFPUd.cpp @@ -391,7 +391,7 @@ void FPU_ADD_SUB(int tempd, int tempt) //tempd and tempt are overwritten, they a void FPU_MUL(int info, int regd, int sreg, int treg, bool acc) { - if (CHECK_FPU_ATTEMPT_MUL) + if (CHECK_FPUMULHACK) { SSE2_MOVD_XMM_to_R(ECX, sreg); SSE2_MOVD_XMM_to_R(EDX, treg);