diff --git a/win32/rsrc/resource.h b/win32/rsrc/resource.h index 1193bebc..8799dc1b 100644 --- a/win32/rsrc/resource.h +++ b/win32/rsrc/resource.h @@ -45,7 +45,6 @@ #define IDC_RATE 1003 #define IDC_MIX 1004 #define IDC_DYNRATECONTROL 1005 -#define IDC_AUTOMATICINPUTRATE 1021 #define IDC_STEREO 1006 #define IDC_REV_STEREO 1007 #define IDC_LINEAR_INTER 1008 @@ -64,6 +63,7 @@ #define IDC_WIP1 1019 #define IDC_ADDRESS 1020 #define IDC_FAMT 1020 +#define IDC_AUTOMATICINPUTRATE 1021 #define IDC_ROM_DATA 1051 #define IDC_WARNINGS 1052 #define IDC_DISCLAIMER 1053 @@ -90,6 +90,8 @@ #define IDC_REWIND_BUFFER_SPIN 1069 #define IDC_REWIND_GRANULARITY 1070 #define IDC_REWIND_GRANULARITY_SPIN 1071 +#define IDC_SFXSPEED 1072 +#define IDC_SFXSPEED_SPIN 1073 #define IDC_HOSTNAME 1086 #define IDC_PORTNUMBER 1087 #define IDC_CLEARHISTORY 1088 @@ -250,8 +252,10 @@ #define IDC_LABEL_GRANU_TEXT 1187 #define IDC_LABEL_PAUSEINTERVAL 1188 #define IDC_LABEL_UP9 1188 +#define IDC_LABEL_SFXSPEED 1188 #define IDC_LABEL_PAUSEINTERVAL_TEXT 1189 #define IDC_LABEL_UP10 1189 +#define IDC_LABEL_SFXSPEED_2 1189 #define IDC_LABEL_MAXSKIP 1190 #define IDC_LABEL_UP11 1190 #define IDC_LABEL_CHEAT_CODE 1191 @@ -523,7 +527,7 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 157 +#define _APS_NEXT_RESOURCE_VALUE 158 #define _APS_NEXT_COMMAND_VALUE 40178 #define _APS_NEXT_CONTROL_VALUE 3023 #define _APS_NEXT_SYMED_VALUE 101 diff --git a/win32/rsrc/snes9x.rc b/win32/rsrc/snes9x.rc index cfc334ae..ec7a82a9 100644 --- a/win32/rsrc/snes9x.rc +++ b/win32/rsrc/snes9x.rc @@ -14,7 +14,6 @@ ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS - ///////////////////////////////////////////////////////////////////////////// // English (United States) resources @@ -81,8 +80,8 @@ BEGIN EDITTEXT IDC_DISCLAIMER,7,7,218,148,ES_MULTILINE | ES_NOHIDESEL | ES_READONLY | WS_VSCROLL,WS_EX_STATICEDGE END -IDD_EMU_SETTINGS DIALOGEX 0, 0, 341, 173 -STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU +IDD_EMU_SETTINGS DIALOGEX 0, 0, 341, 198 +STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU CAPTION "APP - Emulator Settings" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN @@ -98,11 +97,13 @@ BEGIN CONTROL "",IDC_REWIND_BUFFER_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,305,114,11,13 EDITTEXT IDC_REWIND_GRANULARITY,102,120,49,14,ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_REWIND_GRANULARITY_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,304,131,11,13 - CONTROL "Pause When Inactive",IDC_INACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,136,100,12 - CONTROL "Custom ROM Open Dialog",IDC_CUSTOMROMOPEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,147,117,12 - CONTROL "Hi-Res AVI Recording",IDC_HIRESAVI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,158,117,12 - DEFPUSHBUTTON "&OK",IDOK,226,157,46,14 - PUSHBUTTON "&Cancel",IDCANCEL,288,157,46,14 + EDITTEXT IDC_SFXSPEED,102,138,49,14,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_SFXSPEED_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,302,147,11,13 + CONTROL "Pause When Inactive",IDC_INACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,155,100,12 + CONTROL "Custom ROM Open Dialog",IDC_CUSTOMROMOPEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,166,117,12 + CONTROL "Hi-Res AVI Recording",IDC_HIRESAVI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,102,177,117,12 + DEFPUSHBUTTON "&OK",IDOK,226,176,46,14 + PUSHBUTTON "&Cancel",IDCANCEL,288,176,46,14 COMBOBOX IDC_DIRCOMBO,7,29,53,30,CBS_DROPDOWNLIST | WS_TABSTOP RTEXT "Directory",IDC_LABEL_FREEZE,64,28,32,14,SS_CENTERIMAGE RTEXT "Auto-Save S-RAM",IDC_LABEL_ASRAM,32,47,64,14,SS_CENTERIMAGE @@ -118,6 +119,8 @@ BEGIN LTEXT "MB (set to 0 to disable rewind support)",IDC_LABEL_RBUFFER_TEXT,156,102,131,14,SS_CENTERIMAGE RTEXT "Rewind Granularity",IDC_LABEL_RGRANU,29,120,64,14,SS_CENTERIMAGE LTEXT "frames",IDC_LABEL_GRANU_TEXT,156,120,131,14,SS_CENTERIMAGE + RTEXT "SuperFX Speed",IDC_LABEL_SFXSPEED,30,138,64,14,SS_CENTERIMAGE + LTEXT "%",IDC_LABEL_SFXSPEED_2,156,138,131,14,SS_CENTERIMAGE END IDD_OPEN_ROM DIALOGEX 0, 0, 430, 223 @@ -583,7 +586,7 @@ BEGIN BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 334 - BOTTOMMARGIN, 166 + BOTTOMMARGIN, 191 END IDD_OPEN_ROM, DIALOG @@ -717,6 +720,11 @@ BEGIN 0 END +IDD_EMU_SETTINGS AFX_DIALOG_LAYOUT +BEGIN + 0 +END + ///////////////////////////////////////////////////////////////////////////// // diff --git a/win32/wconfig.cpp b/win32/wconfig.cpp index 7a4063d1..ac18b801 100644 --- a/win32/wconfig.cpp +++ b/win32/wconfig.cpp @@ -1067,7 +1067,9 @@ void WinRegisterConfigItems() #undef ADD #undef ADDN #undef CATEGORY - +#define CATEGORY "Hack" + AddUIntC("SuperFXClockMultiplier", Settings.SuperFXClockMultiplier, 100, "SuperFX speed, in percent (default 100)"); +#undef CATEGORY } diff --git a/win32/wsnes9x.cpp b/win32/wsnes9x.cpp index dc49199a..d57ee0f1 100644 --- a/win32/wsnes9x.cpp +++ b/win32/wsnes9x.cpp @@ -5255,6 +5255,8 @@ INT_PTR CALLBACK DlgEmulatorProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lPar SendDlgItemMessage(hDlg, IDC_REWIND_BUFFER_SPIN,UDM_SETPOS,0, GUI.rewindBufferSize); SendDlgItemMessage(hDlg, IDC_REWIND_GRANULARITY_SPIN, UDM_SETRANGE, 0, MAKELPARAM((short)300, (short)1)); SendDlgItemMessage(hDlg, IDC_REWIND_GRANULARITY_SPIN,UDM_SETPOS,0, GUI.rewindGranularity); + SendDlgItemMessage(hDlg, IDC_SFXSPEED_SPIN, UDM_SETRANGE, 0, MAKELPARAM((short)400, (short)50)); + SendDlgItemMessage(hDlg, IDC_SFXSPEED_SPIN, UDM_SETPOS, 0, Settings.SuperFXClockMultiplier); CheckDlgButton(hDlg,IDC_INACTIVE_PAUSE,GUI.InactivePause ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg,IDC_CUSTOMROMOPEN,GUI.CustomRomOpen ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hDlg,IDC_HIRESAVI,GUI.AVIHiRes ? BST_CHECKED : BST_UNCHECKED); @@ -5353,6 +5355,7 @@ INT_PTR CALLBACK DlgEmulatorProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lPar Settings.AutoMaxSkipFrames=SendDlgItemMessage(hDlg, IDC_SPIN_MAX_SKIP, UDM_GETPOS, 0,0); Settings.AutoSaveDelay=SendDlgItemMessage(hDlg, IDC_SRAM_SPIN, UDM_GETPOS, 0,0); GUI.rewindGranularity = SendDlgItemMessage(hDlg, IDC_REWIND_GRANULARITY_SPIN, UDM_GETPOS, 0,0); + Settings.SuperFXClockMultiplier = SendDlgItemMessage(hDlg, IDC_SFXSPEED_SPIN, UDM_GETPOS, 0, 0); if(GUI.rewindGranularity==0) GUI.rewindGranularity = 1; unsigned int newRewindBufSize = SendDlgItemMessage(hDlg, IDC_REWIND_BUFFER_SPIN, UDM_GETPOS, 0,0); if(GUI.rewindBufferSize != newRewindBufSize) {