From 5b88782e30018b0f66475ec53ae21137aff3072e Mon Sep 17 00:00:00 2001 From: Sepalani Date: Sat, 25 Mar 2017 00:52:17 +0000 Subject: [PATCH] Generate Symbols From menu added --- .../Core/DolphinWX/Debugger/CodeWindowFunctions.cpp | 6 +++++- Source/Core/DolphinWX/FrameTools.cpp | 1 + Source/Core/DolphinWX/Globals.h | 1 + Source/Core/DolphinWX/MainMenuBar.cpp | 13 +++++++++---- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp b/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp index f3e1d72f5e..41ac840b9c 100644 --- a/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp +++ b/Source/Core/DolphinWX/Debugger/CodeWindowFunctions.cpp @@ -177,6 +177,11 @@ void CCodeWindow::OnSymbolsMenu(wxCommandEvent& event) Host_NotifyMapLoaded(); break; case IDM_SCAN_FUNCTIONS: + PPCAnalyst::FindFunctions(0x80000000, 0x81800000, &g_symbolDB); + // Update GUI + NotifyMapLoaded(); + break; + case IDM_SCAN_SIGNATURES: { PPCAnalyst::FindFunctions(0x80000000, 0x81800000, &g_symbolDB); SignatureDB db; @@ -190,7 +195,6 @@ void CCodeWindow::OnSymbolsMenu(wxCommandEvent& event) { Parent->StatusBarMessage("'%s' not found, no symbol names generated", TOTALDB); } - // HLE::PatchFunctions(); // Update GUI NotifyMapLoaded(); break; diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp index 2086550c5d..1090ede910 100644 --- a/Source/Core/DolphinWX/FrameTools.cpp +++ b/Source/Core/DolphinWX/FrameTools.cpp @@ -231,6 +231,7 @@ void CFrame::BindDebuggerMenuBarUpdateEvents() 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_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_SAVEMAPFILE); Bind(wxEVT_UPDATE_UI, &WxEventUtils::OnEnableIfCoreInitialized, IDM_LOAD_MAP_FILE_AS); diff --git a/Source/Core/DolphinWX/Globals.h b/Source/Core/DolphinWX/Globals.h index 28e560d6bc..6035172987 100644 --- a/Source/Core/DolphinWX/Globals.h +++ b/Source/Core/DolphinWX/Globals.h @@ -216,6 +216,7 @@ enum // Symbols IDM_CLEAR_SYMBOLS, IDM_SCAN_FUNCTIONS, + IDM_SCAN_SIGNATURES, IDM_LOAD_MAP_FILE, IDM_LOAD_MAP_FILE_AS, IDM_LOAD_BAD_MAP_FILE, diff --git a/Source/Core/DolphinWX/MainMenuBar.cpp b/Source/Core/DolphinWX/MainMenuBar.cpp index 55cf2d378e..12bb706927 100644 --- a/Source/Core/DolphinWX/MainMenuBar.cpp +++ b/Source/Core/DolphinWX/MainMenuBar.cpp @@ -416,9 +416,14 @@ wxMenu* MainMenuBar::CreateSymbolsMenu() const auto* const symbols_menu = new wxMenu; symbols_menu->Append(IDM_CLEAR_SYMBOLS, _("&Clear Symbols"), _("Remove names from all functions and variables.")); - symbols_menu->Append(IDM_SCAN_FUNCTIONS, _("&Generate Symbol Map"), - _("Recognise standard functions from Sys/totaldb.dsy, and use generic zz_ " - "names for other functions.")); + 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_ " + "names for other functions.")); + symbols_menu->AppendSubMenu(generate_symbols_menu, _("&Generate Symbols From")); symbols_menu->AppendSeparator(); symbols_menu->Append(IDM_LOAD_MAP_FILE, _("&Load Symbol Map"), _("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.")); symbols_menu->Append( 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.")); symbols_menu->AppendSeparator(); symbols_menu->Append(IDM_PATCH_HLE_FUNCTIONS, _("&Patch HLE Functions"));