ulsf:p, proper launch of

This commit is contained in:
lizzie 2026-05-20 08:25:10 +00:00
parent daee174a87
commit aa2875e1e9
5 changed files with 81 additions and 53 deletions

View file

@ -516,6 +516,7 @@ MainWindow::MainWindow(bool has_broken_vulkan)
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;
@ -563,7 +564,10 @@ 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_ulaunch = true;
should_launch_umenu = true;
} else if (args[i] == QStringLiteral("-umenu")) {
should_launch_umenu = true;
} else if (args[i] == QStringLiteral("-setup")) {
should_launch_setup = true;
} else {
@ -595,10 +599,14 @@ 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 = 0x0100000000010000;
auto params = LibraryAppletParameters(u64(program_id), Service::AM::AppletId::Cabinet);
auto const program_id = 0x010000000000FFFF;
auto params = LibraryAppletParameters(program_id, Service::AM::AppletId::UlauncherUmenu);
params.launch_type = Service::AM::LaunchType::FrontendUmenuInitiated;
BootGame(QString::fromStdString(path), params);
}