From 47f3740a7029fbaa879b35c2586151de109085cb Mon Sep 17 00:00:00 2001 From: Elad Ashkenazi Date: Mon, 8 Aug 2022 05:46:32 +0300 Subject: [PATCH] System.cpp: Replace std::filesystem usage (#12474) --- rpcs3/Emu/System.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/rpcs3/Emu/System.cpp b/rpcs3/Emu/System.cpp index 637a0ab7a9..ac9017c10d 100644 --- a/rpcs3/Emu/System.cpp +++ b/rpcs3/Emu/System.cpp @@ -43,7 +43,6 @@ #include #include #include -#include #include "Utilities/JIT.h" @@ -1139,16 +1138,19 @@ game_boot_result Emulator::Load(const std::string& title_id, bool add_only, bool bdvd_dir.push_back('/'); } - if (fs::is_dir(bdvd_dir) && std::filesystem::is_empty(bdvd_dir)) + if (!fs::is_file(bdvd_dir + "PS3_DISC.SFB")) { - // Ignore empty dir. We will need it later for disc games in dev_hdd0. - bdvd_dir.clear(); - sys_log.notice("Ignoring empty vfs BDVD directory: '%s'", bdvd_dir); - } - else if (!fs::is_file(bdvd_dir + "PS3_DISC.SFB")) - { - // Unuse if invalid - sys_log.error("Failed to use custom BDVD directory: '%s'", bdvd_dir); + if (fs::get_dir_size(bdvd_dir) == 0) + { + // Ignore empty dir. We will need it later for disc games in dev_hdd0. + sys_log.notice("Ignoring empty vfs BDVD directory: '%s'", bdvd_dir); + } + else + { + // Unuse if invalid + sys_log.error("Failed to use custom BDVD directory: '%s'", bdvd_dir); + } + bdvd_dir.clear(); } } @@ -1441,7 +1443,7 @@ game_boot_result Emulator::Load(const std::string& title_id, bool add_only, bool // Disc game located in dev_hdd0/game bdvd_dir = g_cfg_vfs.get(g_cfg_vfs.dev_bdvd, rpcs3::utils::get_emu_dir()); - if (!fs::is_dir(bdvd_dir) || !std::filesystem::is_empty(bdvd_dir)) + if (fs::get_dir_size(bdvd_dir)) { sys_log.error("Failed to load disc game from dev_hdd0. The virtual bdvd_dir path does not exist or the directory is not empty: '%s'", bdvd_dir); return game_boot_result::invalid_bdvd_folder;