add win32 ui for game-specific workarounds toggling

This commit is contained in:
zeromus 2017-03-01 00:34:31 -06:00
parent cfae9c7674
commit 8e18531784
3 changed files with 46 additions and 43 deletions

View File

@ -2988,6 +2988,7 @@ int _main()
CommonSettings.showGpu.sub = GetPrivateProfileInt("Display", "SubGpu", 1, IniName) != 0; CommonSettings.showGpu.sub = GetPrivateProfileInt("Display", "SubGpu", 1, IniName) != 0;
CommonSettings.spu_advanced = GetPrivateProfileBool("Sound", "SpuAdvanced", false, IniName); CommonSettings.spu_advanced = GetPrivateProfileBool("Sound", "SpuAdvanced", false, IniName);
CommonSettings.advanced_timing = GetPrivateProfileBool("Emulation", "AdvancedTiming", true, IniName); CommonSettings.advanced_timing = GetPrivateProfileBool("Emulation", "AdvancedTiming", true, IniName);
CommonSettings.pokehax = GetPrivateProfileBool("Emulation", "Pokehax", false, IniName);
CommonSettings.StylusJitter = GetPrivateProfileBool("Emulation", "StylusJitter", false, IniName); CommonSettings.StylusJitter = GetPrivateProfileBool("Emulation", "StylusJitter", false, IniName);
CommonSettings.GFX3D_Zelda_Shadow_Depth_Hack = GetPrivateProfileInt("3D", "ZeldaShadowDepthHack", 0, IniName); CommonSettings.GFX3D_Zelda_Shadow_Depth_Hack = GetPrivateProfileInt("3D", "ZeldaShadowDepthHack", 0, IniName);
@ -6446,6 +6447,7 @@ LRESULT CALLBACK EmulationSettingsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, L
CheckDlgItem(hDlg,IDC_CHECKBOX_DEBUGGERMODE,CommonSettings.DebugConsole); CheckDlgItem(hDlg,IDC_CHECKBOX_DEBUGGERMODE,CommonSettings.DebugConsole);
CheckDlgItem(hDlg,IDC_CHECKBOX_ENSATAEMULATION,CommonSettings.EnsataEmulation); CheckDlgItem(hDlg,IDC_CHECKBOX_ENSATAEMULATION,CommonSettings.EnsataEmulation);
CheckDlgItem(hDlg, IDC_CHECBOX_ADVANCEDTIMING, CommonSettings.advanced_timing); CheckDlgItem(hDlg, IDC_CHECBOX_ADVANCEDTIMING, CommonSettings.advanced_timing);
CheckDlgItem(hDlg, IDC_CHECBOX_POKEHAX, CommonSettings.pokehax);
CheckDlgItem(hDlg,IDC_USEEXTBIOS,CommonSettings.UseExtBIOS); CheckDlgItem(hDlg,IDC_USEEXTBIOS,CommonSettings.UseExtBIOS);
CheckDlgItem(hDlg, IDC_BIOSSWIS, CommonSettings.SWIFromBIOS); CheckDlgItem(hDlg, IDC_BIOSSWIS, CommonSettings.SWIFromBIOS);
CheckDlgItem(hDlg, IDC_PATCHSWI3, CommonSettings.PatchSWI3); CheckDlgItem(hDlg, IDC_PATCHSWI3, CommonSettings.PatchSWI3);
@ -6551,6 +6553,7 @@ LRESULT CALLBACK EmulationSettingsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, L
CommonSettings.DebugConsole = IsDlgCheckboxChecked(hDlg, IDC_CHECKBOX_DEBUGGERMODE); CommonSettings.DebugConsole = IsDlgCheckboxChecked(hDlg, IDC_CHECKBOX_DEBUGGERMODE);
CommonSettings.EnsataEmulation = IsDlgCheckboxChecked(hDlg, IDC_CHECKBOX_ENSATAEMULATION); CommonSettings.EnsataEmulation = IsDlgCheckboxChecked(hDlg, IDC_CHECKBOX_ENSATAEMULATION);
CommonSettings.advanced_timing = IsDlgCheckboxChecked(hDlg, IDC_CHECBOX_ADVANCEDTIMING); CommonSettings.advanced_timing = IsDlgCheckboxChecked(hDlg, IDC_CHECBOX_ADVANCEDTIMING);
CommonSettings.pokehax = IsDlgCheckboxChecked(hDlg, IDC_CHECKBOX_POKEHAX);
#ifdef HAVE_JIT #ifdef HAVE_JIT
CommonSettings.use_jit = IsDlgCheckboxChecked(hDlg, IDC_CHECKBOX_DYNAREC); CommonSettings.use_jit = IsDlgCheckboxChecked(hDlg, IDC_CHECKBOX_DYNAREC);
if (CommonSettings.use_jit) if (CommonSettings.use_jit)
@ -6563,6 +6566,7 @@ LRESULT CALLBACK EmulationSettingsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, L
WritePrivateProfileInt("Emulation", "DebugConsole", ((CommonSettings.DebugConsole == true) ? 1 : 0), IniName); WritePrivateProfileInt("Emulation", "DebugConsole", ((CommonSettings.DebugConsole == true) ? 1 : 0), IniName);
WritePrivateProfileInt("Emulation", "EnsataEmulation", ((CommonSettings.EnsataEmulation == true) ? 1 : 0), IniName); WritePrivateProfileInt("Emulation", "EnsataEmulation", ((CommonSettings.EnsataEmulation == true) ? 1 : 0), IniName);
WritePrivateProfileBool("Emulation", "AdvancedTiming", CommonSettings.advanced_timing, IniName); WritePrivateProfileBool("Emulation", "AdvancedTiming", CommonSettings.advanced_timing, IniName);
WritePrivateProfileBool("Emulation", "Pokehax", CommonSettings.pokehax, IniName);
WritePrivateProfileInt("BIOS", "UseExtBIOS", ((CommonSettings.UseExtBIOS == true) ? 1 : 0), IniName); WritePrivateProfileInt("BIOS", "UseExtBIOS", ((CommonSettings.UseExtBIOS == true) ? 1 : 0), IniName);
WritePrivateProfileString("BIOS", "ARM9BIOSFile", CommonSettings.ARM9BIOS, IniName); WritePrivateProfileString("BIOS", "ARM9BIOSFile", CommonSettings.ARM9BIOS, IniName);
WritePrivateProfileString("BIOS", "ARM7BIOSFile", CommonSettings.ARM7BIOS, IniName); WritePrivateProfileString("BIOS", "ARM7BIOSFile", CommonSettings.ARM7BIOS, IniName);

