mirror of https://github.com/RPCS3/rpcs3.git
Remove all HDD0's temporary game data created by cellGame at boot
This commit is contained in:
parent
1088375b38
commit
1be36fe6a9
|
@ -347,6 +347,12 @@ void Emulator::Init(bool add_only)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_exitspawn)
|
||||||
|
{
|
||||||
|
// Actions not taken during exitspawn
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Fixup savedata
|
// Fixup savedata
|
||||||
for (const auto& entry : fs::dir(save_path))
|
for (const auto& entry : fs::dir(save_path))
|
||||||
{
|
{
|
||||||
|
@ -380,16 +386,30 @@ void Emulator::Init(bool add_only)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Limit cache size
|
// Limit cache size
|
||||||
if (!is_exitspawn && g_cfg.vfs.limit_cache_size)
|
if (g_cfg.vfs.limit_cache_size)
|
||||||
{
|
{
|
||||||
rpcs3::cache::limit_cache_size();
|
rpcs3::cache::limit_cache_size();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wipe clean VSH's temporary directory of choice
|
// Wipe clean VSH's temporary directory of choice
|
||||||
if (g_cfg.vfs.empty_hdd0_tmp && !is_exitspawn && !fs::remove_all(dev_hdd0 + "tmp/", false, true))
|
if (g_cfg.vfs.empty_hdd0_tmp && !fs::remove_all(dev_hdd0 + "tmp/", false, true))
|
||||||
{
|
{
|
||||||
sys_log.error("Could not clean /dev_hdd0/tmp/ (%s)", fs::g_tls_error);
|
sys_log.error("Could not clean /dev_hdd0/tmp/ (%s)", fs::g_tls_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove temporary game data that would have been removed when cellGame has been properly shut
|
||||||
|
for (const auto& entry : fs::dir(dev_hdd0 + "game/"))
|
||||||
|
{
|
||||||
|
if (entry.name.starts_with("_GDATA_") && fs::is_dir(dev_hdd0 + "game/" + entry.name + "/USRDIR/"))
|
||||||
|
{
|
||||||
|
const std::string target = dev_hdd0 + "game/" + entry.name;
|
||||||
|
|
||||||
|
if (!fs::remove_all(target, true, true))
|
||||||
|
{
|
||||||
|
sys_log.error("Could not clean \"%s\" (%s)", target, fs::g_tls_error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Emulator::SetUsr(const std::string& user)
|
void Emulator::SetUsr(const std::string& user)
|
||||||
|
|
Loading…
Reference in New Issue