diff --git a/rpcs3/rpcs3qt/main_window.cpp b/rpcs3/rpcs3qt/main_window.cpp index acdcb78131..2407a9729a 100644 --- a/rpcs3/rpcs3qt/main_window.cpp +++ b/rpcs3/rpcs3qt/main_window.cpp @@ -468,6 +468,12 @@ void main_window::BootGame() Boot(sstr(dir_path)); } +void main_window::BootVSH() +{ + gui_log.notice("Booting from BootVSH..."); + Boot(g_cfg.vfs.get_dev_flash() + "/vsh/module/vsh.self"); +} + void main_window::BootRsxCapture(std::string path) { if (path.empty()) @@ -1914,6 +1920,7 @@ void main_window::CreateConnects() { connect(ui->bootElfAct, &QAction::triggered, this, &main_window::BootElf); connect(ui->bootGameAct, &QAction::triggered, this, &main_window::BootGame); + connect(ui->bootVSHAct, &QAction::triggered, this, &main_window::BootVSH); connect(ui->actionopen_rsx_capture, &QAction::triggered, this, [this](){ BootRsxCapture(); }); connect(ui->actionCreate_RSX_Capture, &QAction::triggered, this, []() { diff --git a/rpcs3/rpcs3qt/main_window.h b/rpcs3/rpcs3qt/main_window.h index b08f18d10e..d747d6b0a5 100644 --- a/rpcs3/rpcs3qt/main_window.h +++ b/rpcs3/rpcs3qt/main_window.h @@ -109,6 +109,7 @@ private Q_SLOTS: void Boot(const std::string& path, const std::string& title_id = "", bool direct = false, bool add_only = false, bool force_global_config = false); void BootElf(); void BootGame(); + void BootVSH(); void BootRsxCapture(std::string path = ""); void DecryptSPRXLibraries(); static void show_boot_error(game_boot_result status); diff --git a/rpcs3/rpcs3qt/main_window.ui b/rpcs3/rpcs3qt/main_window.ui index 4295c4f003..0593aa54d3 100644 --- a/rpcs3/rpcs3qt/main_window.ui +++ b/rpcs3/rpcs3qt/main_window.ui @@ -188,6 +188,7 @@ + @@ -1163,6 +1164,11 @@ Play Hover Gifs + + + Boot VSH/XMB + +