All pastes #1393169 Raw Edit

Mine

public diff v1 · immutable
#1393169 ·published 2009-04-15 20:25 UTC
rendered paste body
Index: common/include/Pcsx2Config.h===================================================================--- common/include/Pcsx2Config.h	(revision 977)+++ common/include/Pcsx2Config.h	(working copy)@@ -137,6 +137,7 @@ 	int Patch; 	int CustomFps; 	int Hacks;+	int VUCycleHack; 	int GameFixes; 	int CustomFrameSkip; 	int CustomConsecutiveFrames;Index: pcsx2/Linux/Pref.cpp===================================================================--- pcsx2/Linux/Pref.cpp	(revision 977)+++ pcsx2/Linux/Pref.cpp	(working copy)@@ -101,6 +101,9 @@ #endif 	GetValuel("Options", Config.Options); 	GetValuel("Hacks",        Config.Hacks);+	GetValuel("VUCycleHack",  Config.VUCycleHack);+	if (Config.VUCycleHack < 0 || Config.VUCycleHack > 4)+		Config.VUCycleHack = 0; 	GetValuel("Fixes",        Config.GameFixes);  	GetValuel("CustomFps",      Config.CustomFps);@@ -163,6 +166,7 @@ 	SetValuel("Options",        Config.Options);  	SetValuel("Hacks",        Config.Hacks);+	SetValuel("VUCycleHack",  Config.VUCycleHack); 	SetValuel("Fixes",        Config.GameFixes);  	SetValuel("Patch",      Config.Patch);Index: pcsx2/windows/HacksDlg.cpp===================================================================--- pcsx2/windows/HacksDlg.cpp	(revision 977)+++ pcsx2/windows/HacksDlg.cpp	(working copy)@@ -19,6 +19,23 @@  #include "win32.h" +static _TCHAR *VUCycleHackLevels[] = {+	_T("Speedup for 3D games.\nCurrently off"),+	_T("Slight speedup for 3D geometry, should work with most games."),+	_T("Moderate speedup for 3D geometry, should work with most games with minor problems."),+	_T("Large speedup for 3D geometry, may break many games and make others skip frames."),+	_T("Very large speedup for 3D geometry, will break games in interesting ways."),+};++static void CheckVUCycleHack(HWND hDlg, int &vucyclehack)+{+	if (vucyclehack < 0 || vucyclehack > 4) {+		vucyclehack = 0;+		SendDlgItemMessage(hDlg, IDC_VUCYCLE, TBM_SETPOS, TRUE, vucyclehack);+	}+	SetDlgItemText(hDlg, IDC_VUCYCLEDESC, VUCycleHackLevels[vucyclehack]);+}+ BOOL APIENTRY HacksProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {     switch (message) {@@ -31,8 +48,26 @@ 			if(CHECK_INTC_STAT_HACK) CheckDlgButton(hDlg, IDC_INTCSTATHACK, TRUE); 			if(CHECK_ESCAPE_HACK) CheckDlgButton(hDlg, IDC_ESCHACK, TRUE); +			SendDlgItemMessage(hDlg, IDC_VUCYCLE, TBM_SETRANGE, TRUE, MAKELONG(0, 4));+			CheckVUCycleHack(hDlg, Config.VUCycleHack);+			SendDlgItemMessage(hDlg, IDC_VUCYCLE, TBM_SETPOS, TRUE, Config.VUCycleHack);+ 		return TRUE; +		case WM_HSCROLL: {+			HWND slider = (HWND)lParam;+			int curpos = HIWORD(wParam);+			switch (LOWORD(wParam)) {+				case TB_THUMBTRACK:+				case TB_THUMBPOSITION:+					break;+				default:+					curpos = SendMessage(slider, TBM_GETPOS, 0, 0);+			}+			CheckVUCycleHack(hDlg, curpos);+			return FALSE;+		}+         case WM_COMMAND: 			switch (LOWORD(wParam)) 			{@@ -53,12 +88,16 @@ 					newhacks |= IsDlgButtonChecked(hDlg, IDC_INTCSTATHACK) << 5; 					newhacks |= IsDlgButtonChecked(hDlg, IDC_ESCHACK) << 10; +					int newvucyclehack = SendDlgItemMessage(hDlg, IDC_VUCYCLE, TBM_GETPOS, 0, 0);+					CheckVUCycleHack(hDlg, newvucyclehack);+ 					EndDialog(hDlg, TRUE); -					if( newhacks != Config.Hacks )+					if( newhacks != Config.Hacks || newvucyclehack != Config.VUCycleHack) 					{ 						SysRestorableReset(); 						Config.Hacks = newhacks;+						Config.VUCycleHack = newvucyclehack; 						SaveConfig(); 					} 				}Index: pcsx2/windows/ini.cpp===================================================================--- pcsx2/windows/ini.cpp	(revision 977)+++ pcsx2/windows/ini.cpp	(working copy)@@ -223,6 +223,9 @@ 	Entry( "eeOptions", Conf.eeOptions, DEFAULT_eeOptions ); 	Entry( "vuOptions", Conf.vuOptions, DEFAULT_vuOptions ); 	Entry( "SpeedHacks", Conf.Hacks );+	Entry( "VUCycleHack", Conf.VUCycleHack, 0 );+	if (Conf.VUCycleHack < 0 || Conf.VUCycleHack > 4)+		Conf.VUCycleHack = 0; }  //////////////////////////////////////////////////////////////////////////////////////////Index: pcsx2/windows/pcsx2.rc===================================================================--- pcsx2/windows/pcsx2.rc	(revision 977)+++ pcsx2/windows/pcsx2.rc	(working copy)@@ -371,6 +371,9 @@     LTEXT           "Moderate speedup and works well with most games.",IDC_STATIC,25,90,129,19     CONTROL         "INTC Sync Hack (experimental)",IDC_INTCSTATHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,43,127,10     LTEXT           "Huge speedup in many games, and a pretty high compatibility rate (some games still work better with EE sync hacks).",IDC_STATIC,186,55,140,28+    CONTROL         "",IDC_VUCYCLE,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,174,176,36,15+    LTEXT           "This space intentionally left blank",IDC_VUCYCLEDESC,186,194,142,30+    LTEXT           "VU Cycle Stealing (experimental)",IDC_STATIC,210,180,105,8 END  @@ -393,6 +396,8 @@         LEFTMARGIN, 7         RIGHTMARGIN, 328         VERTGUIDE, 13+        VERTGUIDE, 174+        VERTGUIDE, 186         TOPMARGIN, 7         BOTTOMMARGIN, 256     ENDIndex: pcsx2/windows/resource.h===================================================================--- pcsx2/windows/resource.h	(revision 977)+++ pcsx2/windows/resource.h	(working copy)@@ -272,6 +272,9 @@ #define IDC_MCD_LABEL2                  1325 #define IDC_INTCSTATHACK                1326 #define IDC_EE_CHECK3                   1327+#define IDC_SLIDER1                     1327+#define IDC_VUCYCLE                     1327+#define IDC_VUCYCLEDESC                 1328 #define IDC_CPULOG                      1500 #define IDC_MEMLOG                      1501 #define IDC_HWLOG                       1502@@ -405,7 +408,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE        141 #define _APS_NEXT_COMMAND_VALUE         40018-#define _APS_NEXT_CONTROL_VALUE         1326+#define _APS_NEXT_CONTROL_VALUE         1329 #define _APS_NEXT_SYMED_VALUE           104 #endif #endifIndex: pcsx2/x86/iVUzerorec.cpp===================================================================--- pcsx2/x86/iVUzerorec.cpp	(revision 977)+++ pcsx2/x86/iVUzerorec.cpp	(working copy)@@ -2294,6 +2294,7 @@  	VU = vuindex ? &VU1 : &VU0; 	VU->cycle += s_TotalVUCycles;+	cpuRegs.cycle += s_TotalVUCycles * Config.VUCycleHack; 	if( (int)s_writeQ > 0 ) VU->VI[REG_Q] = VU->q; 	if( (int)s_writeP > 0 ) { 		assert(VU == &VU1);