View File

@ -369,6 +369,8 @@
#define IDC_3DCORE 1028 #define IDC_3DCORE 1028
#define IDC_SNDCTRL_ENABLE 1028 #define IDC_SNDCTRL_ENABLE 1028
#define IDC_DTP_TIME 1028 #define IDC_DTP_TIME 1028
#define IDC_CHECBOX_POKEHAX 1028
#define IDC_CHECKBOX_POKEHAX 1028
#define IDC_TXT_COMPILED 1029 #define IDC_TXT_COMPILED 1029
#define IDC_SNDCTRL_CH1NOMIX 1029 #define IDC_SNDCTRL_CH1NOMIX 1029
#define IDC_DTP_DATE2 1029 #define IDC_DTP_DATE2 1029

View File

@ -434,49 +434,51 @@ BEGIN
GROUPBOX "Data Size",IDC_STATIC,94,37,73,44,0,WS_EX_TRANSPARENT GROUPBOX "Data Size",IDC_STATIC,94,37,73,44,0,WS_EX_TRANSPARENT
END END
IDD_EMULATIONSETTINGS DIALOGEX 0, 0, 477, 225 IDD_EMULATIONSETTINGS DIALOGEX 0, 0, 477, 234
STYLE DS_SETFONT | DS_CENTER | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_CENTER | WS_CAPTION | WS_SYSMENU
CAPTION "Emulation settings" CAPTION "Emulation settings"
FONT 8, "MS Sans Serif", 0, 0, 0x0 FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "OK",IDOK,366,206,50,14 DEFPUSHBUTTON "OK",IDOK,368,215,50,14
PUSHBUTTON "Cancel",IDCANCEL,419,206,50,14 PUSHBUTTON "Cancel",IDCANCEL,421,215,50,14
CONTROL "Use 8MB debugger mode when starting execution",IDC_CHECKBOX_DEBUGGERMODE,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,251,79,182,10
LTEXT "If you have to ask, you don't need to change these.",IDC_STATIC,251,68,169,8
GROUPBOX "BIOS",IDC_STATIC,5,4,230,118
CONTROL "Use external BIOS images",IDC_USEEXTBIOS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,19,210,10
LTEXT "ARM9 BIOS image:",IDC_STATIC,15,34,210,8
EDITTEXT IDC_ARM9BIOS,15,44,190,14,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_ARM9BIOSBROWSE,205,44,20,14
LTEXT "ARM7 BIOS image:",IDC_STATIC,15,64,210,8
EDITTEXT IDC_ARM7BIOS,15,74,190,14,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_ARM7BIOSBROWSE,205,74,20,14
CONTROL "Emulate SWIs with BIOS images (otherwise, HLE)",IDC_BIOSSWIS,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,94,210,10
GROUPBOX "Firmware",IDC_STATIC,5,127,230,78
CONTROL "Use external firmware image",IDC_USEEXTFIRMWARE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,139,210,10
LTEXT "Firmware image:",IDC_STATIC,15,151,210,8
EDITTEXT IDC_FIRMWARE,15,161,190,14,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_FIRMWAREBROWSE,205,161,20,14
CONTROL "Boot from firmware (like the NDS)",IDC_FIRMWAREBOOT,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,179,210,10
GROUPBOX "Debug",IDC_STATIC,241,57,230,47
CONTROL "Enable Advanced Bus-Level Timing",IDC_CHECBOX_ADVANCEDTIMING, CONTROL "Enable Advanced Bus-Level Timing",IDC_CHECBOX_ADVANCEDTIMING,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,247,16,182,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,182,10
CONTROL "Patch DelayLoop SWI (speed hack)",IDC_PATCHSWI3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,108,133,10 GROUPBOX "General",IDC_STATIC,5,2,230,76
GROUPBOX "General",IDC_STATIC,241,3,230,53 LTEXT "Enables game-specific workarounds for buggy games.",IDC_STATIC,32,64,193,10
LTEXT "This will improve or fix some games, but it is very costly. Disable this if you want more speed, but not if you're TASing. Especially helpful if running at 99% ARM9.",IDC_STATIC,262,27,193,25 GROUPBOX "CPU emulation mode",IDC_STATIC,5,80,230,97
CONTROL "Emulate Ensata",IDC_CHECKBOX_ENSATAEMULATION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,251,90,182,10 CONTROL "Use dynamic recomplier",IDC_CHECKBOX_DYNAREC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,95,91,10
GROUPBOX "CPU emulation mode",IDC_STATIC,241,107,230,97 LTEXT "This should not be assumed to be deterministic.",IDC_STATIC,14,160,210,8
CONTROL "Use dynamic recomplier",IDC_CHECKBOX_DYNAREC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,251,122,91,10 LTEXT "Block Size [1..100]",IDC_STATIC,32,110,64,11
LTEXT "This should not be assumed to be deterministic.",IDC_STATIC,250,187,210,8 EDITTEXT IDC_JIT_BLOCK_SIZE,97,108,30,12,ES_NUMBER
LTEXT "Block Size [1..100]",IDC_STATIC,268,137,64,11 LTEXT "(1 - accuracy, 100 - fastest)",IDC_STATIC,132,110,90,12
EDITTEXT IDC_JIT_BLOCK_SIZE,333,135,30,12,ES_NUMBER LTEXT "Enabling this will get you 0-50% speedups. It is optional because it may still contain some small bugs, due mostly merely to newness, which can safely be fixed in time. Furthermore, you may have to tune the block size to prevent some games from breaking.",IDC_STATIC,14,123,210,34
LTEXT "(1 - accuracy, 100 - fastest)",IDC_STATIC,368,137,90,12 CONTROL "Enable Pokehax",IDC_CHECKBOX_POKEHAX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,52,71,10
LTEXT "Enabling this will get you 0-50% speedups. It is optional because it may still contain some small bugs, due mostly merely to newness, which can safely be fixed in time. Furthermore, you may have to tune the block size to prevent some games from breaking.",IDC_STATIC,250,150,210,34 PUSHBUTTON "...",IDC_ARM9BIOSBROWSE,440,41,20,14
GROUPBOX "BIOS",IDC_STATIC,240,1,230,118
PUSHBUTTON "...",IDC_ARM7BIOSBROWSE,440,70,20,14
CONTROL "Use external BIOS images",IDC_USEEXTBIOS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,250,16,210,10
LTEXT "ARM9 BIOS image:",IDC_STATIC,250,30,210,8
PUSHBUTTON "...",IDC_FIRMWAREBROWSE,440,158,20,14
EDITTEXT IDC_ARM9BIOS,250,41,190,14,ES_AUTOHSCROLL
LTEXT "ARM7 BIOS image:",IDC_STATIC,250,61,210,8
EDITTEXT IDC_ARM7BIOS,250,70,190,14,ES_AUTOHSCROLL
CONTROL "Emulate SWIs with BIOS images (otherwise, HLE)",IDC_BIOSSWIS,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,250,91,210,10
GROUPBOX "Firmware",IDC_STATIC,240,123,230,78
CONTROL "Use external firmware image",IDC_USEEXTFIRMWARE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,250,136,210,10
LTEXT "Firmware image:",IDC_STATIC,250,147,210,8
EDITTEXT IDC_FIRMWARE,250,158,190,14,ES_AUTOHSCROLL
CONTROL "Boot from firmware (like the NDS)",IDC_FIRMWAREBOOT,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,250,176,210,10
CONTROL "Patch DelayLoop SWI (speed hack)",IDC_PATCHSWI3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,250,105,133,10
CONTROL "Load User Settings from file",IDC_FIRMWAREEXTUSER, CONTROL "Load User Settings from file",IDC_FIRMWAREEXTUSER,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,191,210,11 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,250,187,210,11
LTEXT "This will improve or fix some games, but it is very costly. Disable this if you want more speed, but not if you're TASing. Especially helpful if running at 99% ARM9.",IDC_STATIC,32,25,193,25
CONTROL "Use 8MB debugger mode when starting execution",IDC_CHECKBOX_DEBUGGERMODE,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,204,182,10
LTEXT "If you have to ask, you don't need to change these.",IDC_STATIC,16,193,169,8
GROUPBOX "Debug",IDC_STATIC,6,181,230,48
CONTROL "Emulate Ensata",IDC_CHECKBOX_ENSATAEMULATION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,215,182,10
END END
IDD_FIRMSETTINGS DIALOGEX 0, 0, 161, 145 IDD_FIRMSETTINGS DIALOGEX 0, 0, 161, 145
@ -1862,12 +1864,7 @@ BEGIN
IDD_EMULATIONSETTINGS, DIALOG IDD_EMULATIONSETTINGS, DIALOG
BEGIN BEGIN
VERTGUIDE, 5 BOTTOMMARGIN, 229
VERTGUIDE, 15
VERTGUIDE, 225
VERTGUIDE, 235
BOTTOMMARGIN, 210
HORZGUIDE, 220
END END
IDD_GBASLOT_CFLASH, DIALOG IDD_GBASLOT_CFLASH, DIALOG