From eb6cbfdbd8996401d3b595a7aa14c6361b3c6565 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 8 Jul 2018 17:05:13 -0400 Subject: savedata_factory: Always create a save directory for games. --- src/core/file_sys/savedata_factory.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/core') diff --git a/src/core/file_sys/savedata_factory.cpp b/src/core/file_sys/savedata_factory.cpp index d78baf9c3..f3aa213af 100644 --- a/src/core/file_sys/savedata_factory.cpp +++ b/src/core/file_sys/savedata_factory.cpp @@ -17,6 +17,15 @@ SaveData_Factory::SaveData_Factory(std::string nand_directory) ResultVal> SaveData_Factory::Open(const Path& path) { std::string save_directory = GetFullPath(); + + if (!FileUtil::Exists(save_directory)) { + // TODO(bunnei): This is a work-around to always create a save data directory if it does not + // already exist. This is a hack, as we do not understand yet how this works on hardware. + // Without a save data directory, many games will assert on boot. This should not have any + // bad side-effects. + FileUtil::CreateFullPath(save_directory); + } + // Return an error if the save data doesn't actually exist. if (!FileUtil::IsDirectory(save_directory)) { // TODO(Subv): Find out correct error code. -- cgit v1.2.3