Win32: Add set defaults and warning to hacks dialog.

This commit is contained in:
Brandon Wright 2019-04-16 12:18:11 -05:00
parent 9c733497fe
commit ea8e016631
4 changed files with 24 additions and 4 deletions

@ -1 +1 @@
Subproject commit 0527c9db8148ce37442fa4a9c99a2a23ad50b0b7
Subproject commit c9e03360e2a78a95a8571292aefa5ddbdbf66daf

View File

@ -402,6 +402,7 @@
#define IDC_SFX_CLOCK_SPEED 3035
#define IDC_SFX_CLOCK_SPEED_SPIN 3036
#define IDC_NO_SPRITE_LIMIT 3037
#define IDC_SET_DEFAULTS 3038
#define ID_FILE_EXIT 40001
#define ID_WINDOW_HIDEMENUBAR 40004
#define ID_FILE_AVI_RECORDING 40005
@ -549,7 +550,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 167
#define _APS_NEXT_COMMAND_VALUE 40179
#define _APS_NEXT_CONTROL_VALUE 3038
#define _APS_NEXT_CONTROL_VALUE 3039
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

View File

@ -561,7 +561,7 @@ BEGIN
END
IDD_DIALOG_HACKS DIALOGEX 0, 0, 234, 120
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Emulator Hacks"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
@ -578,6 +578,7 @@ BEGIN
CONTROL "Separate Echo Buffer from RAM",IDC_SEPARATE_ECHO_BUFFER,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,108,72,123,10
CONTROL "Disable Sprite Limit",IDC_NO_SPRITE_LIMIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,108,84,80,10
PUSHBUTTON "Set Defaults",IDC_SET_DEFAULTS,6,100,48,14
END

View File

@ -2230,8 +2230,17 @@ LRESULT CALLBACK WinProc(
RestoreSNESDisplay ();
break;
case ID_EMULATION_HACKS:
if (MessageBoxA(hWnd,
"The settings in this dialog should only be used for compatibility\n"
"with old ROM hacks or if you otherwise know what you're doing.\n\n"
"If any problems occur, click \"Set Defaults\" to reset the options to normal.",
"Warning: Unsupported",
MB_OKCANCEL) != IDOK)
break;
RestoreGUIDisplay();
if (DialogBox(g_hInst, MAKEINTRESOURCE(IDD_DIALOG_HACKS), hWnd, DlgEmulatorHacksProc))
i = DialogBox(g_hInst, MAKEINTRESOURCE(IDD_DIALOG_HACKS), hWnd, DlgEmulatorHacksProc);
if (i == 1)
S9xReset();
else
RestoreSNESDisplay();
@ -5157,6 +5166,15 @@ INT_PTR CALLBACK DlgEmulatorHacksProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM
case IDCANCEL:
EndDialog(hDlg, 0);
return true;
case IDC_SET_DEFAULTS:
SendDlgItemMessage(hDlg, IDC_SFX_CLOCK_SPEED_SPIN, UDM_SETPOS, 0, 100);
SendDlgItemMessage(hDlg, IDC_CPU_OVERCLOCK, CB_SETCURSEL, 0, 0);
SendDlgItemMessage(hDlg, IDC_SOUND_INTERPOLATION, CB_SETCURSEL, 2, 0);
CheckDlgButton(hDlg, IDC_INVALID_VRAM, false);
CheckDlgButton(hDlg, IDC_SEPARATE_ECHO_BUFFER, false);
CheckDlgButton(hDlg, IDC_NO_SPRITE_LIMIT, false);
break;
default:
break;
}