summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/yuzu/main.cpp42
1 files changed, 39 insertions, 3 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 7aa515226..ebaccd2ef 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -292,12 +292,48 @@ GMainWindow::GMainWindow()
292 connect(&mouse_hide_timer, &QTimer::timeout, this, &GMainWindow::HideMouseCursor); 292 connect(&mouse_hide_timer, &QTimer::timeout, this, &GMainWindow::HideMouseCursor);
293 connect(ui.menubar, &QMenuBar::hovered, this, &GMainWindow::ShowMouseCursor); 293 connect(ui.menubar, &QMenuBar::hovered, this, &GMainWindow::ShowMouseCursor);
294 294
295 MigrateConfigFiles();
296
297 ui.action_Fullscreen->setChecked(false);
298
295 QStringList args = QApplication::arguments(); 299 QStringList args = QApplication::arguments();
296 if (args.length() >= 2) { 300
297 BootGame(args[1]); 301 if (args.size() < 2) {
302 return;
298 } 303 }
299 304
300 MigrateConfigFiles(); 305 QString game_path;
306
307 for (int i = 1; i < args.size(); ++i) {
308 // Preserves drag/drop functionality
309 if (args.size() == 2 && !args[1].startsWith(QChar::fromLatin1('-'))) {
310 game_path = args[1];
311 break;
312 }
313
314 // Launch game in fullscreen mode
315 if (args[i] == QStringLiteral("-f")) {
316 ui.action_Fullscreen->setChecked(true);
317 continue;
318 }
319
320 // Launch game at path
321 if (args[i] == QStringLiteral("-g")) {
322 if (i >= args.size() - 1) {
323 continue;
324 }
325
326 if (args[i + 1].startsWith(QChar::fromLatin1('-'))) {
327 continue;
328 }
329
330 game_path = args[++i];
331 }
332 }
333
334 if (!game_path.isEmpty()) {
335 BootGame(game_path);
336 }
301} 337}
302 338
303GMainWindow::~GMainWindow() { 339GMainWindow::~GMainWindow() {