1. Add more controls to limit input text.
2. Changed limit input behaviour to match the system default ES_NUMBER.
This commit is contained in:
parent
4e3473ac5d
commit
fee4fc83a8
|
@ -70,7 +70,7 @@ static HMENU hDisasmcontext; //Handle to context menu
|
|||
static HMENU hDisasmcontextsub; //Handle to context sub menu
|
||||
WNDPROC IDC_DEBUGGER_DISASSEMBLY_oldWndProc = 0;
|
||||
|
||||
static HFONT hFont;
|
||||
// static HFONT hFont;
|
||||
static SCROLLINFO si;
|
||||
|
||||
bool debuggerAutoload = false;
|
||||
|
@ -276,8 +276,12 @@ BOOL CALLBACK AddbpCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
{
|
||||
case WM_INITDIALOG:
|
||||
CenterWindow(hwndDlg);
|
||||
SendDlgItemMessage(hwndDlg,IDC_ADDBP_ADDR_START,EM_SETLIMITTEXT,4,0);
|
||||
SendDlgItemMessage(hwndDlg,IDC_ADDBP_ADDR_END,EM_SETLIMITTEXT,4,0);
|
||||
SendDlgItemMessage(hwndDlg, IDC_ADDBP_ADDR_START, EM_SETLIMITTEXT, 4, 0);
|
||||
SendDlgItemMessage(hwndDlg, IDC_ADDBP_ADDR_END, EM_SETLIMITTEXT, 4, 0);
|
||||
|
||||
DefaultEditCtrlProc = (WNDPROC)SetWindowLong(GetDlgItem(hwndDlg, IDC_ADDBP_ADDR_START), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
SetWindowLong(GetDlgItem(hwndDlg, IDC_ADDBP_ADDR_END), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
|
||||
if (WP_edit >= 0)
|
||||
{
|
||||
SetWindowText(hwndDlg,"Edit Breakpoint...");
|
||||
|
@ -359,7 +363,7 @@ BOOL CALLBACK AddbpCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
int tmp = NewBreakWindows(hwndDlg,WP_edit,(BOOL)(watchpoint[WP_edit].flags&WP_E));
|
||||
if (tmp == 2 || tmp == INVALID_BREAKPOINT_CONDITION)
|
||||
{
|
||||
MessageBox(hwndDlg, "Invalid breakpoint condition", "Error", MB_OK);
|
||||
MessageBox(hwndDlg, "Invalid breakpoint condition", "Error", MB_OK | MB_ICONERROR);
|
||||
break;
|
||||
}
|
||||
EndDialog(hwndDlg,1);
|
||||
|
@ -1820,6 +1824,14 @@ BOOL CALLBACK DebuggerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
|
|||
SendDlgItemMessage(hwndDlg,IDC_DEBUGGER_VAL_PPU,EM_SETLIMITTEXT,4,0);
|
||||
SendDlgItemMessage(hwndDlg,IDC_DEBUGGER_VAL_SPR,EM_SETLIMITTEXT,2,0);
|
||||
|
||||
// limit input
|
||||
DefaultEditCtrlProc = (WNDPROC)SetWindowLong(GetDlgItem(hwndDlg, IDC_DEBUGGER_VAL_PCSEEK), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
SetWindowLong(GetDlgItem(hwndDlg, IDC_DEBUGGER_VAL_PC), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
SetWindowLong(GetDlgItem(hwndDlg, IDC_DEBUGGER_VAL_A), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
SetWindowLong(GetDlgItem(hwndDlg, IDC_DEBUGGER_VAL_X), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
SetWindowLong(GetDlgItem(hwndDlg, IDC_DEBUGGER_VAL_Y), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
SetWindowLong(GetDlgItem(hwndDlg, IDC_DEBUGGER_BOOKMARK), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
|
||||
//I'm lazy, disable the controls which I can't mess with right now
|
||||
SendDlgItemMessage(hwndDlg,IDC_DEBUGGER_VAL_PPU,EM_SETREADONLY,TRUE,0);
|
||||
SendDlgItemMessage(hwndDlg,IDC_DEBUGGER_VAL_SPR,EM_SETREADONLY,TRUE,0);
|
||||
|
|
|
@ -69,5 +69,7 @@ public:
|
|||
|
||||
} *debugSystem;
|
||||
|
||||
// extern WNDPROC DefaultEditCtrlProc;
|
||||
// extern LRESULT APIENTRY FilterEditCtrlProc(HWND hwnd, UINT msg, WPARAM wP, LPARAM lP);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -307,10 +307,6 @@ HWND InitHeaderEditDialog(HWND hwnd, iNES_HEADER* header)
|
|||
SetWindowLong(GetDlgItem(GetDlgItem(hwnd, IDC_CHRRAM_COMBO), IDC_CHRRAM_EDIT), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
// CHR NVRAM
|
||||
SetWindowLong(GetDlgItem(GetDlgItem(hwnd, IDC_CHRNVRAM_COMBO), IDC_CHRNVRAM_EDIT), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
// Sub Mapper#
|
||||
SetWindowLong(GetDlgItem(hwnd, IDC_SUBMAPPER_EDIT), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
// Misc. ROM(s)
|
||||
SetWindowLong(GetDlgItem(hwnd, IDC_MISCELLANEOUS_ROMS_EDIT), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
|
||||
|
||||
ToggleINES20(hwnd, IsDlgButtonChecked(hwnd, IDC_RADIO_VERSION_INES20) == BST_CHECKED);
|
||||
|
|
|
@ -202,29 +202,29 @@ void MemwAddRecentFile(const char *filename)
|
|||
}
|
||||
|
||||
static const int MW_ADDR[] = {
|
||||
MW_ADDR00,MW_ADDR01,MW_ADDR02,MW_ADDR03,
|
||||
MW_ADDR04,MW_ADDR05,MW_ADDR06,MW_ADDR07,
|
||||
MW_ADDR08,MW_ADDR09,MW_ADDR10,MW_ADDR11,
|
||||
MW_ADDR12,MW_ADDR13,MW_ADDR14,MW_ADDR15,
|
||||
MW_ADDR16,MW_ADDR17,MW_ADDR18,MW_ADDR19,
|
||||
MW_ADDR20,MW_ADDR21,MW_ADDR22,MW_ADDR23
|
||||
MW_ADDR00, MW_ADDR01, MW_ADDR02, MW_ADDR03,
|
||||
MW_ADDR04, MW_ADDR05, MW_ADDR06, MW_ADDR07,
|
||||
MW_ADDR08, MW_ADDR09, MW_ADDR10, MW_ADDR11,
|
||||
MW_ADDR12, MW_ADDR13, MW_ADDR14, MW_ADDR15,
|
||||
MW_ADDR16, MW_ADDR17, MW_ADDR18, MW_ADDR19,
|
||||
MW_ADDR20, MW_ADDR21, MW_ADDR22, MW_ADDR23
|
||||
};
|
||||
static const int MW_NAME[] =
|
||||
{
|
||||
MW_NAME00,MW_NAME01,MW_NAME02,MW_NAME03,
|
||||
MW_NAME04,MW_NAME05,MW_NAME06,MW_NAME07,
|
||||
MW_NAME08,MW_NAME09,MW_NAME10,MW_NAME11,
|
||||
MW_NAME12,MW_NAME13,MW_NAME14,MW_NAME15,
|
||||
MW_NAME16,MW_NAME17,MW_NAME18,MW_NAME19,
|
||||
MW_NAME20,MW_NAME21,MW_NAME22,MW_NAME23
|
||||
MW_NAME00, MW_NAME01, MW_NAME02, MW_NAME03,
|
||||
MW_NAME04, MW_NAME05, MW_NAME06, MW_NAME07,
|
||||
MW_NAME08, MW_NAME09, MW_NAME10, MW_NAME11,
|
||||
MW_NAME12, MW_NAME13, MW_NAME14, MW_NAME15,
|
||||
MW_NAME16, MW_NAME17, MW_NAME18, MW_NAME19,
|
||||
MW_NAME20, MW_NAME21, MW_NAME22, MW_NAME23
|
||||
};
|
||||
static const int MW_VAL[] = {
|
||||
MW_VAL00,MW_VAL01,MW_VAL02,MW_VAL03,
|
||||
MW_VAL04,MW_VAL05,MW_VAL06,MW_VAL07,
|
||||
MW_VAL08,MW_VAL09,MW_VAL10,MW_VAL11,
|
||||
MW_VAL12,MW_VAL13,MW_VAL14,MW_VAL15,
|
||||
MW_VAL16,MW_VAL17,MW_VAL18,MW_VAL19,
|
||||
MW_VAL20,MW_VAL21,MW_VAL22,MW_VAL23
|
||||
MW_VAL00, MW_VAL01, MW_VAL02, MW_VAL03,
|
||||
MW_VAL04, MW_VAL05, MW_VAL06, MW_VAL07,
|
||||
MW_VAL08, MW_VAL09, MW_VAL10, MW_VAL11,
|
||||
MW_VAL12, MW_VAL13, MW_VAL14, MW_VAL15,
|
||||
MW_VAL16, MW_VAL17, MW_VAL18, MW_VAL19,
|
||||
MW_VAL20, MW_VAL21, MW_VAL22, MW_VAL23
|
||||
};
|
||||
static const int MW_RESET[] = {
|
||||
MEMW_EDIT00RESET, MEMW_EDIT01RESET,
|
||||
|
@ -240,7 +240,7 @@ static const int MW_RMADDR[] = {
|
|||
};
|
||||
static const int MW_EDITFORMULA[] = {
|
||||
MEMW_EDIT00FORMULA, MEMW_EDIT01FORMULA,
|
||||
MEMW_EDIT02FORMULA,MEMW_EDIT03FORMULA
|
||||
MEMW_EDIT02FORMULA, MEMW_EDIT03FORMULA
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -707,7 +707,7 @@ END
|
|||
DIRCONFIG DIALOGEX 63, 7, 305, 255
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Directories Configuration"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",CLOSE_BUTTON,175,230,56,14
|
||||
PUSHBUTTON "Cancel",BTN_CANCEL,239,230,56,14
|
||||
|
@ -752,7 +752,7 @@ END
|
|||
DWBDIALOG DIALOG 33, 99, 250, 56
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "DWB!"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Text",LBL_DWBDIALOG_TEXT,7,9,237,8
|
||||
PUSHBUTTON "Clear",BTN_CLEAR,64,32,50,14
|
||||
|
@ -762,7 +762,7 @@ END
|
|||
FKBDIALOG DIALOG 13, 72, 402, 194
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Family Keyboard Configuration"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",BTN_CLOSE,320,170,56,14
|
||||
LTEXT "Remember to push the ""Scroll Lock"" key during emulation to enable Family Keyboard input.",65503,18,6,370,12
|
||||
|
@ -844,7 +844,7 @@ END
|
|||
GAMEPADDIALOG DIALOGEX 4, 109, 243, 220
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Gamepad Configuration"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",BTN_CLOSE,173,196,56,14
|
||||
GROUPBOX "",GRP_GAMEPAD1,4,8,232,82,WS_GROUP
|
||||
|
@ -874,7 +874,7 @@ END
|
|||
GUICONFIG DIALOGEX 16, 123, 184, 158
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "GUI Configuration"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",BTN_CLOSE,65,136,56,14
|
||||
CONTROL "Load ""File Open"" dialog when FCEUX starts.",CB_LOAD_FILE_OPEN,
|
||||
|
@ -896,7 +896,7 @@ END
|
|||
INPUTCONFIG DIALOGEX 122, 105, 349, 199
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Input Configuration"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Port 1:",102,20,31,152,50
|
||||
COMBOBOX COMBO_PAD1,27,57,71,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
|
@ -944,7 +944,7 @@ END
|
|||
MAHJONGDIALOG DIALOG 65510, 106, 340, 110
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "mahjong"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",BTN_CLOSE,277,91,56,14
|
||||
GROUPBOX "",321,8,8,324,73,WS_GROUP
|
||||
|
@ -974,7 +974,7 @@ END
|
|||
MAPINPUT DIALOGEX 0, 0, 318, 294
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Hotkeys"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,261,274,50,14
|
||||
PUSHBUTTON "Cancel",BTN_CANCEL,205,274,50,14
|
||||
|
@ -987,7 +987,7 @@ END
|
|||
MESSAGELOG DIALOGEX 33, 38, 197, 229
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Message Log"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
EDITTEXT LBL_LOG_TEXT,1,1,194,208,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL
|
||||
PUSHBUTTON "Clear",CLEAR_LOG,94,211,47,14
|
||||
|
@ -997,7 +997,7 @@ END
|
|||
NETMOO DIALOGEX 44, 59, 365, 209
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Network Play"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
EDITTEXT IDC_NETMOO_CMD_INPUT,10,137,347,12,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_OEMCONVERT | ES_WANTRETURN
|
||||
EDITTEXT IDC_NETMOO_STATUS,10,8,347,130,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL
|
||||
|
@ -1019,7 +1019,7 @@ END
|
|||
NEWINPUT DIALOGEX 0, 0, 186, 66
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Enter New Input"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
CTEXT "Press a key",LBL_KEY_COMBO,31,14,122,20
|
||||
PUSHBUTTON "Clear",BTN_CLEAR,95,45,50,14
|
||||
|
@ -1029,7 +1029,7 @@ END
|
|||
PALCONFIG DIALOGEX 16, 81, 228, 217
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Palette Configuration"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",BUTTON_CLOSE,162,195,56,14
|
||||
GROUPBOX "NES Palette",302,10,8,102,81,WS_GROUP
|
||||
|
@ -1061,7 +1061,7 @@ END
|
|||
POWERPADDIALOG DIALOG 30, 123, 131, 119
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Power Pad Configuration"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",BTN_CLOSE,34,95,56,14
|
||||
GROUPBOX "",312,8,10,114,74,WS_GROUP
|
||||
|
@ -1082,7 +1082,7 @@ END
|
|||
QUIZKINGDIALOG DIALOG 30, 123, 160, 74
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "quiz king"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",BTN_CLOSE,54,56,56,14
|
||||
GROUPBOX "Buzzers",312,8,7,144,39,WS_GROUP
|
||||
|
@ -1097,7 +1097,7 @@ END
|
|||
SOUNDCONFIG DIALOGEX 8, 95, 334, 282
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Sound Configuration"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",BTN_CLOSE,280,260,44,14
|
||||
GROUPBOX "Output/Output Format:",302,10,9,131,93,WS_GROUP
|
||||
|
@ -1140,7 +1140,7 @@ END
|
|||
SUBORKBDIALOG DIALOGEX 13, 72, 478, 171
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Subor Keyboard Configuration"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",1,405,151,56,14
|
||||
LTEXT "Remember to push the ""Scroll Lock"" key during emulation to enable Keyboard input.",-1,18,6,370,12
|
||||
|
@ -1249,26 +1249,26 @@ BEGIN
|
|||
END
|
||||
|
||||
TIMINGCONFIG DIALOGEX 23, 157, 203, 110
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Timing Configuration"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",1,137,87,56,14
|
||||
CONTROL "Disable speed throttling used when sound is disabled.",CB_DISABLE_SPEED_THROTTLING,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,8,183,12
|
||||
CONTROL "Set high-priority thread.",CB_SET_HIGH_PRIORITY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,24,102,12
|
||||
CONTROL "Overclocking (old PPU only).",CB_OVERCLOCKING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,41,101,10
|
||||
EDITTEXT IDC_EXTRA_SCANLINES,104,55,84,14,ES_AUTOHSCROLL | WS_DISABLED
|
||||
EDITTEXT IDC_EXTRA_SCANLINES,104,55,84,14,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
|
||||
LTEXT "Post-render scanlines:",IDC_EXTRA_SCANLINES_TEXT,21,57,74,8,WS_DISABLED
|
||||
CONTROL "Don't overclock 7-bit samples.",CB_SKIP_7BIT,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,10,87,111,10
|
||||
EDITTEXT IDC_VBLANK_SCANLINES,104,68,84,14,ES_AUTOHSCROLL | WS_DISABLED
|
||||
EDITTEXT IDC_VBLANK_SCANLINES,104,68,84,14,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
|
||||
LTEXT "VBlank scanlines:",IDC_VBLANK_SCANLINES_TEXT,21,71,76,8,WS_DISABLED
|
||||
END
|
||||
|
||||
MOVIEOPTIONS DIALOGEX 65520, 76, 147, 222
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Movie Options"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",IDC_MOVIE_CLOSE,48,200,49,14,BS_CENTER
|
||||
CONTROL "Pause after playback",IDC_MOVIE_PAUSEAFTERPLAYBACK,
|
||||
|
@ -1295,7 +1295,7 @@ END
|
|||
DWBDIALOGSIMPLE DIALOGEX 33, 99, 250, 39
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "DWBS!"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Type a key, or press Escape to disable.",65429,53,14,125,8
|
||||
END
|
||||
|
@ -1305,7 +1305,7 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_VI
|
|||
EXSTYLE WS_EX_ACCEPTFILES
|
||||
CAPTION "Memory Watch"
|
||||
MENU MEMWATCHMENU
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "",IDC_STATIC,3,0,126,200
|
||||
GROUPBOX "",IDC_STATIC,131,0,128,200
|
||||
|
@ -1395,7 +1395,7 @@ END
|
|||
DEBUGGER DIALOGEX 54, 74, 546, 334
|
||||
STYLE DS_SETFONT | DS_3DLOOK | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
|
||||
CAPTION "6502 Debugger"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
CONTROL "",IDC_DEBUGGER_DISASSEMBLY,"RichEdit20A",ES_MULTILINE | ES_NOHIDESEL | ES_READONLY | WS_BORDER | WS_HSCROLL,18,5,316,317
|
||||
SCROLLBAR IDC_DEBUGGER_DISASSEMBLY_VSCR,334,5,11,317,SBS_VERT
|
||||
|
@ -1478,7 +1478,7 @@ END
|
|||
TRACER DIALOGEX 0, 0, 317, 181
|
||||
STYLE DS_SETFONT | DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
|
||||
CAPTION "Trace Logger"
|
||||
FONT 9, "MS Shell Dlg", 400, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x0
|
||||
BEGIN
|
||||
EDITTEXT IDC_TRACER_LOG,3,3,300,44,ES_MULTILINE | ES_NOHIDESEL | ES_READONLY | WS_HSCROLL
|
||||
SCROLLBAR IDC_SCRL_TRACER_LOG,303,3,11,44,SBS_VERT
|
||||
|
@ -1516,7 +1516,7 @@ END
|
|||
ADDBP DIALOGEX 66, 83, 197, 125
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Add Breakpoint..."
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "&Address:",-1,14,6,30,10
|
||||
EDITTEXT IDC_ADDBP_ADDR_START,48,4,30,12,ES_UPPERCASE | ES_WANTRETURN
|
||||
|
@ -1540,16 +1540,16 @@ BEGIN
|
|||
END
|
||||
|
||||
NTVIEW DIALOGEX 44, 38, 352, 350
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Name Table Viewer"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Name Tables",IDC_NTVIEW_TABLE_BOX,2,0,347,251,WS_TABSTOP
|
||||
LTEXT "Refresh: More",IDC_STATIC,225,254,50,9
|
||||
CONTROL "",IDC_NTVIEW_REFRESH_TRACKBAR,"msctls_trackbar32",WS_TABSTOP,275,254,50,11
|
||||
LTEXT "Less",IDC_STATIC,325,254,18,10
|
||||
LTEXT "Display on scanline:",IDC_NTVIEW_SCANLINE_TEXT,253,269,65,9
|
||||
EDITTEXT IDC_NTVIEW_SCANLINE,315,267,27,12
|
||||
LTEXT "Display on scanline:",IDC_NTVIEW_SCANLINE_TEXT,249,269,65,9
|
||||
EDITTEXT IDC_NTVIEW_SCANLINE,315,267,27,12,ES_NUMBER
|
||||
CONTROL "Show Scroll Lines",IDC_NTVIEW_SHOW_SCROLL_LINES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,254,69,10
|
||||
CONTROL "Show Attributes",IDC_NTVIEW_SHOW_ATTRIBUTES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,265,69,10
|
||||
CONTROL "Ignore Palettes",IDC_NTVIEW_HIDE_PALETTES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,276,69,10
|
||||
|
@ -1571,7 +1571,7 @@ END
|
|||
ROMPATCHER DIALOGEX 84, 67, 304, 135
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Rom Data Editor"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
EDITTEXT IDC_ROMPATCHER_CURRENT_DATA,7,47,282,12,ES_READONLY
|
||||
PUSHBUTTON "Apply",IDC_ROMPATCHER_BTN_APPLY,185,92,54,14
|
||||
|
@ -1590,7 +1590,7 @@ END
|
|||
GGCONV DIALOGEX 84, 67, 186, 146
|
||||
STYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Game Genie Encoder/Decoder Tool"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Game Genie Code",-1,107,5,69,42
|
||||
EDITTEXT IDC_GAME_GENIE_CODE,115,22,53,14,ES_UPPERCASE | ES_AUTOHSCROLL
|
||||
|
@ -1867,15 +1867,15 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_CAPTI
|
|||
CAPTION "Inline Assembler"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
EDITTEXT IDC_ASSEMBLER_DISASSEMBLY,27,9,167,12,ES_READONLY
|
||||
COMBOBOX IDC_ASSEMBLER_HISTORY,15,25,180,54,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||
EDITTEXT IDC_ASSEMBLER_DISASSEMBLY,23,9,171,12,ES_READONLY
|
||||
COMBOBOX IDC_ASSEMBLER_HISTORY,7,25,188,54,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Apply",IDC_ASSEMBLER_APPLY,159,114,36,14
|
||||
LTEXT "PC:",-1,15,10,12,10
|
||||
LTEXT "Patch:",-1,15,41,26,9
|
||||
LTEXT "PC:",-1,8,11,12,8
|
||||
LTEXT "Patch:",-1,8,41,22,8
|
||||
PUSHBUTTON "Save...",IDC_ASSEMBLER_SAVE,117,114,36,14
|
||||
PUSHBUTTON "Undo",IDC_ASSEMBLER_UNDO,15,114,35,14
|
||||
DEFPUSHBUTTON "Def",IDC_ASSEMBLER_DEFPUSHBUTTON,55,116,16,12,NOT WS_VISIBLE
|
||||
LISTBOX IDC_ASSEMBLER_PATCH_DISASM,15,50,180,59,LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | LBS_NOSEL | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Undo",IDC_ASSEMBLER_UNDO,6,114,36,14
|
||||
DEFPUSHBUTTON "Define",IDC_ASSEMBLER_DEFPUSHBUTTON,46,114,36,14,NOT WS_VISIBLE
|
||||
LISTBOX IDC_ASSEMBLER_PATCH_DISASM,7,50,188,59,LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | LBS_NOSEL | WS_VSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
NAMEBOOKMARKDLG DIALOGEX 0, 0, 186, 73
|
||||
|
@ -1934,7 +1934,7 @@ END
|
|||
PPUVIEW DIALOGEX 44, 38, 353, 234
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "PPU Viewer"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Pattern Tables",GRP_PPUVIEW_TABLES,2,-1,348,185,WS_TABSTOP
|
||||
LTEXT "Tile:",LBL_PPUVIEW_TILE1,6,138,50,9
|
||||
|
@ -1943,7 +1943,7 @@ BEGIN
|
|||
CONTROL "",CTL_PPUVIEW_TRACKBAR,"msctls_trackbar32",WS_TABSTOP,280,151,50,11
|
||||
LTEXT "Less",-1,330,151,18,10
|
||||
LTEXT "Display on scanline:",-1,253,166,65,9
|
||||
EDITTEXT IDC_PPUVIEW_SCANLINE,315,164,27,12
|
||||
EDITTEXT IDC_PPUVIEW_SCANLINE,315,164,27,12,ES_NUMBER
|
||||
CONTROL "Sprites 8x16 mode",IDC_SPRITE16_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,151,160,10
|
||||
CONTROL "Mask unused graphics (Code/Data Logger)",IDC_MASK_UNUSED_GRAPHICS,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,162,160,10
|
||||
|
@ -2071,9 +2071,9 @@ BEGIN
|
|||
END
|
||||
|
||||
VIDEOCONFIG DIALOGEX 65520, 76, 511, 170
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Video Configuration"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Full Screen Settings",65453,5,3,171,141,WS_GROUP
|
||||
CONTROL "Full Screen (Alt + Enter or double-click)",IDC_VIDEOCONFIG_FS,
|
||||
|
@ -2083,9 +2083,9 @@ BEGIN
|
|||
LTEXT "Sync method:",65452,11,108,46,10
|
||||
COMBOBOX IDC_VIDEOCONFIG_SYNC_METHOD_FS,59,106,105,50,CBS_DROPDOWNLIST | WS_TABSTOP
|
||||
LTEXT "Mode:",13,11,67,23,9
|
||||
EDITTEXT IDC_VIDEOCONFIG_XRES,36,65,27,13,ES_RIGHT
|
||||
EDITTEXT IDC_VIDEOCONFIG_XRES,36,65,27,13,ES_RIGHT | ES_NUMBER
|
||||
LTEXT "by",12,67,67,11,9
|
||||
EDITTEXT IDC_VIDEOCONFIG_YRES,79,65,27,13,ES_RIGHT
|
||||
EDITTEXT IDC_VIDEOCONFIG_YRES,79,65,27,13,ES_RIGHT | ES_NUMBER
|
||||
LTEXT "@",11,110,67,11,9
|
||||
COMBOBOX IDC_VIDEOCONFIG_BPP,122,65,32,12,CBS_DROPDOWNLIST | WS_TABSTOP
|
||||
LTEXT "bpp",10,157,67,14,9
|
||||
|
@ -2110,10 +2110,10 @@ BEGIN
|
|||
LTEXT "Last line:",65435,367,84,40,9
|
||||
CTEXT "NTSC",65434,413,57,27,8
|
||||
CTEXT "PAL/Dendy",65433,455,57,48,8
|
||||
EDITTEXT IDC_SCANLINE_FIRST_NTSC,414,66,27,12,ES_RIGHT
|
||||
EDITTEXT IDC_SCANLINE_LAST_NTSC,414,83,27,12,ES_RIGHT
|
||||
EDITTEXT IDC_SCANLINE_FIRST_PAL,465,66,27,12,ES_RIGHT
|
||||
EDITTEXT IDC_SCANLINE_LAST_PAL,465,83,27,12,ES_RIGHT
|
||||
EDITTEXT IDC_SCANLINE_FIRST_NTSC,414,66,27,12,ES_RIGHT | ES_NUMBER
|
||||
EDITTEXT IDC_SCANLINE_LAST_NTSC,414,83,27,12,ES_RIGHT | ES_NUMBER
|
||||
EDITTEXT IDC_SCANLINE_FIRST_PAL,465,66,27,12,ES_RIGHT | ES_NUMBER
|
||||
EDITTEXT IDC_SCANLINE_LAST_PAL,465,83,27,12,ES_RIGHT | ES_NUMBER
|
||||
CONTROL "Clip left and right sides (8 px on each)",IDC_VIDEOCONFIG_CLIPSIDES,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,357,98,140,12
|
||||
DEFPUSHBUTTON "Close",ID_CANCEL,449,150,56,14
|
||||
|
@ -2224,7 +2224,7 @@ END
|
|||
DLG_SNESPAD DIALOGEX 4, 109, 243, 121
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Gamepad Configuration"
|
||||
FONT 9, "MS Shell Dlg", 0, 0, 0x0
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Close",BTN_CLOSE,177,97,56,14
|
||||
GROUPBOX "",GRP_GAMEPAD1,4,8,232,82,WS_GROUP
|
||||
|
@ -2312,7 +2312,7 @@ BEGIN
|
|||
LTEXT "Mapper#:",IDC_MAPPER_TEXT,104,24,33,8,WS_DISABLED
|
||||
COMBOBOX IDC_MAPPER_COMBO,139,22,115,30,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_DISABLED | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Sub#:",IDC_SUBMAPPER_TEXT,261,24,21,8,WS_DISABLED
|
||||
EDITTEXT IDC_SUBMAPPER_EDIT,284,21,15,14,ES_AUTOHSCROLL | WS_DISABLED
|
||||
EDITTEXT IDC_SUBMAPPER_EDIT,284,21,15,14,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
|
||||
GROUPBOX "PRG",IDC_PRG_GROUP,14,42,294,27,WS_DISABLED
|
||||
LTEXT "PRG ROM:",IDC_PRGROM_TEXT,20,53,34,8,WS_DISABLED
|
||||
COMBOBOX IDC_PRGROM_COMBO,57,51,46,30,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_UPPERCASE | WS_DISABLED | WS_VSCROLL | WS_TABSTOP
|
||||
|
@ -2360,7 +2360,7 @@ BEGIN
|
|||
LTEXT "Input device:",IDC_INPUT_DEVICE_TEXT,106,218,44,8,WS_DISABLED
|
||||
COMBOBOX IDC_INPUT_DEVICE_COMBO,153,216,154,30,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_DISABLED | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Misc. ROM(s)",IDC_MISCELLANEOUS_ROMS_TEXT,29,218,48,8,WS_DISABLED
|
||||
EDITTEXT IDC_MISCELLANEOUS_ROMS_EDIT,14,215,12,14,ES_AUTOHSCROLL | WS_DISABLED
|
||||
EDITTEXT IDC_MISCELLANEOUS_ROMS_EDIT,14,215,12,14,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
|
||||
PUSHBUTTON "Restore",IDC_RESTORE_BUTTON,6,237,44,14,WS_DISABLED
|
||||
PUSHBUTTON "Save as...",IDSAVE,223,237,44,14,WS_DISABLED
|
||||
DEFPUSHBUTTON "Close",IDCLOSE,270,237,44,14
|
||||
|
@ -2382,6 +2382,14 @@ BEGIN
|
|||
TOPMARGIN, 8
|
||||
END
|
||||
|
||||
"DWBDIALOG", DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
"FKBDIALOG", DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
"GAMEPADDIALOG", DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
@ -2398,6 +2406,10 @@ BEGIN
|
|||
BOTTOMMARGIN, 191
|
||||
END
|
||||
|
||||
"MAHJONGDIALOG", DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
"NETMOO", DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 10
|
||||
|
@ -2438,6 +2450,10 @@ BEGIN
|
|||
BOTTOMMARGIN, 217
|
||||
END
|
||||
|
||||
"DWBDIALOGSIMPLE", DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
"MEMWATCH", DIALOG
|
||||
BEGIN
|
||||
RIGHTMARGIN, 260
|
||||
|
@ -2497,6 +2513,26 @@ BEGIN
|
|||
BEGIN
|
||||
END
|
||||
|
||||
IDD_TASEDITOR_ABOUT, DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
IDD_TASEDITOR_NEWPROJECT, DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
IDD_TASEDITOR_EXPORT, DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
IDD_TASEDITOR_FINDNOTE, DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
IDD_TASEDITOR_SAVECOMPACT, DIALOG
|
||||
BEGIN
|
||||
END
|
||||
|
||||
"ASSEMBLER", DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
|
@ -2642,6 +2678,21 @@ BEGIN
|
|||
0
|
||||
END
|
||||
|
||||
ASSEMBLER AFX_DIALOG_LAYOUT
|
||||
BEGIN
|
||||
0
|
||||
END
|
||||
|
||||
MEMVIEWFIND AFX_DIALOG_LAYOUT
|
||||
BEGIN
|
||||
0
|
||||
END
|
||||
|
||||
VIDEOCONFIG AFX_DIALOG_LAYOUT
|
||||
BEGIN
|
||||
0
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
|
|
@ -1288,6 +1288,11 @@ BOOL CALLBACK VideoConCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara
|
|||
EnableWindow(GetDlgItem(hwndDlg, IDC_TVASPECT_Y), eoptions&EO_TVASPECT);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_STATIC_SLASHTEXT), eoptions&EO_TVASPECT);
|
||||
|
||||
DefaultEditCtrlProc = (WNDPROC)SetWindowLong(GetDlgItem(hwndDlg, IDC_WINSIZE_MUL_X), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
SetWindowLong(GetDlgItem(hwndDlg, IDC_WINSIZE_MUL_Y), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
SetWindowLong(GetDlgItem(hwndDlg, IDC_TVASPECT_X), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
SetWindowLong(GetDlgItem(hwndDlg, IDC_TVASPECT_Y), GWL_WNDPROC, (LONG)FilterEditCtrlProc);
|
||||
|
||||
break;
|
||||
}
|
||||
case WM_CLOSE:
|
||||
|
|
|
@ -243,7 +243,7 @@ int GetCheckedAutoFirePattern()
|
|||
if (AFon == 4 && AFoff == 2) return MENU_AUTOFIRE_PATTERN_14;
|
||||
if (AFon == 5 && AFoff == 1) return MENU_AUTOFIRE_PATTERN_15;
|
||||
|
||||
return MENU_AUTOFIRE_PATTERN_1;
|
||||
return MENU_AUTOFIRE_PATTERN_1;
|
||||
}
|
||||
|
||||
int GetCheckedAutoFireOffset()
|
||||
|
@ -3271,6 +3271,7 @@ LRESULT APIENTRY FilterEditCtrlProc(HWND hwnd, UINT msg, WPARAM wP, LPARAM lP)
|
|||
{
|
||||
case WM_PASTE:
|
||||
{
|
||||
|
||||
bool(*IsLetterLegal)(char) = GetIsLetterLegal(GetDlgCtrlID(hwnd));
|
||||
|
||||
if (IsLetterLegal)
|
||||
|
@ -3281,84 +3282,79 @@ LRESULT APIENTRY FilterEditCtrlProc(HWND hwnd, UINT msg, WPARAM wP, LPARAM lP)
|
|||
if (handle)
|
||||
{
|
||||
|
||||
// copy the original clipboard string
|
||||
// get the original clipboard string
|
||||
char* clipStr = (char*)GlobalLock(handle);
|
||||
char* original = (char*)calloc(1, strlen(clipStr) + 1);
|
||||
strcpy(original, clipStr);
|
||||
GlobalUnlock(handle);
|
||||
|
||||
// filter it out
|
||||
int lmt = SendMessage(hwnd, EM_GETLIMITTEXT, 0, 0);
|
||||
char* filtered = (char*)calloc(1, lmt + 1);
|
||||
int filteredIndex = 0, origIndex = 0;
|
||||
while (clipStr[origIndex] && filteredIndex < lmt + 1)
|
||||
// check if the text in clipboard has illegal characters
|
||||
int len = strlen(clipStr);
|
||||
for (int i = 0; i < len; ++i)
|
||||
{
|
||||
if (IsLetterLegal(clipStr[origIndex]))
|
||||
if (!IsLetterLegal(clipStr[i]))
|
||||
{
|
||||
filtered[filteredIndex] = clipStr[origIndex];
|
||||
++filteredIndex;
|
||||
}
|
||||
++origIndex;
|
||||
}
|
||||
|
||||
// copy filtered str to clipboard
|
||||
EmptyClipboard();
|
||||
HANDLE hNewStr = GlobalAlloc(GMEM_MOVEABLE, lmt);
|
||||
char* newStr = (char*)GlobalLock(hNewStr);
|
||||
strcpy(newStr, filtered);
|
||||
GlobalUnlock(hNewStr);
|
||||
SetClipboardData(CF_TEXT, hNewStr);
|
||||
|
||||
// end
|
||||
CloseClipboard();
|
||||
result = CallWindowProc(DefaultEditCtrlProc, hwnd, msg, wP, lP);
|
||||
through = false;
|
||||
free(filtered);
|
||||
|
||||
// set it back to normal
|
||||
if (OpenClipboard(hwnd))
|
||||
{
|
||||
handle = GetClipboardData(CF_TEXT);
|
||||
if (handle)
|
||||
{
|
||||
EmptyClipboard();
|
||||
HANDLE hOldStr = GlobalAlloc(GMEM_MOVEABLE, strlen(original) + 1);
|
||||
char* oldStr = (char*)GlobalLock(hOldStr);
|
||||
strcpy(oldStr, original);
|
||||
GlobalUnlock(hOldStr);
|
||||
SetClipboardData(CF_TEXT, hOldStr);
|
||||
// Show Edit control tip, just like the control with ES_NUMBER do
|
||||
ShowLetterIllegalError(hwnd, IsLetterLegal);
|
||||
break;
|
||||
}
|
||||
}
|
||||
GlobalUnlock(handle);
|
||||
CloseClipboard();
|
||||
}
|
||||
|
||||
// end
|
||||
free(original);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case WM_CHAR:
|
||||
through = IsInputLegal(GetDlgCtrlID(GetFocus()), wP);
|
||||
{
|
||||
bool(*IsLetterLegal)(char) = GetIsLetterLegal(GetDlgCtrlID(hwnd));
|
||||
through = IsInputLegal(GetIsLetterLegal(GetDlgCtrlID(hwnd)), wP);
|
||||
if (!through)
|
||||
ShowLetterIllegalError(hwnd, IsLetterLegal);
|
||||
}
|
||||
}
|
||||
|
||||
return through ? CallWindowProc(DefaultEditCtrlProc, hwnd, msg, wP, lP) : result;
|
||||
}
|
||||
|
||||
// return a letter legal checking function for the specified control with the given id
|
||||
bool inline (*GetIsLetterLegal(UINT id))(char letter)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
// owomomo TODO: RAM Search is a bit complicated,
|
||||
// I'll handle it in later development
|
||||
|
||||
|
||||
// Game genie text in Cheat and Game Genie Encoder/Decoder
|
||||
case IDC_CHEAT_GAME_GENIE_TEXT:
|
||||
case IDC_GAME_GENIE_CODE:
|
||||
return IsLetterLegalGG;
|
||||
|
||||
// Addresses in Debugger
|
||||
case IDC_DEBUGGER_VAL_PCSEEK:
|
||||
case IDC_DEBUGGER_VAL_PC:
|
||||
case IDC_DEBUGGER_VAL_A:
|
||||
case IDC_DEBUGGER_VAL_X:
|
||||
case IDC_DEBUGGER_VAL_Y:
|
||||
case IDC_DEBUGGER_BOOKMARK:
|
||||
|
||||
// Debugger -> Add breakpoint
|
||||
case IDC_ADDBP_ADDR_START: case IDC_ADDBP_ADDR_END:
|
||||
|
||||
// RAM Watch / RAM Search / Cheat -> Add watch
|
||||
// TODO: Some other features
|
||||
// case IDC_EDIT_COMPAREADDRESS:
|
||||
|
||||
// Address, Value, Compare, Known Value, Note equal, Greater than and Less than in Cheat
|
||||
case IDC_CHEAT_ADDR: case IDC_CHEAT_VAL: case IDC_CHEAT_COM:
|
||||
case IDC_CHEAT_VAL_KNOWN: case IDC_CHEAT_VAL_NE_BY:
|
||||
case IDC_CHEAT_VAL_GT_BY: case IDC_CHEAT_VAL_LT_BY:
|
||||
|
||||
// Address, Value and Compare in Game Genie Encoder/Decoder
|
||||
case IDC_GAME_GENIE_ADDR: case IDC_GAME_GENIE_VAL: case IDC_GAME_GENIE_COMP:
|
||||
|
||||
// Address controls in Memory watch
|
||||
case MW_ADDR00: case MW_ADDR01: case MW_ADDR02: case MW_ADDR03:
|
||||
case MW_ADDR04: case MW_ADDR05: case MW_ADDR06: case MW_ADDR07:
|
||||
case MW_ADDR08: case MW_ADDR09: case MW_ADDR10: case MW_ADDR11:
|
||||
|
@ -3367,30 +3363,84 @@ bool inline (*GetIsLetterLegal(UINT id))(char letter)
|
|||
case MW_ADDR20: case MW_ADDR21: case MW_ADDR22: case MW_ADDR23:
|
||||
return IsLetterLegalHex;
|
||||
|
||||
// Size multiplier and TV Aspect in Video Config
|
||||
case IDC_WINSIZE_MUL_X: case IDC_WINSIZE_MUL_Y:
|
||||
case IDC_TVASPECT_X: case IDC_TVASPECT_Y:
|
||||
return IsLetterLegalFloat;
|
||||
|
||||
// Cheat code in Cheat
|
||||
case IDC_CHEAT_TEXT:
|
||||
return IsLetterLegalCheat;
|
||||
|
||||
|
||||
// PRG ROM, PRG RAM, PRG NVRAM, CHR ROM, CHR RAM, CHR NVRAM in iNES Header Editor
|
||||
case IDC_PRGROM_EDIT: case IDC_PRGRAM_EDIT: case IDC_PRGNVRAM_EDIT:
|
||||
case IDC_CHRROM_EDIT: case IDC_CHRRAM_EDIT: case IDC_CHRNVRAM_EDIT:
|
||||
return IsLetterLegalSize;
|
||||
|
||||
|
||||
case IDC_SUBMAPPER_EDIT:
|
||||
case IDC_MISCELLANEOUS_ROMS_EDIT:
|
||||
return IsLetterLegalPosDec;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool inline IsInputLegal(UINT id, char letter)
|
||||
inline void ShowLetterIllegalError(HWND hwnd, bool(*IsLetterLegal)(char letter), bool balloon)
|
||||
{
|
||||
(balloon ? ShowLetterIllegalBalloonTip : ShowLetterIllegalMessageBox)(hwnd, IsLetterLegal);
|
||||
}
|
||||
|
||||
void ShowLetterIllegalBalloonTip(HWND hwnd, bool(*IsLetterLegal)(char letter))
|
||||
{
|
||||
char* title = "Unacceptable Character";
|
||||
int uLen = MultiByteToWideChar(CP_ACP, NULL, title, -1, NULL, 0);
|
||||
wchar_t* titleW = (wchar_t*)malloc(sizeof(wchar_t) * uLen);
|
||||
MultiByteToWideChar(CP_ACP, 0, title, -1, (LPWSTR)titleW, uLen);
|
||||
|
||||
char* msg = GetLetterIllegalErrMsg(IsLetterLegal);
|
||||
uLen = MultiByteToWideChar(CP_ACP, NULL, msg, -1, NULL, 0);
|
||||
wchar_t* msgW = (wchar_t*)malloc(sizeof(wchar_t) * uLen);
|
||||
MultiByteToWideChar(CP_ACP, 0, msg, -1, (LPWSTR)msgW, uLen);
|
||||
|
||||
EDITBALLOONTIP tip;
|
||||
tip.cbStruct = sizeof(EDITBALLOONTIP);
|
||||
tip.pszText = msgW;
|
||||
tip.pszTitle = titleW;
|
||||
tip.ttiIcon = TTI_ERROR;
|
||||
SendMessage(hwnd, EM_SHOWBALLOONTIP, 0, (LPARAM)&tip);
|
||||
|
||||
free(titleW);
|
||||
free(msgW);
|
||||
}
|
||||
|
||||
inline void ShowLetterIllegalMessageBox(HWND hwnd, bool(*IsLetterLegal)(char letter))
|
||||
{
|
||||
MessageBox(hwnd, GetLetterIllegalErrMsg(IsLetterLegal), "Unacceptable Character", MB_OK | MB_ICONERROR);
|
||||
}
|
||||
|
||||
inline char* GetLetterIllegalErrMsg(bool(*IsLetterLegal)(char letter))
|
||||
{
|
||||
if (IsLetterLegal == IsLetterLegalGG)
|
||||
return "You can only type Game Genie characters:\nA P Z L G I T Y E O X U K S V N";
|
||||
if (IsLetterLegal == IsLetterLegalHex)
|
||||
return "You can only type characters for hexadecimal number (0-9,A-F).";
|
||||
if (IsLetterLegal == IsLetterLegalCheat)
|
||||
return
|
||||
"The cheat code comes into the following 2 formats:\n"
|
||||
"AAAA:VV freezes the value in Address $AAAA to $VV.\n"
|
||||
"AAAA?CC:VV changes the value in Address $AAAA to $VV only when it's $CC.\n"
|
||||
"All the characters are hexadecimal number (0-9,A-F).\n";
|
||||
if (IsLetterLegal == IsLetterLegalFloat)
|
||||
return "You can only type decimal number (decimal point is acceptable).";
|
||||
if (IsLetterLegal == IsLetterLegalSize)
|
||||
return "You can only type decimal number followed with B, KB or MB.";
|
||||
if (IsLetterLegal == IsLetterLegalDec)
|
||||
return "You can only type decimal number (minus is acceptable).";
|
||||
|
||||
return "Your input contains invalid characters.";
|
||||
}
|
||||
|
||||
inline bool IsInputLegal(bool (*IsLetterLegal)(char letter), char letter)
|
||||
{
|
||||
bool(*IsLetterLegal)(char) = GetIsLetterLegal(id);
|
||||
return !IsLetterLegal || letter == VK_BACK || GetKeyState(VK_CONTROL) & 0x8000 || IsLetterLegal(letter);
|
||||
}
|
||||
|
||||
bool inline IsLetterLegalGG(char letter)
|
||||
inline bool IsLetterLegalGG(char letter)
|
||||
{
|
||||
char ch = toupper(letter);
|
||||
for (int i = 0; GameGenieLetters[i]; ++i)
|
||||
|
@ -3399,27 +3449,27 @@ bool inline IsLetterLegalGG(char letter)
|
|||
return false;
|
||||
}
|
||||
|
||||
bool inline IsLetterLegalHex(char letter)
|
||||
inline bool IsLetterLegalHex(char letter)
|
||||
{
|
||||
return letter >= '0' && letter <= '9' || letter >= 'A' && letter <= 'F' || letter >= 'a' && letter <= 'f';
|
||||
}
|
||||
|
||||
bool inline IsLetterLegalCheat(char letter)
|
||||
inline bool IsLetterLegalCheat(char letter)
|
||||
{
|
||||
return letter >= '0' && letter <= ':' || letter >= 'A' && letter <= 'F' || letter >= 'a' && letter <= 'f' || letter == '?';
|
||||
}
|
||||
|
||||
bool inline IsLetterLegalSize(char letter)
|
||||
inline bool IsLetterLegalSize(char letter)
|
||||
{
|
||||
return letter >= '0' && letter <= '9' || letter == 'm' || letter == 'M' || letter == 'k' || letter == 'K' || letter == 'b' || letter == 'B';
|
||||
}
|
||||
|
||||
bool inline IsLetterLegalPosDec(char letter)
|
||||
{
|
||||
return letter >= '0' && letter <= '9';
|
||||
}
|
||||
|
||||
bool inline IsLetterLegalDec(char letter)
|
||||
inline bool IsLetterLegalDec(char letter)
|
||||
{
|
||||
return letter >= '0' && letter <= '9' || letter == '-';
|
||||
}
|
||||
|
||||
inline bool IsLetterLegalFloat(char letter)
|
||||
{
|
||||
return letter >= '0' && letter <= '9' || letter == '.';
|
||||
}
|
|
@ -128,14 +128,18 @@ struct HOTKEYMENUINDEX {
|
|||
void UpdateMenuHotkeys(FCEUMENU_INDEX index);
|
||||
int GetCurrentContextIndex();
|
||||
|
||||
bool inline (*GetIsLetterLegal(UINT id))(char letter);
|
||||
bool inline IsInputLegal(UINT id, char letter);
|
||||
bool inline IsLetterLegalGG(char letter);
|
||||
bool inline IsLetterLegalHex(char letter);
|
||||
bool inline IsLetterLegalCheat(char letter);
|
||||
bool inline IsLetterLegalDec(char letter);
|
||||
bool inline IsLetterLegalPosDec(char letter);
|
||||
bool inline IsLetterLegalSize(char letter);
|
||||
inline bool (*GetIsLetterLegal(UINT id))(char letter);
|
||||
inline char* GetLetterIllegalErrMsg(bool(*IsLetterLegal)(char letter));
|
||||
inline void ShowLetterIllegalError(HWND hwnd, bool(*IsLetterLegal)(char letter), bool balloon = true);
|
||||
void ShowLetterIllegalBalloonTip(HWND hwnd, bool(*IsLetterLegal)(char letter));
|
||||
inline void ShowLetterIllegalMessageBox(HWND hwnd, bool(*IsLetterLegal)(char letter));
|
||||
inline bool IsInputLegal(bool(*IsLetterLegal)(char letter), char letter);
|
||||
inline bool IsLetterLegalGG(char letter);
|
||||
inline bool IsLetterLegalHex(char letter);
|
||||
inline bool IsLetterLegalCheat(char letter);
|
||||
inline bool IsLetterLegalDec(char letter);
|
||||
inline bool IsLetterLegalSize(char letter);
|
||||
inline bool IsLetterLegalFloat(char letter);
|
||||
|
||||
extern WNDPROC DefaultEditCtrlProc;
|
||||
extern LRESULT APIENTRY FilterEditCtrlProc(HWND hDlg, UINT msg, WPARAM wP, LPARAM lP);
|
||||
|
|
Loading…
Reference in New Issue