mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-04 14:01:25 +12:00
Allow BootGame with indirect paths
This commit is contained in:
parent
08aaae7999
commit
2c32a721fc
2 changed files with 14 additions and 9 deletions
|
@ -669,24 +669,29 @@ game_boot_result Emulator::BootGame(const std::string& path, const std::string&
|
||||||
if (g_cfg.vfs.limit_cache_size)
|
if (g_cfg.vfs.limit_cache_size)
|
||||||
LimitCacheSize();
|
LimitCacheSize();
|
||||||
|
|
||||||
static const char* boot_list[] =
|
if (!fs::exists(path))
|
||||||
{
|
{
|
||||||
"/eboot.bin",
|
return game_boot_result::invalid_file_or_folder;
|
||||||
"/EBOOT.BIN",
|
}
|
||||||
"/USRDIR/EBOOT.BIN",
|
|
||||||
"/USRDIR/ISO.BIN.EDAT",
|
|
||||||
"/PS3_GAME/USRDIR/EBOOT.BIN",
|
|
||||||
};
|
|
||||||
|
|
||||||
m_path_old = m_path;
|
m_path_old = m_path;
|
||||||
|
|
||||||
if (direct && fs::exists(path))
|
if (direct || fs::is_file(path))
|
||||||
{
|
{
|
||||||
m_path = path;
|
m_path = path;
|
||||||
return Load(title_id, add_only, force_global_config);
|
return Load(title_id, add_only, force_global_config);
|
||||||
}
|
}
|
||||||
|
|
||||||
game_boot_result result = game_boot_result::nothing_to_boot;
|
game_boot_result result = game_boot_result::nothing_to_boot;
|
||||||
|
|
||||||
|
static const char* boot_list[] =
|
||||||
|
{
|
||||||
|
"/EBOOT.BIN",
|
||||||
|
"/USRDIR/EBOOT.BIN",
|
||||||
|
"/USRDIR/ISO.BIN.EDAT",
|
||||||
|
"/PS3_GAME/USRDIR/EBOOT.BIN",
|
||||||
|
};
|
||||||
|
|
||||||
for (std::string elf : boot_list)
|
for (std::string elf : boot_list)
|
||||||
{
|
{
|
||||||
elf = path + elf;
|
elf = path + elf;
|
||||||
|
|
|
@ -577,7 +577,7 @@ int main(int argc, char** argv)
|
||||||
Emu.argv = std::move(argv);
|
Emu.argv = std::move(argv);
|
||||||
Emu.SetForceBoot(true);
|
Emu.SetForceBoot(true);
|
||||||
|
|
||||||
if (const game_boot_result error = Emu.BootGame(path, "", true); error != game_boot_result::no_errors)
|
if (const game_boot_result error = Emu.BootGame(path, ""); error != game_boot_result::no_errors)
|
||||||
{
|
{
|
||||||
sys_log.error("Booting '%s' with cli argument failed: reason: %s", path, error);
|
sys_log.error("Booting '%s' with cli argument failed: reason: %s", path, error);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue