diff --git a/src/drivers/win/debugger.cpp b/src/drivers/win/debugger.cpp index b4b49fb3..e13377e4 100644 --- a/src/drivers/win/debugger.cpp +++ b/src/drivers/win/debugger.cpp @@ -2359,7 +2359,7 @@ INT_PTR CALLBACK DebuggerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lP } case IDC_DEBUGGER_BOOKMARK_ADD: AddDebuggerBookmark(hwndDlg); break; case IDC_DEBUGGER_BOOKMARK_DEL: DeleteDebuggerBookmark(hwndDlg); break; - case IDC_DEBUGGER_BOOKMARK_NAME: NameDebuggerBookmark(hwndDlg); break; + case IDC_DEBUGGER_BOOKMARK_EDIT: EditDebuggerBookmark(hwndDlg); break; case IDC_DEBUGGER_ENABLE_SYMBOLIC: { symbDebugEnabled ^= 1; diff --git a/src/drivers/win/debuggersp.cpp b/src/drivers/win/debuggersp.cpp index 29587997..76d323b4 100644 --- a/src/drivers/win/debuggersp.cpp +++ b/src/drivers/win/debuggersp.cpp @@ -62,7 +62,9 @@ int debuggerWasActive = 0; char temp_chr[40] = {0}; char delimiterChar[2] = "#"; -extern INT_PTR CALLBACK nameBookmarkCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK nameDebuggerBookmarkCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); +extern WNDPROC DefaultEditCtrlProc; +extern LRESULT APIENTRY FilterEditCtrlProc(HWND hDlg, UINT uMsg, WPARAM wP, LPARAM lP); MemoryMappedRegister RegNames[] = { {"$2000", "PPU_CTRL"}, @@ -768,28 +770,6 @@ unsigned int getBookmarkAddress(unsigned int index) return 0; } -/** -* Adds a debugger bookmark to the list on the debugger window. -* -* @param hwnd HWMD of the debugger window -* @param buffer Text of the debugger bookmark -**/ -void AddDebuggerBookmark2(HWND hwnd, unsigned int addr) -{ - int index = bookmarks.size(); - // try to find Symbolic name for this address - Name* node = findNode(getNamesPointerForAddress(addr), addr); - std::pair bookmark(addr, node && node->name ? node->name : ""); - bookmarks.push_back(bookmark); - - // add new item to ListBox - char buffer[256]; - sprintf(buffer, "%04X %s", bookmark.first, bookmark.second.c_str()); - SendDlgItemMessage(hwnd, LIST_DEBUGGER_BOOKMARKS, LB_ADDSTRING, 0, (LPARAM)buffer); - // select this item - SendDlgItemMessage(hwnd, LIST_DEBUGGER_BOOKMARKS, LB_SETCURSEL, index, 0); -} - /** * Takes the offset from the debugger bookmark edit field and adds a debugger * bookmark with that offset to the bookmark list if the offset is valid. @@ -798,18 +778,44 @@ void AddDebuggerBookmark2(HWND hwnd, unsigned int addr) **/ void AddDebuggerBookmark(HWND hwnd) { - int n; char buffer[5] = {0}; - GetDlgItemText(hwnd, IDC_DEBUGGER_BOOKMARK, buffer, 5); - n = offsetStringToInt(BT_C, buffer); + int address = offsetStringToInt(BT_C, buffer); // Make sure the offset is valid - if (n == -1 || n > 0xFFFF) + if (address == -1 || address > 0xFFFF) { MessageBox(hwnd, "Invalid offset", "Error", MB_OK | MB_ICONERROR); return; } - AddDebuggerBookmark2(hwnd, n); +/* + int index = 0; + for (std::vector>::iterator it = bookmarks.begin(); it != bookmarks.end(); ++it) + { + if (it->first == address) + { + // select this bookmark to notify it already have a bookmark + SendDlgItemMessage(hwnd, LIST_DEBUGGER_BOOKMARKS, LB_SETCURSEL, index, 0); + return; + } + ++index; + } + */ + + int index = bookmarks.size(); + // try to find Symbolic name for this address + Name* node = findNode(getNamesPointerForAddress(address), address); + std::pair bookmark(address, node && node->name ? node->name : ""); + if (DialogBoxParam(fceu_hInstance, "NAMEBOOKMARKDLGDEBUGGER", hwnd, nameDebuggerBookmarkCallB, (LPARAM)&bookmark)) + { + bookmarks.push_back(bookmark); + // add new item to ListBox + char buffer[256]; + sprintf(buffer, "%04X %s", bookmark.first, bookmark.second.c_str()); + SendDlgItemMessage(hwnd, LIST_DEBUGGER_BOOKMARKS, LB_ADDSTRING, 0, (LPARAM)buffer); + // select this item + SendDlgItemMessage(hwnd, LIST_DEBUGGER_BOOKMARKS, LB_SETCURSEL, index, 0); + } + } /** @@ -841,7 +847,7 @@ void DeleteDebuggerBookmark(HWND hwnd) } } -void NameDebuggerBookmark(HWND hwnd) +void EditDebuggerBookmark(HWND hwnd) { // Get the selected bookmark int selectedItem = SendDlgItemMessage(hwnd, LIST_DEBUGGER_BOOKMARKS, LB_GETCURSEL, 0, 0); @@ -865,7 +871,7 @@ void NameDebuggerBookmark(HWND hwnd) } } // Show the bookmark name dialog - if (DialogBoxParam(fceu_hInstance, "NAMEBOOKMARKDLG", hwnd, nameBookmarkCallB, (LPARAM)&bookmark)) + if (DialogBoxParam(fceu_hInstance, "NAMEBOOKMARKDLGDEBUGGER", hwnd, nameDebuggerBookmarkCallB, (LPARAM)&bookmark)) { // Rename the selected bookmark bookmarks[selectedItem] = bookmark; @@ -1159,4 +1165,88 @@ void WriteNameFileToDisk(const char* filename, Name* node) } } +INT_PTR CALLBACK nameDebuggerBookmarkCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) +{ + static std::pair* debuggerBookmark; + + switch (uMsg) + { + case WM_INITDIALOG: + { + // Limit bookmark descriptions to 50 characters + SendDlgItemMessage(hwndDlg, IDC_BOOKMARK_DESCRIPTION, EM_SETLIMITTEXT, 50, 0); + + // Limit the address text + SendDlgItemMessage(hwndDlg, IDC_BOOKMARK_ADDRESS, EM_SETLIMITTEXT, 4, 0); + DefaultEditCtrlProc = (WNDPROC)SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_BOOKMARK_ADDRESS), GWLP_WNDPROC, (LONG_PTR)FilterEditCtrlProc); + + debuggerBookmark = (std::pair*)lParam; + char addr[8]; + sprintf(addr, "%04X", debuggerBookmark->first); + + // Set address and description + sprintf(addr, "%04X", debuggerBookmark->first); + SetDlgItemText(hwndDlg, IDC_BOOKMARK_ADDRESS, addr); + SetDlgItemText(hwndDlg, IDC_BOOKMARK_DESCRIPTION, debuggerBookmark->second.c_str()); + + // Set focus to the edit field. + SetFocus(GetDlgItem(hwndDlg, IDC_BOOKMARK_DESCRIPTION)); + SendDlgItemMessage(hwndDlg, IDC_BOOKMARK_DESCRIPTION, EM_SETSEL, 0, 52); + + break; + } + case WM_QUIT: + case WM_CLOSE: + EndDialog(hwndDlg, 0); + break; + case WM_COMMAND: + switch (HIWORD(wParam)) + { + case BN_CLICKED: + switch (LOWORD(wParam)) + { + case IDOK: + { + char addr_str[8]; + GetDlgItemText(hwndDlg, IDC_BOOKMARK_ADDRESS, addr_str, 8); + sscanf(addr_str, "%X", &debuggerBookmark->first); + + if (debuggerBookmark->first > 0xFFFE) + { + // if the address is out of range + char errmsg[64]; + sprintf(errmsg, "The address must be in range of 0-%X", 0xFFFE); + MessageBox(hwndDlg, errmsg, "Address out of range", MB_OK | MB_ICONERROR); + SetFocus(GetDlgItem(hwndDlg, IDC_BOOKMARK_ADDRESS)); + return FALSE; + } + + /* + extern std::vector> bookmarks; + for (std::vector>::iterator it = bookmarks.begin(); it != bookmarks.end(); ++it) + { + if (it->first == debuggerBookmark->first && it->second == debuggerBookmark->second) + { + // if the address already have a bookmark + MessageBox(hwndDlg, "This address already have a bookmark", "Bookmark duplicated", MB_OK | MB_ICONASTERISK); + return FALSE; + } + } + */ + + // Update the description + char description[51]; + GetDlgItemText(hwndDlg, IDC_BOOKMARK_DESCRIPTION, description, 50); + debuggerBookmark->second = description; + EndDialog(hwndDlg, 1); + break; + } + case IDCANCEL: + EndDialog(hwndDlg, 0); + } + } + } + + return FALSE; +} diff --git a/src/drivers/win/debuggersp.h b/src/drivers/win/debuggersp.h index 41cf94f8..5556925c 100644 --- a/src/drivers/win/debuggersp.h +++ b/src/drivers/win/debuggersp.h @@ -55,9 +55,8 @@ void setNamesPointerForAddress(uint16 address, Name* newNode); void loadNameFiles(); void replaceNames(Name* list, char* str, std::vector* addressesLog = 0); void AddDebuggerBookmark(HWND hwnd); -void AddDebuggerBookmark2(HWND hwnd, unsigned int addr); void DeleteDebuggerBookmark(HWND hwnd); -void NameDebuggerBookmark(HWND hwnd); +void EditDebuggerBookmark(HWND hwnd); void DeleteAllDebuggerBookmarks(); void FillDebuggerBookmarkListbox(HWND hwnd); diff --git a/src/drivers/win/memview.cpp b/src/drivers/win/memview.cpp index 214a8683..65ca0ffe 100644 --- a/src/drivers/win/memview.cpp +++ b/src/drivers/win/memview.cpp @@ -615,7 +615,7 @@ void UpdateMemoryView(int draw_all) return; } -char EditString[4][20] = {"RAM","PPU","OAM","ROM"}; +char* EditString[4] = {"RAM","PPU","OAM","ROM"}; void UpdateCaption() { @@ -1255,6 +1255,19 @@ void KillMemView() return; } +int GetMaxSize(int EditingMode) +{ + switch (EditingMode) + { + case MODE_NES_MEMORY: return 0x10000; + case MODE_NES_PPU: return (GameInfo->type == GIT_NSF ? 0x2000 : 0x4000); + case MODE_NES_OAM: return 0x100; + case MODE_NES_FILE: return 16 + CHRsize[0] + PRGsize[0]; //todo: add trainer size + } + return 0; +} + + LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; @@ -2162,17 +2175,7 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa break; } - switch (EditingMode) - { - case MODE_NES_MEMORY: - MaxSize = 0x10000; break; - case MODE_NES_PPU: - MaxSize = (GameInfo->type == GIT_NSF ? 0x2000 : 0x4000); break; - case MODE_NES_OAM: - MaxSize = 0x100; break; - case MODE_NES_FILE: //todo: add trainer size - MaxSize = 16 + CHRsize[0] + PRGsize[0]; break; - } + MaxSize = GetMaxSize(EditingMode); if (CurOffset >= MaxSize - DataAmount) CurOffset = MaxSize - DataAmount; if (CurOffset < 0) CurOffset = 0; diff --git a/src/drivers/win/memview.h b/src/drivers/win/memview.h index 7dc9a882..1d7b5ecb 100644 --- a/src/drivers/win/memview.h +++ b/src/drivers/win/memview.h @@ -16,4 +16,4 @@ void SetHexEditorAddress(int gotoaddress); extern HWND hMemView, hMemFind; extern int EditingMode; -extern char EditString[4][20]; \ No newline at end of file +extern char* EditString[4]; \ No newline at end of file diff --git a/src/drivers/win/memviewsp.cpp b/src/drivers/win/memviewsp.cpp index 3b2e6e44..0ff91add 100644 --- a/src/drivers/win/memviewsp.cpp +++ b/src/drivers/win/memviewsp.cpp @@ -62,15 +62,11 @@ BOOL CenterWindow(HWND hwndDlg); but different bookmark systems, either decouple their callback into separate functions or unify them to use the same bookmark system. */ -INT_PTR CALLBACK nameBookmarkCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK nameHexBookmarkCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { // For Hex Editor static HexBookmarkMsg* hexBookmarkMsg; - static int dlgShortcutRadioCheck[10] = { IDC_RADIO_SHORTCUT0, IDC_RADIO_SHORTCUT1, IDC_RADIO_SHORTCUT2, IDC_RADIO_SHORTCUT3, IDC_RADIO_SHORTCUT4, IDC_RADIO_SHORTCUT5, IDC_RADIO_SHORTCUT6, IDC_RADIO_SHORTCUT7, IDC_RADIO_SHORTCUT8, IDC_RADIO_SHORTCUT9 }; - - // For Debugger - extern HWND hDebug; - static std::pair* debuggerBookmark; + int dlgShortcutRadioCheck[10] = { IDC_RADIO_SHORTCUT0, IDC_RADIO_SHORTCUT1, IDC_RADIO_SHORTCUT2, IDC_RADIO_SHORTCUT3, IDC_RADIO_SHORTCUT4, IDC_RADIO_SHORTCUT5, IDC_RADIO_SHORTCUT6, IDC_RADIO_SHORTCUT7, IDC_RADIO_SHORTCUT8, IDC_RADIO_SHORTCUT9 }; switch (uMsg) { @@ -79,60 +75,51 @@ INT_PTR CALLBACK nameBookmarkCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA // Limit bookmark descriptions to 50 characters SendDlgItemMessage(hwndDlg, IDC_BOOKMARK_DESCRIPTION, EM_SETLIMITTEXT, 50, 0); - // Put the current bookmark description into the edit field - HWND parent = GetParent(hwndDlg); - - char addr[5]; - const char* description; - // Called from Hex Editor - if (parent == hMemView) + // Limit the address text + SendDlgItemMessage(hwndDlg, IDC_BOOKMARK_ADDRESS, EM_SETLIMITTEXT, 6, 0); + DefaultEditCtrlProc = (WNDPROC)SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_BOOKMARK_ADDRESS), GWLP_WNDPROC, (LONG_PTR)FilterEditCtrlProc); + + // Add View list box + for (int i = 0; i < 4; ++i) + SendDlgItemMessage(hwndDlg, IDC_BOOKMARK_COMBO_VIEW, CB_INSERTSTRING, -1, (LPARAM)EditString[i]); + + hexBookmarkMsg = (HexBookmarkMsg*)lParam; + HexBookmark* hexBookmark = hexBookmarkMsg->bookmark; + + bool shortcut_assigned = hexBookmarkMsg->shortcut_index != -1; + if (shortcut_assigned) { - hexBookmarkMsg = (HexBookmarkMsg*)lParam; - HexBookmark* hexBookmark = hexBookmarkMsg->bookmark; - sprintf(addr, "%04X", hexBookmark->address); - description = hexBookmark->description; - - bool shortcut_assigned = hexBookmarkMsg->shortcut_index != -1; - if (shortcut_assigned) - { - CheckDlgButton(hwndDlg, IDC_CHECK_SHORTCUT, BST_CHECKED); - CheckDlgButton(hwndDlg, dlgShortcutRadioCheck[hexBookmarkMsg->shortcut_index], BST_CHECKED); - } - else - EnableWindow(GetDlgItem(hwndDlg, IDC_BOOKMARK_SHORTCUT_PREFIX_TEXT), FALSE); - - for (int i = 0; i < 10; ++i) - if (!shortcut_assigned || hexBookmarkShortcut[i] != -1 && hexBookmarkShortcut[i] != hexBookmarkMsg->bookmark_index) - // the shortcut number is occupied but it doesn't belongs to this bookmark, or the bookmark doesn't have a shortcut - EnableWindow(GetDlgItem(hwndDlg, dlgShortcutRadioCheck[i]), FALSE); - - if (!shortcut_assigned && numHexBookmarkShortcut >= 10) - { - // all the shortcuts are occupied and this one doesn't have a shortcut, it's impossible to assign a new shortcut - EnableWindow(GetDlgItem(hwndDlg, IDC_CHECK_SHORTCUT), FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_BOOKMARK_SHORTCUT_PREFIX_TEXT), FALSE); - } + CheckDlgButton(hwndDlg, IDC_CHECK_SHORTCUT, BST_CHECKED); + CheckDlgButton(hwndDlg, dlgShortcutRadioCheck[hexBookmarkMsg->shortcut_index], BST_CHECKED); } - // Called from Debugger - else if (parent == hDebug) - { - debuggerBookmark = (std::pair*)lParam; - sprintf(addr, "%04X", debuggerBookmark->first); - description = debuggerBookmark->second.c_str(); + else + EnableWindow(GetDlgItem(hwndDlg, IDC_BOOKMARK_SHORTCUT_PREFIX_TEXT), FALSE); - // Hide the shortcut panel since it doesn't support jump to address shortcut keys. - ShowWindow(GetDlgItem(hwndDlg, IDC_CHECK_SHORTCUT), SW_HIDE); - ShowWindow(GetDlgItem(hwndDlg, IDC_BOOKMARK_SHORTCUT_PREFIX_TEXT), SW_HIDE); - for (int i = 0; i < 10; ++i) - ShowWindow(GetDlgItem(hwndDlg, dlgShortcutRadioCheck[i]), SW_HIDE); + for (int i = 0; i < 10; ++i) + if (!shortcut_assigned || hexBookmarkShortcut[i] != -1 && hexBookmarkShortcut[i] != hexBookmarkMsg->bookmark_index) + // this bookmark doesn't have a shortcut, or the shortcut number is occupied but it doesn't belongs to this bookmark + EnableWindow(GetDlgItem(hwndDlg, dlgShortcutRadioCheck[i]), FALSE); + + if (!shortcut_assigned && numHexBookmarkShortcut >= 10) + { + // all the shortcuts are occupied and this one doesn't have a shortcut, it's impossible to assign a new shortcut + EnableWindow(GetDlgItem(hwndDlg, IDC_CHECK_SHORTCUT), FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_BOOKMARK_SHORTCUT_PREFIX_TEXT), FALSE); } // Set address and description + char addr[8]; + sprintf(addr, "%04X", hexBookmark->address); SetDlgItemText(hwndDlg, IDC_BOOKMARK_ADDRESS, addr); - SetDlgItemText(hwndDlg, IDC_BOOKMARK_DESCRIPTION, description); + SetDlgItemText(hwndDlg, IDC_BOOKMARK_DESCRIPTION, hexBookmark->description); + + // Set the view of the bookmark + SendDlgItemMessage(hwndDlg, IDC_BOOKMARK_COMBO_VIEW, CB_SETCURSEL, hexBookmarkMsg->bookmark->editmode, 0); // and set focus to that edit field. SetFocus(GetDlgItem(hwndDlg, IDC_BOOKMARK_DESCRIPTION)); + SendDlgItemMessage(hwndDlg, IDC_BOOKMARK_DESCRIPTION, EM_SETSEL, 0, 52); + break; } case WM_CLOSE: @@ -156,42 +143,69 @@ INT_PTR CALLBACK nameBookmarkCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA break; case IDOK: { - HWND parent = GetParent(hwndDlg); - // Called from Hex Editor - if (parent == hMemView) - { - // Update the bookmark description - GetDlgItemText(hwndDlg, IDC_BOOKMARK_DESCRIPTION, hexBookmarkMsg->bookmark->description, 50); - - // Update the shortcut key - if (hexBookmarkMsg->shortcut_index != -1 && hexBookmarkShortcut[hexBookmarkMsg->shortcut_index] != -1) - { - hexBookmarkShortcut[hexBookmarkMsg->shortcut_index] = -1; - --numHexBookmarkShortcut; - } + int address, editmode; - if (IsDlgButtonChecked(hwndDlg, IDC_CHECK_SHORTCUT)) - for (int i = 0; i < 10; ++i) - if(IsDlgButtonChecked(hwndDlg, dlgShortcutRadioCheck[i])) - { - // Update the shortcut index - hexBookmarkShortcut[i] = hexBookmarkMsg->bookmark_index; - ++numHexBookmarkShortcut; - break; - } - } - else if (parent == hDebug) + // Get the address; + char addr_str[8]; + GetDlgItemText(hwndDlg, IDC_BOOKMARK_ADDRESS, addr_str, 8); + sscanf(addr_str, "%X", &address); + + // Get the view which the address in + editmode = SendDlgItemMessage(hwndDlg, IDC_BOOKMARK_COMBO_VIEW, CB_GETCURSEL, 0, 0); + extern int GetMaxSize(int editingMode); + int MaxSize = GetMaxSize(editmode); + + // Update the address + if (address > MaxSize - 1) { - char description[51]; - GetDlgItemText(hwndDlg, IDC_BOOKMARK_DESCRIPTION, description, 50); - debuggerBookmark->second = description; + // if the address is out of range + char errmsg[64]; + sprintf(errmsg, "The address in %s must be in range of 0-%X", EditString[editmode], MaxSize - 1); + MessageBox(hwndDlg, errmsg, "Address out of range", MB_OK | MB_ICONERROR); + SetFocus(GetDlgItem(hwndDlg, IDC_BOOKMARK_ADDRESS)); + return FALSE; } + + int found = findBookmark(address, editmode); + if (found != -1 && found != hexBookmarkMsg->bookmark_index) + { + // if the address already have a bookmark and the bookmark is not the one we currently editing + MessageBox(hwndDlg, "This address already have a bookmark", "Bookmark duplicated", MB_OK | MB_ICONASTERISK); + SetFocus(GetDlgItem(hwndDlg, IDC_BOOKMARK_ADDRESS)); + return FALSE; + } + + hexBookmarkMsg->bookmark->address = address; + hexBookmarkMsg->bookmark->editmode = editmode; + + // Update the bookmark description + GetDlgItemText(hwndDlg, IDC_BOOKMARK_DESCRIPTION, hexBookmarkMsg->bookmark->description, 50); + + // Update the shortcut key + if (hexBookmarkMsg->shortcut_index != -1 && hexBookmarkShortcut[hexBookmarkMsg->shortcut_index] == hexBookmarkMsg->bookmark_index) + { + + hexBookmarkShortcut[hexBookmarkMsg->shortcut_index] = -1; + --numHexBookmarkShortcut; + } + + if (IsDlgButtonChecked(hwndDlg, IDC_CHECK_SHORTCUT)) + for (int i = 0; i < 10; ++i) + if (IsDlgButtonChecked(hwndDlg, dlgShortcutRadioCheck[i])) + { + // Update the shortcut index + hexBookmarkShortcut[i] = hexBookmarkMsg->bookmark_index; + ++numHexBookmarkShortcut; + break; + } + EndDialog(hwndDlg, 1); - break; } + break; + case IDCANCEL: + EndDialog(hwndDlg, 0); } } - break; } return FALSE; @@ -225,7 +239,7 @@ int addBookmark(HWND hwnd, unsigned int address, int editmode) msg.bookmark_index = nextBookmark; // Show the bookmark name dialog - if (DialogBoxParam(fceu_hInstance, "NAMEBOOKMARKDLG", hwnd, nameBookmarkCallB, (LPARAM)&msg)) + if (DialogBoxParam(fceu_hInstance, "NAMEBOOKMARKDLGMEMVIEW", hwnd, nameHexBookmarkCallB, (LPARAM)&msg)) { nextBookmark++; return 0; @@ -266,7 +280,7 @@ int editBookmark(HWND hwnd, unsigned int index) } // Show the bookmark name dialog - if (DialogBoxParam(fceu_hInstance, "NAMEBOOKMARKDLG", hwnd, nameBookmarkCallB, (LPARAM)&msg)) + if (DialogBoxParam(fceu_hInstance, "NAMEBOOKMARKDLGMEMVIEW", hwnd, nameHexBookmarkCallB, (LPARAM)&msg)) return 0; else return 1; @@ -343,7 +357,7 @@ void updateBookmarkMenus(HMENU menu) { // Get the text of the menu char buffer[0x100]; - sprintf(buffer, i < 10 ? "&%d. $%04X - %s" : "%d. $%04X - %s",i, hexBookmarks[i].address, hexBookmarks[i].description); + sprintf(buffer, i < 10 ? "&%d. %s:$%04X - %s" : "%d. $%04X - %s", i, EditString[hexBookmarks[i].editmode], hexBookmarks[i].address, hexBookmarks[i].description); AppendMenu(menu, MF_STRING, ID_FIRST_BOOKMARK + i, buffer); } diff --git a/src/drivers/win/memviewsp.h b/src/drivers/win/memviewsp.h index ee1f2f75..b4ed39d9 100644 --- a/src/drivers/win/memviewsp.h +++ b/src/drivers/win/memviewsp.h @@ -50,3 +50,6 @@ int removeBookmark(unsigned int index); void updateBookmarkMenus(HMENU menu); int handleBookmarkMenu(int bookmark); void removeAllBookmarks(HMENU menu); + +extern LRESULT APIENTRY FilterEditCtrlProc(HWND hDlg, UINT msg, WPARAM wP, LPARAM lP); +extern WNDPROC DefaultEditCtrlProc; diff --git a/src/drivers/win/pref.cpp b/src/drivers/win/pref.cpp index 5cbc26a4..2ec1c0d7 100644 --- a/src/drivers/win/pref.cpp +++ b/src/drivers/win/pref.cpp @@ -143,7 +143,7 @@ int storeHexPreferences(FILE* f) if (fwrite(hexBookmarks[i].description, 1, len, f) != len) return 1; } - // optional section: save bookmark shortcut matches + // Optional Section 1: Save bookmark shortcut matches if (numHexBookmarkShortcut) { fwrite(&numHexBookmarkShortcut, sizeof(numHexBookmarkShortcut), 1, f); @@ -155,6 +155,18 @@ int storeHexPreferences(FILE* f) } } + /* Optional Section 2: Edit mode + The Hex Editor used to have a bug, it doesn't store the edit mode to + the preferences, which make the bookmarks outside NES memory are all + treated as NES memory bookmarks. + However, for the consideration of backward compatibility of the older + version of FCEUX, we can only add the extra data to the last of the file + to fix this problem. + */ + for (int i = 0; i < nextBookmark; ++i) + if (fwrite(&hexBookmarks[i].editmode, sizeof(hexBookmarks[i].editmode), 1, f) != 1) + return 1; + return 0; } @@ -358,6 +370,10 @@ int loadHexPreferences(FILE* f) if (fread(&nextBookmark, sizeof(nextBookmark), 1, f) != 1) return 1; if (nextBookmark >= 64) return 1; + // clean the garbage values + memset(hexBookmarks, 0, sizeof(HexBookmark) * nextBookmark); + + for (i=0;i Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG - END - POPUP "Game+NoMovie" - BEGIN - MENUITEM "Play Movie...", FCEUX_CONTEXT_REPLAYMOVIE - MENUITEM "Record Movie...", FCEUX_CONTEXT_RECORDMOVIE - MENUITEM "Load Last Movie", FCEUX_CONTEXT_LOADLASTMOVIE - MENUITEM SEPARATOR - MENUITEM "Undo savestate", FCEUX_CONTEXT_UNDOSAVESTATE - MENUITEM "Undo loadstate", FCEUX_CONTEXT_UNDOLOADSTATE - MENUITEM "Rewind to last auto-save", FCEUX_CONTEXT_REWINDTOLASTAUTO - MENUITEM "Screenshot", FCEUX_CONTEXT_SCREENSHOT - MENUITEM SEPARATOR - MENUITEM "Close ROM", FCEU_CONTEXT_CLOSEROM - MENUITEM SEPARATOR - MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG - END - POPUP "Game+Movie+Playing+readonly" - BEGIN - MENUITEM "Toggle to read+write", FCEUX_CONTEXT_READONLYTOGGLE - MENUITEM "Play Movie from Beginning", FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING - MENUITEM "Stop Movie Replay", FCEU_CONTEXT_STOPMOVIE - MENUITEM "View comments and subtitles", FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES - MENUITEM SEPARATOR - MENUITEM "Toggle to Recording", FCEUX_CONTEXT_TOGGLE_RECORDING - POPUP "Modify Movie" - BEGIN - MENUITEM "Insert 1 Frame", FCEUX_CONTEXT_INSERT_1_FRAME - MENUITEM "Delete 1 Frame", FCEUX_CONTEXT_DELETE_1_FRAME - MENUITEM SEPARATOR - MENUITEM "Truncate at Current Frame", FCEUX_CONTEXT_TRUNCATE_MOVIE - END - POPUP "Record Mode" - BEGIN - MENUITEM "&Truncate", FCEUX_CONTEXT_RECORDMODE_TRUNCATE - MENUITEM "&Overwrite[W]", FCEUX_CONTEXT_RECORDMODE_OVERWRITE - MENUITEM "&Insert[I]", FCEUX_CONTEXT_RECORDMODE_INSERT - END - MENUITEM SEPARATOR - MENUITEM "Undo savestate", FCEUX_CONTEXT_UNDOSAVESTATE - MENUITEM "Rewind to last auto-save", FCEUX_CONTEXT_REWINDTOLASTAUTO - MENUITEM SEPARATOR - MENUITEM "Help....", FCEU_CONTEXT_MOVIEHELP - MENUITEM SEPARATOR - MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG - END - POPUP "Game+Movie+Playing+readwrite" - BEGIN - MENUITEM "Toggle to Read-only", FCEUX_CONTEXT_READONLYTOGGLE - MENUITEM "Play Movie From Beginning", FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING - MENUITEM "Stop Movie Replay", FCEU_CONTEXT_STOPMOVIE - MENUITEM "View comments and subtitles", FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES - MENUITEM "Make backup", FCEUX_CONTEXT_MAKEBACKUP - MENUITEM "Save Movie As...", FCEUX_CONTEXT_SAVEMOVIEAS - MENUITEM SEPARATOR - MENUITEM "Toggle to Recording", FCEUX_CONTEXT_TOGGLE_RECORDING - POPUP "Modify Movie" - BEGIN - MENUITEM "Insert 1 Frame", FCEUX_CONTEXT_INSERT_1_FRAME - MENUITEM "Delete 1 Frame", FCEUX_CONTEXT_DELETE_1_FRAME - MENUITEM SEPARATOR - MENUITEM "Truncate at Current Frame", FCEUX_CONTEXT_TRUNCATE_MOVIE - END - POPUP "Record Mode" - BEGIN - MENUITEM "&Truncate", FCEUX_CONTEXT_RECORDMODE_TRUNCATE - MENUITEM "&Overwrite[W]", FCEUX_CONTEXT_RECORDMODE_OVERWRITE - MENUITEM "&Insert[I]", FCEUX_CONTEXT_RECORDMODE_INSERT - END - MENUITEM SEPARATOR - MENUITEM "Undo savestate", FCEUX_CONTEXT_UNDOSAVESTATE - MENUITEM "Undo loadstate", FCEUX_CONTEXT_UNDOLOADSTATE - MENUITEM "Rewind to last auto-save", FCEUX_CONTEXT_REWINDTOLASTAUTO - MENUITEM SEPARATOR - MENUITEM "&Mode: Full state-movie loads", ID_CONTEXT_FULLSAVESTATES - MENUITEM SEPARATOR - MENUITEM "Help...", FCEU_CONTEXT_MOVIEHELP - MENUITEM SEPARATOR - MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG - END - POPUP "Game+Movie+Recording+readonly" - BEGIN - MENUITEM "Toggle to read+write", FCEUX_CONTEXT_READONLYTOGGLE - MENUITEM "Play Movie from Beginning", FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING - MENUITEM "Stop Movie Recording", FCEU_CONTEXT_STOPMOVIE - MENUITEM "View comments and subtitles", FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES - MENUITEM SEPARATOR - MENUITEM "Toggle to Playing", FCEUX_CONTEXT_TOGGLE_RECORDING - POPUP "Modify Movie" - BEGIN - MENUITEM "Insert 1 Frame", FCEUX_CONTEXT_INSERT_1_FRAME - MENUITEM "Delete 1 Frame", FCEUX_CONTEXT_DELETE_1_FRAME - MENUITEM SEPARATOR - MENUITEM "Truncate at Current Frame", FCEUX_CONTEXT_TRUNCATE_MOVIE - END - POPUP "Record Mode" - BEGIN - MENUITEM "&Truncate", FCEUX_CONTEXT_RECORDMODE_TRUNCATE - MENUITEM "&Overwrite[W]", FCEUX_CONTEXT_RECORDMODE_OVERWRITE - MENUITEM "&Insert[I]", FCEUX_CONTEXT_RECORDMODE_INSERT - END - MENUITEM SEPARATOR - MENUITEM "Undo savestate", FCEUX_CONTEXT_UNDOSAVESTATE - MENUITEM "Rewind to last auto-save", FCEUX_CONTEXT_REWINDTOLASTAUTO - MENUITEM SEPARATOR - MENUITEM "Help....", FCEU_CONTEXT_MOVIEHELP - MENUITEM SEPARATOR - MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG - END - POPUP "Game+Movie+Recording+readwrite" - BEGIN - MENUITEM "Toggle to Read-only", FCEUX_CONTEXT_READONLYTOGGLE - MENUITEM "Play Movie From Beginning", FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING - MENUITEM "Stop Movie Recording", FCEU_CONTEXT_STOPMOVIE - MENUITEM "View comments and subtitles", FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES - MENUITEM "Make backup", FCEUX_CONTEXT_MAKEBACKUP - MENUITEM "Save Movie As...", FCEUX_CONTEXT_SAVEMOVIEAS - MENUITEM SEPARATOR - MENUITEM "Toggle to Playing", FCEUX_CONTEXT_TOGGLE_RECORDING - POPUP "Modify Movie" - BEGIN - MENUITEM "Insert 1 Frame", FCEUX_CONTEXT_INSERT_1_FRAME - MENUITEM "Delete 1 Frame", FCEUX_CONTEXT_DELETE_1_FRAME - MENUITEM SEPARATOR - MENUITEM "Truncate at Current Frame", FCEUX_CONTEXT_TRUNCATE_MOVIE - END - POPUP "Record Mode" - BEGIN - MENUITEM "&Truncate", FCEUX_CONTEXT_RECORDMODE_TRUNCATE - MENUITEM "&Overwrite[W]", FCEUX_CONTEXT_RECORDMODE_OVERWRITE - MENUITEM "&Insert[I]", FCEUX_CONTEXT_RECORDMODE_INSERT - END - MENUITEM SEPARATOR - MENUITEM "Undo savestate", FCEUX_CONTEXT_UNDOSAVESTATE - MENUITEM "Undo loadstate", FCEUX_CONTEXT_UNDOLOADSTATE - MENUITEM "Rewind to last auto-save", FCEUX_CONTEXT_REWINDTOLASTAUTO - MENUITEM SEPARATOR - MENUITEM "&Mode: Full state-movie loads", ID_CONTEXT_FULLSAVESTATES - MENUITEM SEPARATOR - MENUITEM "Help...", FCEU_CONTEXT_MOVIEHELP - MENUITEM SEPARATOR - MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG - END -END - -RAMWATCH_MENU MENU -BEGIN - POPUP "File" - BEGIN - MENUITEM "&New list\tCtrl N", RAMMENU_FILE_NEW - MENUITEM "&Open...\tCtrl O", RAMMENU_FILE_OPEN - MENUITEM "&Save\tCtrl S", RAMMENU_FILE_SAVE - MENUITEM "Sa&ve As...\tCtrl Shift S", RAMMENU_FILE_SAVEAS - MENUITEM "&Append file...", RAMMENU_FILE_APPEND - MENUITEM "Recent", RAMMENU_FILE_RECENT - MENUITEM SEPARATOR - MENUITEM "Auto-&load", RAMMENU_FILE_AUTOLOAD - MENUITEM "Save Window Position", RAMMENU_FILE_SAVEWINDOW - MENUITEM SEPARATOR - MENUITEM "&Close\tAlt F4", IDCANCEL - END - POPUP "Watches" - BEGIN - MENUITEM "&New Watch\tN", IDC_C_WATCH - MENUITEM "&Edit Watch\tE", IDC_C_WATCH_EDIT - MENUITEM "&Remove Watch\tR", IDC_C_WATCH_REMOVE - MENUITEM "Duplicate Watch\tA", IDC_C_WATCH_DUPLICATE - MENUITEM "Add &Separator\tS", IDC_C_WATCH_SEPARATE - MENUITEM SEPARATOR - MENUITEM "Move Up\tU", IDC_C_WATCH_UP - MENUITEM "Move Down\tD", IDC_C_WATCH_DOWN - END -END - -CHEATCONTEXTMENUS MENU -BEGIN - POPUP "CheatListPopup" - BEGIN - MENUITEM "Toggle selected Cheats", CHEAT_CONTEXT_LIST_TOGGLECHEAT - MENUITEM "Poke Cheat Value", CHEAT_CONTEXT_LIST_POKECHEATVALUE - MENUITEM "Goto in Hex Editor", CHEAT_CONTEXT_LIST_GOTOINHEXEDITOR - MENUITEM "Delete selected Cheats", CHEAT_CONTEXT_LIST_DELETESELECTEDCHEATS - END - POPUP "CheatPossiPopup" - BEGIN - MENUITEM "Add to Memory Watch", CHEAT_CONTEXT_POSSI_ADDTOMEMORYWATCH - MENUITEM "Add cheat", CHEAT_CONTEXT_POSSI_ADDCHEAT - MENUITEM "Add to RAM Watch", CHEAT_CONTEXT_POSSI_ADDTORAMWATCH - MENUITEM "Go to in Hex Editor", CHEAT_CONTEXT_POSSI_GOTOINHEXEDITOR - END -END - -DEBUGCONTEXTMENUS MENU -BEGIN - POPUP "DebugListPopup" - BEGIN - MENUITEM "Toggle Breakpoint\tDbl-Clk", DEBUGGER_CONTEXT_TOGGLEBREAK - END -END - -LUAWINDOW_MENU MENU -BEGIN - POPUP "Console" - BEGIN - MENUITEM "&Font...", IDC_LUACONSOLE_CHOOSEFONT - MENUITEM "Clear", IDC_LUACONSOLE_CLEAR - END -END - -DISASMCONTEXTMENUS MENU -BEGIN - POPUP "DisasmPopup" - BEGIN - MENUITEM "Copy\tCtrl+C", DISASM_CONTEXT_COPY - MENUITEM "Select All\tCtrl+A", DISASM_CONTEXT_SELECTALL - END -END - - ///////////////////////////////////////////////////////////////////////////// // // Dialog // +NAMEBOOKMARKDLGDEBUGGER DIALOGEX 0, 0, 268, 67 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Debugger Bookmark" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + LTEXT "&Address:",IDC_BOOKMARK_ADDRESS_TEXT,8,10,30,8 + EDITTEXT IDC_BOOKMARK_ADDRESS,41,7,48,14,ES_UPPERCASE | ES_AUTOHSCROLL + LTEXT "&Name:",IDC_BOOKMARK_NAME_TEXT,8,28,23,8 + EDITTEXT IDC_BOOKMARK_DESCRIPTION,41,26,220,14,ES_AUTOHSCROLL + DEFPUSHBUTTON "OK",IDOK,82,46,50,14 + PUSHBUTTON "Cancel",IDCANCEL,136,46,50,14 +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" @@ -1497,7 +824,7 @@ BEGIN EDITTEXT IDC_DEBUGGER_INSTRUCTIONS_EXCEED,484,215,55,12,ES_UPPERCASE | ES_NOHIDESEL | ES_WANTRETURN | ES_NUMBER GROUPBOX "",IDC_STATIC,468,241,72,75 CONTROL "ROM offsets",IDC_DEBUGGER_ROM_OFFSETS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,249,62,10 - PUSHBUTTON "Name",IDC_DEBUGGER_BOOKMARK_NAME,431,288,30,14 + PUSHBUTTON "Edit",IDC_DEBUGGER_BOOKMARK_EDIT,431,288,30,14 EDITTEXT IDC_DEBUGGER_DISASSEMBLY_LEFT_PANEL,4,5,14,317,ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED CONTROL "Register names",IDC_DEBUGGER_PREDEFINED_REGS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,473,272,65,10 CONTROL "IDA font",DEBUGIDAFONT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,506,319,38,13 @@ -1906,28 +1233,31 @@ BEGIN 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, 269, 79 +NAMEBOOKMARKDLGMEMVIEW DIALOGEX 0, 0, 348, 63 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Bookmark name" +CAPTION "Hex Editor Bookmark" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN LTEXT "&Address:",IDC_BOOKMARK_ADDRESS_TEXT,7,10,30,8 - EDITTEXT IDC_BOOKMARK_ADDRESS,42,7,48,14,ES_UPPERCASE | ES_AUTOHSCROLL | ES_READONLY - LTEXT "&Name:",IDC_BOOKMARK_NAME_TEXT,7,27,23,8 - EDITTEXT IDC_BOOKMARK_DESCRIPTION,42,25,220,14,ES_AUTOHSCROLL - DEFPUSHBUTTON "&OK",IDOK,107,58,50,14 - CONTROL "&Shortcut:",IDC_CHECK_SHORTCUT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,44,46,10 - LTEXT "Ctrl+",IDC_BOOKMARK_SHORTCUT_PREFIX_TEXT,54,45,17,8 - CONTROL "&1",IDC_RADIO_SHORTCUT0,"Button",BS_AUTORADIOBUTTON,73,44,18,10 - CONTROL "&2",IDC_RADIO_SHORTCUT1,"Button",BS_AUTORADIOBUTTON,92,44,18,10 - CONTROL "&3",IDC_RADIO_SHORTCUT2,"Button",BS_AUTORADIOBUTTON,111,44,18,10 - CONTROL "&4",IDC_RADIO_SHORTCUT3,"Button",BS_AUTORADIOBUTTON,130,44,18,10 - CONTROL "&5",IDC_RADIO_SHORTCUT4,"Button",BS_AUTORADIOBUTTON,149,44,18,10 - CONTROL "&6",IDC_RADIO_SHORTCUT5,"Button",BS_AUTORADIOBUTTON,168,44,18,10 - CONTROL "&7",IDC_RADIO_SHORTCUT6,"Button",BS_AUTORADIOBUTTON,187,44,18,10 - CONTROL "&8",IDC_RADIO_SHORTCUT7,"Button",BS_AUTORADIOBUTTON,206,44,18,10 - CONTROL "&9",IDC_RADIO_SHORTCUT8,"Button",BS_AUTORADIOBUTTON,225,44,18,10 - CONTROL "&0",IDC_RADIO_SHORTCUT9,"Button",BS_AUTORADIOBUTTON,244,44,18,10 + EDITTEXT IDC_BOOKMARK_ADDRESS,40,7,48,14,ES_UPPERCASE | ES_AUTOHSCROLL + LTEXT "&Name:",IDC_BOOKMARK_NAME_TEXT,96,10,23,8 + EDITTEXT IDC_BOOKMARK_DESCRIPTION,121,7,220,14,ES_AUTOHSCROLL + LTEXT "&View:",IDC_BOOKMARK_VIEW_TEXT,17,27,20,8 + COMBOBOX IDC_BOOKMARK_COMBO_VIEW,40,26,36,30,CBS_DROPDOWNLIST | CBS_SORT | WS_TABSTOP + CONTROL "&Shortcut:",IDC_CHECK_SHORTCUT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,85,27,46,10 + LTEXT "Ctrl+",IDC_BOOKMARK_SHORTCUT_PREFIX_TEXT,132,28,17,8 + CONTROL "&1",IDC_RADIO_SHORTCUT0,"Button",BS_AUTORADIOBUTTON,151,27,18,10 + CONTROL "&2",IDC_RADIO_SHORTCUT1,"Button",BS_AUTORADIOBUTTON,170,27,18,10 + CONTROL "&3",IDC_RADIO_SHORTCUT2,"Button",BS_AUTORADIOBUTTON,189,27,18,10 + CONTROL "&4",IDC_RADIO_SHORTCUT3,"Button",BS_AUTORADIOBUTTON,208,27,18,10 + CONTROL "&5",IDC_RADIO_SHORTCUT4,"Button",BS_AUTORADIOBUTTON,227,27,18,10 + CONTROL "&6",IDC_RADIO_SHORTCUT5,"Button",BS_AUTORADIOBUTTON,246,27,18,10 + CONTROL "&7",IDC_RADIO_SHORTCUT6,"Button",BS_AUTORADIOBUTTON,265,27,18,10 + CONTROL "&8",IDC_RADIO_SHORTCUT7,"Button",BS_AUTORADIOBUTTON,284,27,18,10 + CONTROL "&9",IDC_RADIO_SHORTCUT8,"Button",BS_AUTORADIOBUTTON,303,27,18,10 + CONTROL "&0",IDC_RADIO_SHORTCUT9,"Button",BS_AUTORADIOBUTTON,323,27,18,10 + DEFPUSHBUTTON "OK",IDOK,119,42,50,14 + PUSHBUTTON "Cancel",IDCANCEL,178,42,50,14 END CDLOGGER DIALOGEX 0, 0, 307, 254 @@ -2419,6 +1749,14 @@ END #ifdef APSTUDIO_INVOKED GUIDELINES DESIGNINFO BEGIN + "NAMEBOOKMARKDLGDEBUGGER", DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 261 + TOPMARGIN, 7 + BOTTOMMARGIN, 60 + END + "DIRCONFIG", DIALOG BEGIN LEFTMARGIN, 10 @@ -2605,12 +1943,12 @@ BEGIN BOTTOMMARGIN, 128 END - "NAMEBOOKMARKDLG", DIALOG + "NAMEBOOKMARKDLGMEMVIEW", DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 262 + RIGHTMARGIN, 341 TOPMARGIN, 7 - BOTTOMMARGIN, 72 + BOTTOMMARGIN, 56 END "CDLOGGER", DIALOG @@ -2701,6 +2039,11 @@ END // AFX_DIALOG_LAYOUT // +NAMEBOOKMARKDLGDEBUGGER AFX_DIALOG_LAYOUT +BEGIN + 0 +END + NTVIEW AFX_DIALOG_LAYOUT BEGIN 0 @@ -2796,6 +2139,693 @@ BEGIN 0 END +NAMEBOOKMARKDLGMEMVIEW AFX_DIALOG_LAYOUT +BEGIN + 0 +END + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON3 ICON "res/taseditor-icon.ico" +IDI_ICON4 ICON "res/taseditor-icon32.ico" +ICON_1 ICON "res/ICON_1.ico" +ICON_2 ICON "res/ICON_2.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +FCEUMENU MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Open...", MENU_OPEN_FILE + MENUITEM "&Close", MENU_CLOSE_FILE + MENUITEM "&Recent", MENU_RECENT_FILES + MENUITEM SEPARATOR + POPUP "&Savestate" + BEGIN + MENUITEM "&Load State", MENU_LOADSTATE + MENUITEM "&Save State", MENU_SAVESTATE + MENUITEM "Load State &From...", MENU_LOAD_STATE + MENUITEM "Save State &As...", MENU_SAVE_STATE + MENUITEM SEPARATOR + MENUITEM "&Next save slot", MENU_NEXTSAVESTATE + MENUITEM "&Previous save slot", MENU_PREVIOUSSAVESTATE + MENUITEM "&View save slots", MENU_VIEWSAVESLOTS + END + POPUP "&Movie" + BEGIN + MENUITEM "Recent", MENU_MOVIE_RECENT + MENUITEM "&Record Movie...", MENU_RECORD_MOVIE + MENUITEM "&Play Movie...", MENU_REPLAY_MOVIE + MENUITEM "&Stop Movie", MENU_STOP_MOVIE + MENUITEM "Play from &Beginning", ID_FILE_PLAYMOVIEFROMBEGINNING + MENUITEM "&Toggle Recording/Playing", ID_FILE_TOGGLE_RECORDING_MOVIE + POPUP "&Quickly Modify" + BEGIN + MENUITEM "&Insert 1 Frame", ID_FILE_INSERT_1_FRAME + MENUITEM "&Delete 1 Frame", ID_FILE_DELETE_1_FRAME + MENUITEM SEPARATOR + MENUITEM "&Truncate at Current Frame", ID_FILE_TRUNCATE_MOVIE + END + MENUITEM SEPARATOR + POPUP "Record &Mode" + BEGIN + MENUITEM "&Next Record Mode", ID_FILE_NEXTRECORDMODE + MENUITEM SEPARATOR + MENUITEM "&Truncate", ID_FILE_RECORDMODE_TRUNCATE + MENUITEM "&Overwrite[W]", ID_FILE_RECORDMODE_OVERWRITE + MENUITEM "&Insert[I]", ID_FILE_RECORDMODE_INSERT + END + MENUITEM "&Read-only", ID_FILE_MOVIE_TOGGLEREAD + END + POPUP "&AVI/Wav" + BEGIN + MENUITEM "&Record AVI...", MENU_RECORD_AVI + MENUITEM "&Stop AVI", MENU_STOP_AVI + MENUITEM "&Record WAV...", MENU_RECORD_WAV + MENUITEM "&Stop WAV", MENU_STOP_WAV + MENUITEM SEPARATOR + MENUITEM "Enable HUD recording", ID_AVI_ENABLEHUDRECORDING + MENUITEM "Disable messages recording", ID_AVI_DISMOVIEMESSAGE + END + POPUP "&Lua" + BEGIN + MENUITEM "&Recent", MENU_LUA_RECENT + MENUITEM "&New Lua Script Window...", ID_FILE_OPENLUAWINDOW + MENUITEM "&Close All Script Windows", ID_FILE_CLOSELUAWINDOWS + END + MENUITEM "&Screenshot", ID_FILE_SCREENSHOT + MENUITEM "Save Screenshot As...", ID_FILE_SAVESCREENSHOTAS + MENUITEM SEPARATOR + MENUITEM "E&xit\tAlt+F4", MENU_EXIT + END + POPUP "&NES" + BEGIN + MENUITEM "&Reset", MENU_RESET + MENUITEM "&Power", MENU_POWER + MENUITEM SEPARATOR + MENUITEM "&Eject/Insert Disk", MENU_EJECT_DISK + MENUITEM "&Switch Disk Side", MENU_SWITCH_DISK + MENUITEM "&Insert Coin", MENU_INSERT_COIN + MENUITEM "Input &Barcode", MENU_INPUT_BARCODE + MENUITEM SEPARATOR + POPUP "E&mulation Speed" + BEGIN + MENUITEM "&Pause", ID_NES_PAUSE + MENUITEM "&Turbo", ID_NES_TURBO + MENUITEM SEPARATOR + MENUITEM "Speed &Up", ID_NES_SPEEDUP + MENUITEM "Slow &Down", ID_NES_SLOWDOWN + MENUITEM "&Slowest Speed", ID_NES_SLOWESTSPEED + MENUITEM "&Normal Speed", ID_NES_NORMALSPEED + MENUITEM "Set &Custom Speed", ID_EMULATIONSPEED_CUSTOMSPEED + MENUITEM SEPARATOR + MENUITEM "Set FrameAdvance Delay", ID_EMULATIONSPEED_SETFRAMEADVANCEDELAY + MENUITEM "Set custom speed for FrameAdvance", ID_EMULATIONSPEED_SETCUSTOMSPEEDFORFRAMEADVANCE + END + END + POPUP "&Config" + BEGIN + MENUITEM "&Hide Menu", MENU_HIDE_MENU + POPUP "&Enable" + BEGIN + MENUITEM "&Run in Background", MENU_RUN_IN_BACKGROUND + MENUITEM "&Background Input", MENU_BACKGROUND_INPUT + MENUITEM "&Auto-savestates", MENU_ENABLE_AUTOSAVE + MENUITEM "&Frame Adv. - Skip Lag", MENU_DISPLAY_FA_LAGSKIP + MENUITEM "Backup Savestates", ID_ENABLE_BACKUPSAVESTATES + MENUITEM "Compress Savestates", ID_ENABLE_COMPRESSSAVESTATES + MENUITEM "&Game Genie ROM", MENU_GAME_GENIE + MENUITEM "Auto-resume old play session", ID_ENABLE_AUTORESUME + END + POPUP "&Display" + BEGIN + POPUP "&Input Display" + BEGIN + MENUITEM "&Off", MENU_INPUTDISPLAY_0 + MENUITEM "&1 player", MENU_INPUTDISPLAY_1 + MENUITEM "&2 player", MENU_INPUTDISPLAY_2 + MENUITEM "&4 player", MENU_INPUTDISPLAY_4 + MENUITEM SEPARATOR + MENUITEM "old style disp.", ID_INPUTDISPLAY_OLDSTYLEDISP + END + MENUITEM "&Lag Counter", MENU_DISPLAY_LAGCOUNTER + MENUITEM "&Frame Counter", ID_DISPLAY_FRAMECOUNTER + MENUITEM "&Rerecord Counter", ID_DISPLAY_RERECORDCOUNTER + MENUITEM "&Movie status icon", ID_DISPLAY_MOVIESTATUSICON + MENUITEM "FPS", ID_DISPLAY_FPS + MENUITEM SEPARATOR + MENUITEM "Graphics: &BG", MENU_DISPLAY_BG + MENUITEM "Graphics: &OBJ", MENU_DISPLAY_OBJ + END + MENUITEM SEPARATOR + POPUP "Region" + BEGIN + MENUITEM "NTSC", MENU_NTSC + MENUITEM "&PAL", MENU_PAL + MENUITEM "Dendy", MENU_DENDY + END + POPUP "PPU" + BEGIN + MENUITEM "Old PPU", ID_OLDPPU + MENUITEM "New PPU", ID_NEWPPU + END + POPUP "RAM Init" + BEGIN + MENUITEM "&Default", MENU_RAMINIT_DEFAULT + MENUITEM "Fill $&FF", MENU_RAMINIT_FF + MENUITEM "Fill $&00", MENU_RAMINIT_00 + MENUITEM "&Random", MENU_RAMINIT_RANDOM + END + MENUITEM SEPARATOR + MENUITEM "&Directories...", MENU_DIRECTORIES + MENUITEM "&GUI...", MENU_GUI_OPTIONS + MENUITEM "&Input...", MENU_INPUT + MENUITEM "&Network Play...", MENU_NETWORK + MENUITEM "&Palette...", MENU_PALETTE + MENUITEM "&Sound...", MENU_SOUND + MENUITEM "&Timing...", MENU_TIMING + MENUITEM "&Video...", MENU_VIDEO + MENUITEM "&Movie options...", MENU_MOVIEOPTIONS + MENUITEM "&Map Hotkeys...", MENU_HOTKEYS + MENUITEM SEPARATOR + MENUITEM "Save Config File", ID_CONFIG_SAVECONFIGFILE + END + POPUP "&Tools" + BEGIN + MENUITEM "&Cheats...", MENU_CHEATS + MENUITEM "RAM Search...", ID_RAM_SEARCH + MENUITEM "RAM Watch...", ID_RAM_WATCH + MENUITEM "&Memory Watch...", MENU_MEMORY_WATCH + MENUITEM "&TAS Editor...", MENU_TASEDITOR + MENUITEM "Convert &FCM...", MENU_CONVERT_MOVIE + MENUITEM SEPARATOR + POPUP "Autofire &Pattern" + BEGIN + MENUITEM "1 on, 1 off", MENU_AUTOFIRE_PATTERN_1 + MENUITEM "1 on, 2 off", MENU_AUTOFIRE_PATTERN_2 + MENUITEM "1 on, 3 off", MENU_AUTOFIRE_PATTERN_3 + MENUITEM "1 on, 4 off", MENU_AUTOFIRE_PATTERN_4 + MENUITEM "1 on, 5 off", MENU_AUTOFIRE_PATTERN_5 + MENUITEM "2 on, 1 off", MENU_AUTOFIRE_PATTERN_6 + MENUITEM "2 on, 2 off", MENU_AUTOFIRE_PATTERN_7 + MENUITEM "2 on, 3 off", MENU_AUTOFIRE_PATTERN_8 + MENUITEM "2 on, 4 off", MENU_AUTOFIRE_PATTERN_9 + MENUITEM "3 on, 1 off", MENU_AUTOFIRE_PATTERN_10 + MENUITEM "3 on, 2 off", MENU_AUTOFIRE_PATTERN_11 + MENUITEM "3 on, 3 off", MENU_AUTOFIRE_PATTERN_12 + MENUITEM "4 on, 1 off", MENU_AUTOFIRE_PATTERN_13 + MENUITEM "4 on, 2 off", MENU_AUTOFIRE_PATTERN_14 + MENUITEM "5 on, 1 off", MENU_AUTOFIRE_PATTERN_15 + END + POPUP "Autofire &Offset" + BEGIN + MENUITEM "0 frames", MENU_AUTOFIRE_OFFSET_1 + MENUITEM "1 frame", MENU_AUTOFIRE_OFFSET_2 + MENUITEM "2 frames", MENU_AUTOFIRE_OFFSET_3 + MENUITEM "3 frames", MENU_AUTOFIRE_OFFSET_4 + MENUITEM "4 frames", MENU_AUTOFIRE_OFFSET_5 + MENUITEM "5 frames", MENU_AUTOFIRE_OFFSET_6 + END + MENUITEM "&Alternate A and B", MENU_ALTERNATE_AB + MENUITEM SEPARATOR + MENUITEM "Te&xt Hooker...", ID_TOOLS_TEXTHOOKER + END + POPUP "&Debug" + BEGIN + MENUITEM "&Debugger...", MENU_DEBUGGER + MENUITEM "&PPU Viewer...", MENU_PPUVIEWER + MENUITEM "&Name Table Viewer...", MENU_NAMETABLEVIEWER + MENUITEM "&Hex Editor...", MENU_HEXEDITOR + MENUITEM "&Trace Logger...", MENU_TRACELOGGER + MENUITEM "&Code/Data Logger...", MENU_CDLOGGER + MENUITEM "&Game Genie Decoder/Encoder...", MENU_GAMEGENIEDECODER + MENUITEM "&iNES Header Editor...", MENU_INESHEADEREDITOR + END + POPUP "&Help" + BEGIN + MENUITEM "&Help...", MENU_HELP + MENUITEM "&Message Log", MENU_MSGLOG + MENUITEM SEPARATOR + MENUITEM "&About", MENU_ABOUT + END +END + +TASEDITORMENU MENUEX +BEGIN + POPUP "File", 65535,MFT_STRING,MFS_ENABLED + BEGIN + MENUITEM "New", ID_FILE_NEW,MFT_STRING,MFS_ENABLED + MENUITEM "Open", ID_FILE_OPENPROJECT,MFT_STRING,MFS_ENABLED + MENUITEM "Save\tCtrl+S", ID_FILE_SAVEPROJECT,MFT_STRING,MFS_ENABLED + MENUITEM "Save As", ID_FILE_SAVEPROJECTAS,MFT_STRING,MFS_ENABLED + MENUITEM "Save Compact", ID_FILE_SAVECOMPACT,MFT_STRING,MFS_ENABLED + MENUITEM "Recent", ID_FILE_RECENT,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Import Input", ID_FILE_IMPORT,MFT_STRING,MFS_ENABLED + MENUITEM "Export to FM2", ID_FILE_EXPORTFM2,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Close\tAlt+F4", ID_FILE_CLOSE,MFT_STRING,MFS_ENABLED + END + POPUP "Edit", 65535,MFT_STRING,MFS_ENABLED + BEGIN + MENUITEM "Undo\tCtrl+Z", ID_EDIT_UNDO,MFT_STRING,MFS_ENABLED + MENUITEM "Redo\tCtrl+Y", ID_EDIT_REDO,MFT_STRING,MFS_ENABLED + MENUITEM "Selection Undo\tCtrl+Q", ID_EDIT_SELECTIONUNDO,MFT_STRING,MFS_ENABLED + MENUITEM "Selection Redo\tCtrl+W", ID_EDIT_SELECTIONREDO,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Deselect", ID_EDIT_DESELECT,MFT_STRING,MFS_ENABLED + MENUITEM "Select All", ID_EDIT_SELECTALL,MFT_STRING,MFS_ENABLED + MENUITEM "Select between Markers\tCtrl+A", ID_EDIT_SELECTMIDMARKERS,MFT_STRING,MFS_ENABLED + MENUITEM "Reselect Clipboard\tCtrl+B", ID_EDIT_RESELECTCLIPBOARD,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Copy\tCtrl+C", ID_EDIT_COPY,MFT_STRING,MFS_ENABLED + MENUITEM "Paste\tCtrl+V", ID_EDIT_PASTE,MFT_STRING,MFS_ENABLED + MENUITEM "PasteInsert\tCtrl+Shift+V", ID_EDIT_PASTEINSERT,MFT_STRING,MFS_ENABLED + MENUITEM "Cut\tCtrl+X", ID_EDIT_CUT,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Clear\tDel", ID_EDIT_CLEAR,MFT_STRING,MFS_ENABLED + MENUITEM "Delete\tCtrl+Del", ID_EDIT_DELETE,MFT_STRING,MFS_ENABLED + MENUITEM "Clone\tCtrl+Ins", ID_EDIT_CLONEFRAMES,MFT_STRING,MFS_ENABLED + MENUITEM "Insert\tCtrl+Shift+Ins", ID_EDIT_INSERTFRAMES,MFT_STRING,MFS_ENABLED + MENUITEM "Insert # of Frames\tIns", ID_EDIT_INSERT,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Truncate movie", ID_EDIT_TRUNCATE,MFT_STRING,MFS_ENABLED + END + POPUP "View", 65535,MFT_STRING,MFS_ENABLED + BEGIN + MENUITEM "Find Note window\tCtrl+F", ID_VIEW_FINDNOTE,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Display Branch Screenshots", ID_VIEW_SHOWBRANCHSCREENSHOTS,MFT_STRING,MFS_ENABLED + MENUITEM "Display Branch Descriptions", ID_VIEW_SHOWBRANCHTOOLTIPS,MFT_STRING,MFS_ENABLED + MENUITEM "Enable Hot Changes", ID_VIEW_ENABLEHOTCHANGES,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Follow Undo context", ID_VIEW_JUMPWHENMAKINGUNDO,MFT_STRING,MFS_ENABLED + MENUITEM "Follow Marker Note context", ID_VIEW_FOLLOWMARKERNOTECONTEXT,MFT_STRING,MFS_ENABLED + END + POPUP "Config", 65535,MFT_STRING,MFS_ENABLED + BEGIN + MENUITEM "Project file saving options", ID_CONFIG_SAVING_OPTIONS,MFT_STRING,MFS_ENABLED + MENUITEM "Set max Undo levels", ID_CONFIG_SETMAXUNDOLEVELS,MFT_STRING,MFS_ENABLED + MENUITEM "Set Greenzone capacity", ID_CONFIG_SETGREENZONECAPACITY,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Enable Greenzoning", ID_CONFIG_ENABLEGREENZONING,MFT_STRING,MFS_ENABLED + MENUITEM "Autofire Pattern skips Lag", ID_CONFIG_PATTERNSKIPSLAG,MFT_STRING,MFS_ENABLED + MENUITEM "Auto-adjust Input according to Lag", ID_CONFIG_ADJUSTLAG,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Draw Input by dragging", ID_CONFIG_DRAWINPUTBYDRAGGING,MFT_STRING,MFS_ENABLED + MENUITEM "Combine consecutive Recordings/Draws", ID_CONFIG_COMBINECONSECUTIVERECORDINGS,MFT_STRING,MFS_ENABLED + MENUITEM "Use 1P keys for all single Recordings", ID_CONFIG_USE1PFORRECORDING,MFT_STRING,MFS_ENABLED + MENUITEM "Use Input keys for Column Set", ID_CONFIG_USEINPUTKEYSFORCOLUMNSET,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Bind Markers to Input", ID_CONFIG_BINDMARKERSTOINPUT,MFT_STRING,MFS_ENABLED + MENUITEM "Empty new Marker Notes", ID_CONFIG_EMPTYNEWMARKERNOTES,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Old control scheme for Branching", ID_CONFIG_OLDBRANCHINGCONTROLS,MFT_STRING,MFS_ENABLED + MENUITEM "Branches restore entire Movie", ID_CONFIG_BRANCHESRESTOREFULLMOVIE,MFT_STRING,MFS_ENABLED + MENUITEM "HUD in Branch screenshots", ID_CONFIG_HUDINBRANCHSCREENSHOTS,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "Autopause at the end of Movie", ID_CONFIG_AUTOPAUSEATTHEENDOFMOVIE,MFT_STRING,MFS_ENABLED + END + POPUP "Help", 65535,MFT_STRING,MFS_ENABLED + BEGIN + MENUITEM "Open TAS Editor Manual", ID_HELP_OPEN_MANUAL,MFT_STRING,MFS_ENABLED + MENUITEM "Enable Tooltips", ID_HELP_TOOLTIPS,MFT_STRING,MFS_ENABLED + MENUITEM MFT_SEPARATOR + MENUITEM "About", ID_HELP_ABOUT,MFT_STRING,MFS_ENABLED + END + POPUP "Pattern", 65535,MFT_STRING | MFT_RIGHTJUSTIFY,MFS_ENABLED + BEGIN + MENUITEM "Dummy", ID_PATTERN_TEST,MFT_STRING,MFS_ENABLED + END +END + +MEMVIEWMENU MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Save Rom", MENU_MV_FILE_SAVE + MENUITEM "S&ave Rom As...", MENU_MV_FILE_SAVE_AS + MENUITEM "&Load *.TBL File", MENU_MV_FILE_LOAD_TBL + MENUITEM "&Unload *.TBL file", MENU_MV_FILE_UNLOAD_TBL + POPUP "&Dump to file" + BEGIN + MENUITEM "&Ram", MENU_MV_FILE_DUMP_RAM + MENUITEM "&PPU Memory", MENU_MV_FILE_DUMP_PPU + MENUITEM "&OAM Memory", MENU_MV_FILE_DUMP_OAM + MENUITEM "6502 64K", MENU_MV_FILE_DUMP_64K + END + POPUP "Load from &file" + BEGIN + MENUITEM "&Ram", MENU_MV_FILE_LOAD_RAM + MENUITEM "&PPU Memory", MENU_MV_FILE_LOAD_PPU + MENUITEM "&OAM Memory", MENU_MV_FILE_LOAD_OAM + END + MENUITEM "&Goto Address\tCtrl+A", MENU_MV_FILE_GOTO_ADDRESS + MENUITEM SEPARATOR + MENUITEM "&Close\tAlt+F4", ID_MEMWVIEW_FILE_CLOSE + END + POPUP "&Edit" + BEGIN + MENUITEM "&Undo\tCtrl+Z", MENU_MV_EDIT_UNDO + MENUITEM SEPARATOR + MENUITEM "&Copy", MENU_MV_EDIT_COPY + MENUITEM "&Paste", MENU_MV_EDIT_PASTE + MENUITEM SEPARATOR + MENUITEM "&Find...", MENU_MV_EDIT_FIND + END + POPUP "&View" + BEGIN + MENUITEM "&NES Memory", MENU_MV_VIEW_RAM + MENUITEM "&PPU Memory", MENU_MV_VIEW_PPU + MENUITEM "&OAM Memory", MENU_MV_VIEW_OAM + MENUITEM "&ROM File", MENU_MV_VIEW_ROM + END + POPUP "Highlighting" + BEGIN + MENUITEM "Highlight Activity", ID_HIGHLIGHTING_HIGHLIGHT_ACTIVITY + MENUITEM "Set fading period...", ID_HIGHLIGHTING_SETFADINGPERIOD + MENUITEM "Fade when paused", ID_HIGHLIGHTING_FADEWHENPAUSED + END + POPUP "&Bookmarks" + BEGIN + MENUITEM "&Remove all bookmarks", MENU_MV_BOOKMARKS_RM_ALL + END + POPUP "Help" + BEGIN + MENUITEM "&Help...", MENU_MV_HELP + END +END + +MEMWATCHMENU MENU +BEGIN + POPUP "&File " + BEGIN + MENUITEM "&New...\tCtrl+N", MEMW_FILE_NEW + MENUITEM "&Open...\tCtrl+O", MEMW_FILE_OPEN + MENUITEM "&Save\tCtrl+S", MEMW_FILE_SAVE + MENUITEM "S&ave As..\tCtrl+Shift+S", MEMW_FILE_SAVEAS + MENUITEM "&Recent", ID_FILE_RECENT + MENUITEM SEPARATOR + MENUITEM "&Close\tAlt+F4", MEMW_FILE_CLOSE + END + POPUP "&Options" + BEGIN + MENUITEM "&Load on Startup", MEMW_OPTIONS_LOADSTART + MENUITEM "Load Last &File on Startup", MEMW_OPTIONS_LOADLASTFILE + MENUITEM SEPARATOR + MENUITEM "&Collapse to 1 column", MEMW_OPTIONS_EXPANDCOLLAPSE + MENUITEM SEPARATOR + MENUITEM "Bind to Main Window", ID_OPTIONS_BINDTOMAINWINDOW + END + POPUP "&Help" + BEGIN + MENUITEM "&MemWatch Commands", MEMW_HELP_WCOMMANDS + END +END + +TASEDITORCONTEXTMENUS MENU +BEGIN + POPUP "Selected" + BEGIN + MENUITEM "Set Markers\tDbl-Clk", ID_SELECTED_SETMARKERS + MENUITEM "Remove Markers", ID_SELECTED_REMOVEMARKERS + MENUITEM SEPARATOR + MENUITEM "Deselect", ID_SELECTED_DESELECT + MENUITEM "Select between Markers\tCtrl+A", ID_SELECTED_SELECTMIDMARKERS + MENUITEM SEPARATOR + MENUITEM "Ungreenzone", ID_SELECTED_UNGREENZONE + MENUITEM SEPARATOR + MENUITEM "Clear\tDel", ID_CONTEXT_SELECTED_CLEARFRAMES + MENUITEM "Delete\tCtrl+Del", ID_CONTEXT_SELECTED_DELETEFRAMES + MENUITEM "Clone\tCtrl+Ins", ID_SELECTED_CLONE + MENUITEM "Insert\tCtrl+Shift+Ins", ID_CONTEXT_SELECTED_INSERTFRAMES + MENUITEM "Insert # of Frames\tIns", ID_CONTEXT_SELECTED_INSERTFRAMES2 + MENUITEM SEPARATOR + MENUITEM "Truncate movie", ID_CONTEXT_SELECTED_TRUNCATE + END +END + +FCEUCONTEXTMENUS MENU +BEGIN + POPUP "NoGame" + BEGIN + MENUITEM "Open ROM", FCEU_CONTEXT_OPENROM + MENUITEM "Last ROM used", FCEUX_CONTEXT_RECENTROM1 + MENUITEM SEPARATOR + MENUITEM "Help...", FCEU_CONTEXT_FCEUHELP + MENUITEM SEPARATOR + MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG + END + POPUP "Game+NoMovie" + BEGIN + MENUITEM "Play Movie...", FCEUX_CONTEXT_REPLAYMOVIE + MENUITEM "Record Movie...", FCEUX_CONTEXT_RECORDMOVIE + MENUITEM "Load Last Movie", FCEUX_CONTEXT_LOADLASTMOVIE + MENUITEM SEPARATOR + MENUITEM "Undo savestate", FCEUX_CONTEXT_UNDOSAVESTATE + MENUITEM "Undo loadstate", FCEUX_CONTEXT_UNDOLOADSTATE + MENUITEM "Rewind to last auto-save", FCEUX_CONTEXT_REWINDTOLASTAUTO + MENUITEM "Screenshot", FCEUX_CONTEXT_SCREENSHOT + MENUITEM SEPARATOR + MENUITEM "Close ROM", FCEU_CONTEXT_CLOSEROM + MENUITEM SEPARATOR + MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG + END + POPUP "Game+Movie+Playing+readonly" + BEGIN + MENUITEM "Toggle to read+write", FCEUX_CONTEXT_READONLYTOGGLE + MENUITEM "Play Movie from Beginning", FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING + MENUITEM "Stop Movie Replay", FCEU_CONTEXT_STOPMOVIE + MENUITEM "View comments and subtitles", FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES + MENUITEM SEPARATOR + MENUITEM "Toggle to Recording", FCEUX_CONTEXT_TOGGLE_RECORDING + POPUP "Modify Movie" + BEGIN + MENUITEM "Insert 1 Frame", FCEUX_CONTEXT_INSERT_1_FRAME + MENUITEM "Delete 1 Frame", FCEUX_CONTEXT_DELETE_1_FRAME + MENUITEM SEPARATOR + MENUITEM "Truncate at Current Frame", FCEUX_CONTEXT_TRUNCATE_MOVIE + END + POPUP "Record Mode" + BEGIN + MENUITEM "&Truncate", FCEUX_CONTEXT_RECORDMODE_TRUNCATE + MENUITEM "&Overwrite[W]", FCEUX_CONTEXT_RECORDMODE_OVERWRITE + MENUITEM "&Insert[I]", FCEUX_CONTEXT_RECORDMODE_INSERT + END + MENUITEM SEPARATOR + MENUITEM "Undo savestate", FCEUX_CONTEXT_UNDOSAVESTATE + MENUITEM "Rewind to last auto-save", FCEUX_CONTEXT_REWINDTOLASTAUTO + MENUITEM SEPARATOR + MENUITEM "Help....", FCEU_CONTEXT_MOVIEHELP + MENUITEM SEPARATOR + MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG + END + POPUP "Game+Movie+Playing+readwrite" + BEGIN + MENUITEM "Toggle to Read-only", FCEUX_CONTEXT_READONLYTOGGLE + MENUITEM "Play Movie From Beginning", FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING + MENUITEM "Stop Movie Replay", FCEU_CONTEXT_STOPMOVIE + MENUITEM "View comments and subtitles", FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES + MENUITEM "Make backup", FCEUX_CONTEXT_MAKEBACKUP + MENUITEM "Save Movie As...", FCEUX_CONTEXT_SAVEMOVIEAS + MENUITEM SEPARATOR + MENUITEM "Toggle to Recording", FCEUX_CONTEXT_TOGGLE_RECORDING + POPUP "Modify Movie" + BEGIN + MENUITEM "Insert 1 Frame", FCEUX_CONTEXT_INSERT_1_FRAME + MENUITEM "Delete 1 Frame", FCEUX_CONTEXT_DELETE_1_FRAME + MENUITEM SEPARATOR + MENUITEM "Truncate at Current Frame", FCEUX_CONTEXT_TRUNCATE_MOVIE + END + POPUP "Record Mode" + BEGIN + MENUITEM "&Truncate", FCEUX_CONTEXT_RECORDMODE_TRUNCATE + MENUITEM "&Overwrite[W]", FCEUX_CONTEXT_RECORDMODE_OVERWRITE + MENUITEM "&Insert[I]", FCEUX_CONTEXT_RECORDMODE_INSERT + END + MENUITEM SEPARATOR + MENUITEM "Undo savestate", FCEUX_CONTEXT_UNDOSAVESTATE + MENUITEM "Undo loadstate", FCEUX_CONTEXT_UNDOLOADSTATE + MENUITEM "Rewind to last auto-save", FCEUX_CONTEXT_REWINDTOLASTAUTO + MENUITEM SEPARATOR + MENUITEM "&Mode: Full state-movie loads", ID_CONTEXT_FULLSAVESTATES + MENUITEM SEPARATOR + MENUITEM "Help...", FCEU_CONTEXT_MOVIEHELP + MENUITEM SEPARATOR + MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG + END + POPUP "Game+Movie+Recording+readonly" + BEGIN + MENUITEM "Toggle to read+write", FCEUX_CONTEXT_READONLYTOGGLE + MENUITEM "Play Movie from Beginning", FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING + MENUITEM "Stop Movie Recording", FCEU_CONTEXT_STOPMOVIE + MENUITEM "View comments and subtitles", FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES + MENUITEM SEPARATOR + MENUITEM "Toggle to Playing", FCEUX_CONTEXT_TOGGLE_RECORDING + POPUP "Modify Movie" + BEGIN + MENUITEM "Insert 1 Frame", FCEUX_CONTEXT_INSERT_1_FRAME + MENUITEM "Delete 1 Frame", FCEUX_CONTEXT_DELETE_1_FRAME + MENUITEM SEPARATOR + MENUITEM "Truncate at Current Frame", FCEUX_CONTEXT_TRUNCATE_MOVIE + END + POPUP "Record Mode" + BEGIN + MENUITEM "&Truncate", FCEUX_CONTEXT_RECORDMODE_TRUNCATE + MENUITEM "&Overwrite[W]", FCEUX_CONTEXT_RECORDMODE_OVERWRITE + MENUITEM "&Insert[I]", FCEUX_CONTEXT_RECORDMODE_INSERT + END + MENUITEM SEPARATOR + MENUITEM "Undo savestate", FCEUX_CONTEXT_UNDOSAVESTATE + MENUITEM "Rewind to last auto-save", FCEUX_CONTEXT_REWINDTOLASTAUTO + MENUITEM SEPARATOR + MENUITEM "Help....", FCEU_CONTEXT_MOVIEHELP + MENUITEM SEPARATOR + MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG + END + POPUP "Game+Movie+Recording+readwrite" + BEGIN + MENUITEM "Toggle to Read-only", FCEUX_CONTEXT_READONLYTOGGLE + MENUITEM "Play Movie From Beginning", FCEU_CONTEXT_PLAYMOVIEFROMBEGINNING + MENUITEM "Stop Movie Recording", FCEU_CONTEXT_STOPMOVIE + MENUITEM "View comments and subtitles", FCEUX_CONTEXT_VIEWCOMMENTSSUBTITLES + MENUITEM "Make backup", FCEUX_CONTEXT_MAKEBACKUP + MENUITEM "Save Movie As...", FCEUX_CONTEXT_SAVEMOVIEAS + MENUITEM SEPARATOR + MENUITEM "Toggle to Playing", FCEUX_CONTEXT_TOGGLE_RECORDING + POPUP "Modify Movie" + BEGIN + MENUITEM "Insert 1 Frame", FCEUX_CONTEXT_INSERT_1_FRAME + MENUITEM "Delete 1 Frame", FCEUX_CONTEXT_DELETE_1_FRAME + MENUITEM SEPARATOR + MENUITEM "Truncate at Current Frame", FCEUX_CONTEXT_TRUNCATE_MOVIE + END + POPUP "Record Mode" + BEGIN + MENUITEM "&Truncate", FCEUX_CONTEXT_RECORDMODE_TRUNCATE + MENUITEM "&Overwrite[W]", FCEUX_CONTEXT_RECORDMODE_OVERWRITE + MENUITEM "&Insert[I]", FCEUX_CONTEXT_RECORDMODE_INSERT + END + MENUITEM SEPARATOR + MENUITEM "Undo savestate", FCEUX_CONTEXT_UNDOSAVESTATE + MENUITEM "Undo loadstate", FCEUX_CONTEXT_UNDOLOADSTATE + MENUITEM "Rewind to last auto-save", FCEUX_CONTEXT_REWINDTOLASTAUTO + MENUITEM SEPARATOR + MENUITEM "&Mode: Full state-movie loads", ID_CONTEXT_FULLSAVESTATES + MENUITEM SEPARATOR + MENUITEM "Help...", FCEU_CONTEXT_MOVIEHELP + MENUITEM SEPARATOR + MENUITEM "Use Config > Gui to get zapper right click", FCEUX_CONTEXT_GUICONFIG + END +END + +RAMWATCH_MENU MENU +BEGIN + POPUP "File" + BEGIN + MENUITEM "&New list\tCtrl N", RAMMENU_FILE_NEW + MENUITEM "&Open...\tCtrl O", RAMMENU_FILE_OPEN + MENUITEM "&Save\tCtrl S", RAMMENU_FILE_SAVE + MENUITEM "Sa&ve As...\tCtrl Shift S", RAMMENU_FILE_SAVEAS + MENUITEM "&Append file...", RAMMENU_FILE_APPEND + MENUITEM "Recent", RAMMENU_FILE_RECENT + MENUITEM SEPARATOR + MENUITEM "Auto-&load", RAMMENU_FILE_AUTOLOAD + MENUITEM "Save Window Position", RAMMENU_FILE_SAVEWINDOW + MENUITEM SEPARATOR + MENUITEM "&Close\tAlt F4", IDCANCEL + END + POPUP "Watches" + BEGIN + MENUITEM "&New Watch\tN", IDC_C_WATCH + MENUITEM "&Edit Watch\tE", IDC_C_WATCH_EDIT + MENUITEM "&Remove Watch\tR", IDC_C_WATCH_REMOVE + MENUITEM "Duplicate Watch\tA", IDC_C_WATCH_DUPLICATE + MENUITEM "Add &Separator\tS", IDC_C_WATCH_SEPARATE + MENUITEM SEPARATOR + MENUITEM "Move Up\tU", IDC_C_WATCH_UP + MENUITEM "Move Down\tD", IDC_C_WATCH_DOWN + END +END + +CHEATCONTEXTMENUS MENU +BEGIN + POPUP "CheatListPopup" + BEGIN + MENUITEM "Toggle selected Cheats", CHEAT_CONTEXT_LIST_TOGGLECHEAT + MENUITEM "Poke Cheat Value", CHEAT_CONTEXT_LIST_POKECHEATVALUE + MENUITEM "Goto in Hex Editor", CHEAT_CONTEXT_LIST_GOTOINHEXEDITOR + MENUITEM "Delete selected Cheats", CHEAT_CONTEXT_LIST_DELETESELECTEDCHEATS + END + POPUP "CheatPossiPopup" + BEGIN + MENUITEM "Add to Memory Watch", CHEAT_CONTEXT_POSSI_ADDTOMEMORYWATCH + MENUITEM "Add cheat", CHEAT_CONTEXT_POSSI_ADDCHEAT + MENUITEM "Add to RAM Watch", CHEAT_CONTEXT_POSSI_ADDTORAMWATCH + MENUITEM "Go to in Hex Editor", CHEAT_CONTEXT_POSSI_GOTOINHEXEDITOR + END +END + +DEBUGCONTEXTMENUS MENU +BEGIN + POPUP "DebugListPopup" + BEGIN + MENUITEM "Toggle Breakpoint\tDbl-Clk", DEBUGGER_CONTEXT_TOGGLEBREAK + END +END + +LUAWINDOW_MENU MENU +BEGIN + POPUP "Console" + BEGIN + MENUITEM "&Font...", IDC_LUACONSOLE_CHOOSEFONT + MENUITEM "Clear", IDC_LUACONSOLE_CLEAR + END +END + +DISASMCONTEXTMENUS MENU +BEGIN + POPUP "DisasmPopup" + BEGIN + MENUITEM "Copy\tCtrl+C", DISASM_CONTEXT_COPY + MENUITEM "Select All\tCtrl+A", DISASM_CONTEXT_SELECTALL + END +END + ///////////////////////////////////////////////////////////////////////////// // @@ -2864,213 +2894,109 @@ END // IDB_BITMAP0 BITMAP "res\\te_0.bmp" - IDB_BITMAP1 BITMAP "res\\te_1.bmp" - IDB_BITMAP2 BITMAP "res\\te_2.bmp" - IDB_BITMAP3 BITMAP "res\\te_3.bmp" - IDB_BITMAP4 BITMAP "res\\te_4.bmp" - IDB_BITMAP5 BITMAP "res\\te_5.bmp" - IDB_BITMAP6 BITMAP "res\\te_6.bmp" - IDB_BITMAP7 BITMAP "res\\te_7.bmp" - IDB_BITMAP8 BITMAP "res\\te_8.bmp" - IDB_BITMAP9 BITMAP "res\\te_9.bmp" - IDB_BITMAP10 BITMAP "res\\te_10.bmp" - IDB_BITMAP11 BITMAP "res\\te_11.bmp" - IDB_BITMAP12 BITMAP "res\\te_12.bmp" - IDB_BITMAP13 BITMAP "res\\te_13.bmp" - IDB_BITMAP14 BITMAP "res\\te_14.bmp" - IDB_BITMAP15 BITMAP "res\\te_15.bmp" - IDB_BITMAP16 BITMAP "res\\te_16.bmp" - IDB_BITMAP17 BITMAP "res\\te_17.bmp" - IDB_BITMAP18 BITMAP "res\\te_18.bmp" - IDB_BITMAP19 BITMAP "res\\te_19.bmp" - IDB_TE_ARROW BITMAP "res\\te_arrow.bmp" - IDB_TE_GREEN_ARROW BITMAP "res\\te_green_arrow.bmp" - IDB_TE_GREEN_BLUE_ARROW BITMAP "res\\te_green_blue_arrow.bmp" - IDB_PIANO_0 BITMAP "res\\te_piano_0.bmp" - IDB_PIANO_1 BITMAP "res\\te_piano_1.bmp" - IDB_PIANO_2 BITMAP "res\\te_piano_2.bmp" - IDB_PIANO_3 BITMAP "res\\te_piano_3.bmp" - IDB_PIANO_4 BITMAP "res\\te_piano_4.bmp" - IDB_PIANO_5 BITMAP "res\\te_piano_5.bmp" - IDB_PIANO_6 BITMAP "res\\te_piano_6.bmp" - IDB_PIANO_7 BITMAP "res\\te_piano_7.bmp" - IDB_PIANO_8 BITMAP "res\\te_piano_8.bmp" - IDB_PIANO_9 BITMAP "res\\te_piano_9.bmp" - IDB_PIANO_10 BITMAP "res\\te_piano_10.bmp" - IDB_PIANO_11 BITMAP "res\\te_piano_11.bmp" - IDB_PIANO_12 BITMAP "res\\te_piano_12.bmp" - IDB_PIANO_13 BITMAP "res\\te_piano_13.bmp" - IDB_PIANO_14 BITMAP "res\\te_piano_14.bmp" - IDB_PIANO_15 BITMAP "res\\te_piano_15.bmp" - IDB_PIANO_16 BITMAP "res\\te_piano_16.bmp" - IDB_PIANO_17 BITMAP "res\\te_piano_17.bmp" - IDB_PIANO_18 BITMAP "res\\te_piano_18.bmp" - IDB_PIANO_19 BITMAP "res\\te_piano_19.bmp" - IDB_PIANO_PLAYBACK_0 BITMAP "res\\te_piano_0_playback.bmp" - IDB_PIANO_PLAYBACK_1 BITMAP "res\\te_piano_1_playback.bmp" - IDB_PIANO_PLAYBACK_2 BITMAP "res\\te_piano_2_playback.bmp" - IDB_PIANO_PLAYBACK_3 BITMAP "res\\te_piano_3_playback.bmp" - IDB_PIANO_PLAYBACK_4 BITMAP "res\\te_piano_4_playback.bmp" - IDB_PIANO_PLAYBACK_5 BITMAP "res\\te_piano_5_playback.bmp" - IDB_PIANO_PLAYBACK_6 BITMAP "res\\te_piano_6_playback.bmp" - IDB_PIANO_PLAYBACK_7 BITMAP "res\\te_piano_7_playback.bmp" - IDB_PIANO_PLAYBACK_8 BITMAP "res\\te_piano_8_playback.bmp" - IDB_PIANO_PLAYBACK_9 BITMAP "res\\te_piano_9_playback.bmp" - IDB_PIANO_PLAYBACK_10 BITMAP "res\\te_piano_10_playback.bmp" - IDB_PIANO_PLAYBACK_11 BITMAP "res\\te_piano_11_playback.bmp" - IDB_PIANO_PLAYBACK_12 BITMAP "res\\te_piano_12_playback.bmp" - IDB_PIANO_PLAYBACK_13 BITMAP "res\\te_piano_13_playback.bmp" - IDB_PIANO_PLAYBACK_14 BITMAP "res\\te_piano_14_playback.bmp" - IDB_PIANO_PLAYBACK_15 BITMAP "res\\te_piano_15_playback.bmp" - IDB_PIANO_PLAYBACK_16 BITMAP "res\\te_piano_16_playback.bmp" - IDB_PIANO_PLAYBACK_17 BITMAP "res\\te_piano_17_playback.bmp" - IDB_PIANO_PLAYBACK_18 BITMAP "res\\te_piano_18_playback.bmp" - IDB_PIANO_PLAYBACK_19 BITMAP "res\\te_piano_19_playback.bmp" - IDB_PIANO_LOSTPOS_0 BITMAP "res\\te_piano_0_lostpos.bmp" - IDB_PIANO_LOSTPOS_1 BITMAP "res\\te_piano_1_lostpos.bmp" - IDB_PIANO_LOSTPOS_2 BITMAP "res\\te_piano_2_lostpos.bmp" - IDB_PIANO_LOSTPOS_3 BITMAP "res\\te_piano_3_lostpos.bmp" - IDB_PIANO_LOSTPOS_4 BITMAP "res\\te_piano_4_lostpos.bmp" - IDB_PIANO_LOSTPOS_5 BITMAP "res\\te_piano_5_lostpos.bmp" - IDB_PIANO_LOSTPOS_6 BITMAP "res\\te_piano_6_lostpos.bmp" - IDB_PIANO_LOSTPOS_7 BITMAP "res\\te_piano_7_lostpos.bmp" - IDB_PIANO_LOSTPOS_8 BITMAP "res\\te_piano_8_lostpos.bmp" - IDB_PIANO_LOSTPOS_9 BITMAP "res\\te_piano_9_lostpos.bmp" - IDB_PIANO_LOSTPOS_10 BITMAP "res\\te_piano_10_lostpos.bmp" - IDB_PIANO_LOSTPOS_11 BITMAP "res\\te_piano_11_lostpos.bmp" - IDB_PIANO_LOSTPOS_12 BITMAP "res\\te_piano_12_lostpos.bmp" - IDB_PIANO_LOSTPOS_13 BITMAP "res\\te_piano_13_lostpos.bmp" - IDB_PIANO_LOSTPOS_14 BITMAP "res\\te_piano_14_lostpos.bmp" - IDB_PIANO_LOSTPOS_15 BITMAP "res\\te_piano_15_lostpos.bmp" - IDB_PIANO_LOSTPOS_16 BITMAP "res\\te_piano_16_lostpos.bmp" - IDB_PIANO_LOSTPOS_17 BITMAP "res\\te_piano_17_lostpos.bmp" - IDB_PIANO_LOSTPOS_18 BITMAP "res\\te_piano_18_lostpos.bmp" - IDB_PIANO_LOSTPOS_19 BITMAP "res\\te_piano_19_lostpos.bmp" - IDB_BITMAP_SELECTED0 BITMAP "res\\te_0_selected.bmp" - IDB_BITMAP_SELECTED1 BITMAP "res\\te_1_selected.bmp" - IDB_BITMAP_SELECTED2 BITMAP "res\\te_2_selected.bmp" - IDB_BITMAP_SELECTED3 BITMAP "res\\te_3_selected.bmp" - IDB_BITMAP_SELECTED4 BITMAP "res\\te_4_selected.bmp" - IDB_BITMAP_SELECTED5 BITMAP "res\\te_5_selected.bmp" - IDB_BITMAP_SELECTED6 BITMAP "res\\te_6_selected.bmp" - IDB_BITMAP_SELECTED7 BITMAP "res\\te_7_selected.bmp" - IDB_BITMAP_SELECTED8 BITMAP "res\\te_8_selected.bmp" - IDB_BITMAP_SELECTED9 BITMAP "res\\te_9_selected.bmp" - IDB_BITMAP_SELECTED10 BITMAP "res\\te_10_selected.bmp" - IDB_BITMAP_SELECTED11 BITMAP "res\\te_11_selected.bmp" - IDB_BITMAP_SELECTED12 BITMAP "res\\te_12_selected.bmp" - IDB_BITMAP_SELECTED13 BITMAP "res\\te_13_selected.bmp" - IDB_BITMAP_SELECTED14 BITMAP "res\\te_14_selected.bmp" - IDB_BITMAP_SELECTED15 BITMAP "res\\te_15_selected.bmp" - IDB_BITMAP_SELECTED16 BITMAP "res\\te_16_selected.bmp" - IDB_BITMAP_SELECTED17 BITMAP "res\\te_17_selected.bmp" - IDB_BITMAP_SELECTED18 BITMAP "res\\te_18_selected.bmp" - IDB_BITMAP_SELECTED19 BITMAP "res\\te_19_selected.bmp" - IDB_BRANCH_SPRITESHEET BITMAP "res\\branch_spritesheet.bmp" - #endif // English (United States) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/src/drivers/win/resource.h b/src/drivers/win/resource.h index 57fbea09..4a960f12 100644 --- a/src/drivers/win/resource.h +++ b/src/drivers/win/resource.h @@ -161,7 +161,7 @@ #define IDC_CHECK_CODE_TABBING 117 #define CHEAT_CONTEXT_LIST_POKECHEATVALUE 118 #define IDC_CHECK_LOG_STATUSES_TO_THE_LEFT 118 -#define IDC_DEBUGGER_BOOKMARK_NAME 118 +#define IDC_DEBUGGER_BOOKMARK_EDIT 118 #define CHEAT_CONTEXT_LIST_GOTOINHEXEDITOR 119 #define IDC_DEBUGGER_BREAK_ON_INSTRUCTIONS 119 #define IDC_CHECK_LOG_FRAMES_COUNT 119 @@ -641,6 +641,8 @@ #define IDC_RADIO_SHORTCUT8 1107 #define IDC_RADIO_SHORTCUT9 1108 #define IDC_RADIO_SHORTCUT0 1109 +#define IDC_BOOKMARK_VIEW_TEXT 1110 +#define IDC_BOOKMARK_COMBO_VIEW 1112 #define BTN_ALLOW_LRUD 1117 #define IDC_PRGROM_EDIT 1118 #define IDC_CHRROM_EDIT 1119 @@ -1163,9 +1165,9 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 306 +#define _APS_NEXT_RESOURCE_VALUE 309 #define _APS_NEXT_COMMAND_VALUE 40005 -#define _APS_NEXT_CONTROL_VALUE 1101 +#define _APS_NEXT_CONTROL_VALUE 1112 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/src/drivers/win/window.cpp b/src/drivers/win/window.cpp index 27fbb095..30497bdc 100644 --- a/src/drivers/win/window.cpp +++ b/src/drivers/win/window.cpp @@ -3374,7 +3374,6 @@ bool inline (*GetIsLetterLegal(UINT id))(char letter) case MW_ADDR16: case MW_ADDR17: case MW_ADDR18: case MW_ADDR19: case MW_ADDR20: case MW_ADDR21: case MW_ADDR22: case MW_ADDR23: case IDC_EDIT_COMPAREADDRESS: - return IsLetterLegalHex; // Specific Address in RAM Search