Qt: Auto-start game when selected, play game that's passed via argv[1].
Also moves system initialization to when the game is booted.
This commit is contained in:
parent
5a1de3366c
commit
1efb83bf53
|
@ -116,7 +116,10 @@ GMainWindow::GMainWindow()
|
||||||
|
|
||||||
show();
|
show();
|
||||||
|
|
||||||
System::Init(render_window);
|
QStringList args = QApplication::arguments();
|
||||||
|
if (args.length() >= 2) {
|
||||||
|
BootGame(args[1].toStdString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GMainWindow::~GMainWindow()
|
GMainWindow::~GMainWindow()
|
||||||
|
@ -129,6 +132,7 @@ GMainWindow::~GMainWindow()
|
||||||
void GMainWindow::BootGame(std::string filename)
|
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()) {
|
if (Core::Init()) {
|
||||||
ERROR_LOG(MASTER_LOG, "Core initialization failed, exiting...");
|
ERROR_LOG(MASTER_LOG, "Core initialization failed, exiting...");
|
||||||
|
@ -149,6 +153,7 @@ void GMainWindow::BootGame(std::string filename)
|
||||||
render_window->GetEmuThread().start();
|
render_window->GetEmuThread().start();
|
||||||
|
|
||||||
render_window->show();
|
render_window->show();
|
||||||
|
OnStartGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::OnMenuLoadFile()
|
void GMainWindow::OnMenuLoadFile()
|
||||||
|
@ -185,6 +190,7 @@ void GMainWindow::OnPauseGame()
|
||||||
void GMainWindow::OnStopGame()
|
void GMainWindow::OnStopGame()
|
||||||
{
|
{
|
||||||
render_window->GetEmuThread().SetCpuRunning(false);
|
render_window->GetEmuThread().SetCpuRunning(false);
|
||||||
|
// TODO: Shutdown core
|
||||||
|
|
||||||
ui.action_Start->setEnabled(true);
|
ui.action_Start->setEnabled(true);
|
||||||
ui.action_Pause->setEnabled(false);
|
ui.action_Pause->setEnabled(false);
|
||||||
|
@ -246,7 +252,6 @@ int __cdecl main(int argc, char* argv[])
|
||||||
QApplication::setAttribute(Qt::AA_X11InitThreads);
|
QApplication::setAttribute(Qt::AA_X11InitThreads);
|
||||||
QApplication app(argc, argv);
|
QApplication app(argc, argv);
|
||||||
GMainWindow main_window;
|
GMainWindow main_window;
|
||||||
|
|
||||||
main_window.show();
|
main_window.show();
|
||||||
return app.exec();
|
return app.exec();
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue