Merge pull request #5156 from sepalani/gen-sym

Generate Symbols From menu added
This commit is contained in:
Matthew Parlane 2017-03-28 15:36:33 +13:00 committed by GitHub
commit 3eff869937
4 changed files with 16 additions and 5 deletions

View File

@ -177,6 +177,11 @@ void CCodeWindow::OnSymbolsMenu(wxCommandEvent& event)
Host_NotifyMapLoaded(); Host_NotifyMapLoaded();
break; break;
case IDM_SCAN_FUNCTIONS: case IDM_SCAN_FUNCTIONS:
PPCAnalyst::FindFunctions(0x80000000, 0x81800000, &g_symbolDB);
// Update GUI
NotifyMapLoaded();
break;
case IDM_SCAN_SIGNATURES:
{ {
PPCAnalyst::FindFunctions(0x80000000, 0x81800000, &g_symbolDB); PPCAnalyst::FindFunctions(0x80000000, 0x81800000, &g_symbolDB);
SignatureDB db; SignatureDB db;
@ -190,7 +195,6 @@ void CCodeWindow::OnSymbolsMenu(wxCommandEvent& event)
{ {
Parent->StatusBarMessage("'%s' not found, no symbol names generated", TOTALDB); Parent->StatusBarMessage("'%s' not found, no symbol names generated", TOTALDB);
} }
// HLE::PatchFunctions();
// Update GUI // Update GUI
NotifyMapLoaded(); NotifyMapLoaded();
break; break;

View File

@ -231,6 +231,7 @@ void CFrame::BindDebuggerMenuBarUpdateEvents()
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_SEARCH_INSTRUCTION); Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_SEARCH_INSTRUCTION);
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_CLEAR_SYMBOLS); Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_CLEAR_SYMBOLS);
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_SCAN_FUNCTIONS); Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_SCAN_FUNCTIONS);
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_SCAN_SIGNATURES);
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_LOAD_MAP_FILE); Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_LOAD_MAP_FILE);
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_SAVEMAPFILE); Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_SAVEMAPFILE);
Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_LOAD_MAP_FILE_AS); Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_LOAD_MAP_FILE_AS);

View File

@ -216,6 +216,7 @@ enum
// Symbols // Symbols
IDM_CLEAR_SYMBOLS, IDM_CLEAR_SYMBOLS,
IDM_SCAN_FUNCTIONS, IDM_SCAN_FUNCTIONS,
IDM_SCAN_SIGNATURES,
IDM_LOAD_MAP_FILE, IDM_LOAD_MAP_FILE,
IDM_LOAD_MAP_FILE_AS, IDM_LOAD_MAP_FILE_AS,
IDM_LOAD_BAD_MAP_FILE, IDM_LOAD_BAD_MAP_FILE,

View File

@ -416,9 +416,14 @@ wxMenu* MainMenuBar::CreateSymbolsMenu() const
auto* const symbols_menu = new wxMenu; auto* const symbols_menu = new wxMenu;
symbols_menu->Append(IDM_CLEAR_SYMBOLS, _("&Clear Symbols"), symbols_menu->Append(IDM_CLEAR_SYMBOLS, _("&Clear Symbols"),
_("Remove names from all functions and variables.")); _("Remove names from all functions and variables."));
symbols_menu->Append(IDM_SCAN_FUNCTIONS, _("&Generate Symbol Map"), auto* const generate_symbols_menu = new wxMenu;
generate_symbols_menu->Append(IDM_SCAN_FUNCTIONS, _("&Address"),
_("Use generic zz_ names for functions."));
generate_symbols_menu->Append(
IDM_SCAN_SIGNATURES, _("&Signature Database"),
_("Recognise standard functions from Sys/totaldb.dsy, and use generic zz_ " _("Recognise standard functions from Sys/totaldb.dsy, and use generic zz_ "
"names for other functions.")); "names for other functions."));
symbols_menu->AppendSubMenu(generate_symbols_menu, _("&Generate Symbols From"));
symbols_menu->AppendSeparator(); symbols_menu->AppendSeparator();
symbols_menu->Append(IDM_LOAD_MAP_FILE, _("&Load Symbol Map"), symbols_menu->Append(IDM_LOAD_MAP_FILE, _("&Load Symbol Map"),
_("Try to load this game's function names automatically - but doesn't check " _("Try to load this game's function names automatically - but doesn't check "
@ -457,7 +462,7 @@ wxMenu* MainMenuBar::CreateSymbolsMenu() const
"two existing files. The first input file has priority.")); "two existing files. The first input file has priority."));
symbols_menu->Append( symbols_menu->Append(
IDM_USE_SIGNATURE_FILE, _("Apply Signat&ure File..."), IDM_USE_SIGNATURE_FILE, _("Apply Signat&ure File..."),
_("Must use Generate Symbol Map first! Recognise names of any standard library functions " _("Must use Generate Symbols first! Recognise names of any standard library functions "
"used in multiple games, by loading them from a .dsy file.")); "used in multiple games, by loading them from a .dsy file."));
symbols_menu->AppendSeparator(); symbols_menu->AppendSeparator();
symbols_menu->Append(IDM_PATCH_HLE_FUNCTIONS, _("&Patch HLE Functions")); symbols_menu->Append(IDM_PATCH_HLE_FUNCTIONS, _("&Patch HLE Functions"));