aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/citra_qt/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/citra_qt/main.cpp')
-rw-r--r--src/citra_qt/main.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index c99f9283..9a4e36ad 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -121,7 +121,10 @@ GMainWindow::GMainWindow()
show();
- System::Init(render_window);
+ QStringList args = QApplication::arguments();
+ if (args.length() >= 2) {
+ BootGame(args[1].toStdString());
+ }
}
GMainWindow::~GMainWindow()
@@ -133,10 +136,11 @@ GMainWindow::~GMainWindow()
void GMainWindow::BootGame(std::string filename)
{
- NOTICE_LOG(MASTER_LOG, "citra starting...\n");
+ NOTICE_LOG(MASTER_LOG, "Citra starting...\n");
+ System::Init(render_window);
if (Core::Init()) {
- ERROR_LOG(MASTER_LOG, "core initialization failed, exiting...");
+ ERROR_LOG(MASTER_LOG, "Core initialization failed, exiting...");
Core::Stop();
exit(1);
}
@@ -154,6 +158,7 @@ void GMainWindow::BootGame(std::string filename)
render_window->GetEmuThread().start();
render_window->show();
+ OnStartGame();
}
void GMainWindow::OnMenuLoadFile()
@@ -190,6 +195,7 @@ void GMainWindow::OnPauseGame()
void GMainWindow::OnStopGame()
{
render_window->GetEmuThread().SetCpuRunning(false);
+ // TODO: Shutdown core
ui.action_Start->setEnabled(true);
ui.action_Pause->setEnabled(false);
@@ -251,7 +257,6 @@ int __cdecl main(int argc, char* argv[])
QApplication::setAttribute(Qt::AA_X11InitThreads);
QApplication app(argc, argv);
GMainWindow main_window;
-
main_window.show();
return app.exec();
}