Fix VFS regression

Implements cfg_mode
This commit is contained in:
Megamouse 2021-09-22 21:44:52 +02:00 committed by kd-11
parent da91a841b7
commit 8f1dc7a2d4
8 changed files with 100 additions and 48 deletions

View file

@ -40,7 +40,6 @@
#include <QFontDatabase>
#include "rpcs3_version.h"
#include "Emu/System.h"
#include "Emu/IdManager.h"
#include "Emu/VFS.h"
#include "Emu/system_config.h"
@ -378,7 +377,7 @@ void main_window::show_boot_error(game_boot_result status)
msg.exec();
}
void main_window::Boot(const std::string& path, const std::string& title_id, bool direct, bool add_only, const std::string& config_path)
void main_window::Boot(const std::string& path, const std::string& title_id, bool direct, bool add_only, cfg_mode config_mode, const std::string& config_path)
{
if (!m_gui_settings->GetBootConfirmation(this, gui::ib_confirm_boot))
{
@ -390,7 +389,7 @@ void main_window::Boot(const std::string& path, const std::string& title_id, boo
Emu.SetForceBoot(true);
Emu.Stop();
if (const auto error = Emu.BootGame(path, title_id, direct, add_only, config_path); error != game_boot_result::no_errors)
if (const auto error = Emu.BootGame(path, title_id, direct, add_only, config_mode, config_path); error != game_boot_result::no_errors)
{
gui_log.error("Boot failed: reason: %s, path: %s", error, path);
show_boot_error(error);
@ -2492,9 +2491,9 @@ void main_window::CreateDockWindows()
m_selected_game = game;
});
connect(m_game_list_frame, &game_list_frame::RequestBoot, this, [this](const game_info& game, const std::string& config_path)
connect(m_game_list_frame, &game_list_frame::RequestBoot, this, [this](const game_info& game, cfg_mode config_mode, const std::string& config_path)
{
Boot(game->info.path, game->info.serial, false, false, config_path);
Boot(game->info.path, game->info.serial, false, false, config_mode, config_path);
});
connect(m_game_list_frame, &game_list_frame::NotifyEmuSettingsChange, this, &main_window::NotifyEmuSettingsChange);