diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index 89aae7ce6f..76e0c68c36 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -23,6 +23,7 @@
#include "core/system.h"
#include "core/loader.h"
#include "core/core.h"
+#include "core/arm/disassembler/load_symbol_map.h"
#include "version.h"
@@ -74,6 +75,7 @@ GMainWindow::GMainWindow()
// Setup connections
connect(ui.action_Load_File, SIGNAL(triggered()), this, SLOT(OnMenuLoadFile()));
+ connect(ui.action_Load_Symbol_Map, SIGNAL(triggered()), this, SLOT(OnMenuLoadSymbolMap()));
connect(ui.action_Start, SIGNAL(triggered()), this, SLOT(OnStartGame()));
connect(ui.action_Pause, SIGNAL(triggered()), this, SLOT(OnPauseGame()));
connect(ui.action_Stop, SIGNAL(triggered()), this, SLOT(OnStopGame()));
@@ -140,11 +142,17 @@ void GMainWindow::BootGame(const char* filename)
void GMainWindow::OnMenuLoadFile()
{
- QString filename = QFileDialog::getOpenFileName(this, tr("Load file"), QString(), tr("3DS homebrew (*.elf *.dat)"));
+ QString filename = QFileDialog::getOpenFileName(this, tr("Load file"), QString(), tr("3DS homebrew (*.elf *.dat *.bin)"));
if (filename.size())
BootGame(filename.toLatin1().data());
}
+void GMainWindow::OnMenuLoadSymbolMap() {
+ QString filename = QFileDialog::getOpenFileName(this, tr("Load symbol map"), QString(), tr("Symbol map (*)"));
+ if (filename.size())
+ LoadSymbolMap(filename.toLatin1().data());
+}
+
void GMainWindow::OnStartGame()
{
render_window->GetEmuThread().SetCpuRunning(true);
diff --git a/src/citra_qt/main.hxx b/src/citra_qt/main.hxx
index b4b1c533c2..fa122f76e6 100644
--- a/src/citra_qt/main.hxx
+++ b/src/citra_qt/main.hxx
@@ -33,10 +33,11 @@ private:
void closeEvent(QCloseEvent* event);
private slots:
- void OnStartGame();
- void OnPauseGame();
- void OnStopGame();
- void OnMenuLoadFile();
+ void OnStartGame();
+ void OnPauseGame();
+ void OnStopGame();
+ void OnMenuLoadFile();
+ void OnMenuLoadSymbolMap();
void OnOpenHotkeysDialog();
void OnConfigure();
void ToggleWindowMode();
diff --git a/src/citra_qt/main.ui b/src/citra_qt/main.ui
index c0cb11a100..f3596716f2 100644
--- a/src/citra_qt/main.ui
+++ b/src/citra_qt/main.ui
@@ -40,6 +40,7 @@
&File
+
@@ -72,12 +73,17 @@
-
-
- Load file...
-
-
-
+
+
+ Load file...
+
+
+
+
+ Load symbol map...
+
+
+
E&xit
diff --git a/src/citra_qt/ui_main.h b/src/citra_qt/ui_main.h
index cd3906ecc7..04979e5ab0 100644
--- a/src/citra_qt/ui_main.h
+++ b/src/citra_qt/ui_main.h
@@ -27,6 +27,7 @@ class Ui_MainWindow
{
public:
QAction *action_Load_File;
+ QAction *action_Load_Symbol_Map;
QAction *action_Exit;
QAction *action_Start;
QAction *action_Pause;
@@ -56,6 +57,8 @@ public:
MainWindow->setDockNestingEnabled(true);
action_Load_File = new QAction(MainWindow);
action_Load_File->setObjectName(QString::fromUtf8("action_Load_File"));
+ action_Load_Symbol_Map = new QAction(MainWindow);
+ action_Load_Symbol_Map->setObjectName(QString::fromUtf8("action_Load_Symbol_Map"));
action_Exit = new QAction(MainWindow);
action_Exit->setObjectName(QString::fromUtf8("action_Exit"));
action_Start = new QAction(MainWindow);
@@ -101,6 +104,7 @@ public:
menubar->addAction(menu_View->menuAction());
menubar->addAction(menu_Help->menuAction());
menu_File->addAction(action_Load_File);
+ menu_File->addAction(action_Load_Symbol_Map);
menu_File->addSeparator();
menu_File->addAction(action_Exit);
menu_Emulation->addAction(action_Start);
@@ -123,6 +127,7 @@ public:
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "Citra", 0, QApplication::UnicodeUTF8));
action_Load_File->setText(QApplication::translate("MainWindow", "Load file...", 0, QApplication::UnicodeUTF8));
+ action_Load_Symbol_Map->setText(QApplication::translate("MainWindow", "Load symbol map...", 0, QApplication::UnicodeUTF8));
action_Exit->setText(QApplication::translate("MainWindow", "E&xit", 0, QApplication::UnicodeUTF8));
action_Start->setText(QApplication::translate("MainWindow", "&Start", 0, QApplication::UnicodeUTF8));
action_Pause->setText(QApplication::translate("MainWindow", "&Pause", 0, QApplication::UnicodeUTF8));