ulauncher ipc emu

This commit is contained in:
lizzie 2026-05-20 10:27:37 +00:00
parent 272a71d27d
commit 20f1a2ef02
2 changed files with 21 additions and 15 deletions

View file

@ -512,14 +512,12 @@ MainWindow::MainWindow(bool has_broken_vulkan)
return;
}
QString game_path;
QString game_path{};
bool should_launch_qlaunch = false;
bool should_launch_hlaunch = false;
bool should_launch_hlaunch_uloader = false;
bool should_launch_umenu = false;
bool should_launch_ulaunch = false;
bool should_launch_setup = false;
bool has_gamepath = false;
bool is_fullscreen = false;
// Preserves drag/drop functionality
@ -553,7 +551,6 @@ MainWindow::MainWindow(bool has_broken_vulkan)
} else if (args[i] == QStringLiteral("-g") && i < args.size() - 1) {
// Launch game at path
game_path = args[++i];
has_gamepath = true;
} else if (args[i] == QStringLiteral("-input-profile") && i < args.size() - 1) {
auto& players = Settings::values.players.GetValue();
players[0].profile_name = args[++i].toStdString();
@ -564,20 +561,16 @@ MainWindow::MainWindow(bool has_broken_vulkan)
} else if (args[i] == QStringLiteral("-hlaunch-uloader")) {
should_launch_hlaunch_uloader = true;
} else if (args[i] == QStringLiteral("-ulaunch")) {
//should_launch_ulaunch = true;
should_launch_umenu = true;
} else if (args[i] == QStringLiteral("-umenu")) {
should_launch_umenu = true;
should_launch_ulaunch = true;
} else if (args[i] == QStringLiteral("-setup")) {
should_launch_setup = true;
} else {
game_path = args[i];
has_gamepath = true;
}
}
// Override fullscreen setting if gamepath or argument is provided
if (has_gamepath || is_fullscreen) {
if (!game_path.isEmpty() || is_fullscreen) {
ui->action_Fullscreen->setChecked(is_fullscreen);
}
@ -599,15 +592,11 @@ MainWindow::MainWindow(bool has_broken_vulkan)
params.launch_type = Service::AM::LaunchType::FrontendUlaunchInitiated;
BootGame(QString::fromStdString(path), params);
} else if (should_launch_ulaunch) {
std::filesystem::path const sd_dir = Common::FS::GetEdenPathString(Common::FS::EdenPath::SDMCDir);
auto const path = (sd_dir / "ulaunch" / "bin" / "uSystem" / "exefs.nsp").string();
BootGame(QString::fromStdString(path), ApplicationAppletParameters());
} else if (should_launch_umenu) {
std::filesystem::path const sd_dir = Common::FS::GetEdenPathString(Common::FS::EdenPath::SDMCDir);
auto const path = (sd_dir / "ulaunch" / "bin" / "uMenu" / "main").string();
auto const program_id = 0x010000000000FFFF;
auto params = LibraryAppletParameters(program_id, Service::AM::AppletId::UlauncherUmenu);
params.launch_type = Service::AM::LaunchType::FrontendUmenuInitiated;
params.launch_type = Service::AM::LaunchType::FrontendInitiated;
BootGame(QString::fromStdString(path), params);
}
}