diff options
author | archshift <admin@archshift.com> | 2014-10-30 22:44:51 -0700 |
---|---|---|
committer | archshift <admin@archshift.com> | 2014-11-04 21:44:03 -0800 |
commit | 1efb83bf53036fb95235e70b955fc9e1673e3cca (patch) | |
tree | 2b659ef13806ebffc42d4e554015b321979564ff /src/citra_qt/main.cpp | |
parent | 5a1de3366ccd89ac1d557ab8aff1398a0a0f8827 (diff) |
Qt: Auto-start game when selected, play game that's passed via argv[1].
Also moves system initialization to when the game is booted.
Diffstat (limited to 'src/citra_qt/main.cpp')
-rw-r--r-- | src/citra_qt/main.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 153712273a..304c169b95 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -116,7 +116,10 @@ GMainWindow::GMainWindow() show(); - System::Init(render_window); + QStringList args = QApplication::arguments(); + if (args.length() >= 2) { + BootGame(args[1].toStdString()); + } } GMainWindow::~GMainWindow() @@ -129,6 +132,7 @@ GMainWindow::~GMainWindow() void GMainWindow::BootGame(std::string filename) { NOTICE_LOG(MASTER_LOG, "Citra starting...\n"); + System::Init(render_window); if (Core::Init()) { ERROR_LOG(MASTER_LOG, "Core initialization failed, exiting..."); @@ -149,6 +153,7 @@ void GMainWindow::BootGame(std::string filename) render_window->GetEmuThread().start(); render_window->show(); + OnStartGame(); } void GMainWindow::OnMenuLoadFile() @@ -185,6 +190,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); @@ -246,7 +252,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(); } |