diff options
Diffstat (limited to 'src/core/file_sys')
| -rw-r--r-- | src/core/file_sys/savedata_factory.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
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) | |||
| 17 | 17 | ||
| 18 | ResultVal<std::unique_ptr<FileSystemBackend>> SaveData_Factory::Open(const Path& path) { | 18 | ResultVal<std::unique_ptr<FileSystemBackend>> SaveData_Factory::Open(const Path& path) { |
| 19 | std::string save_directory = GetFullPath(); | 19 | std::string save_directory = GetFullPath(); |
| 20 | |||
| 21 | if (!FileUtil::Exists(save_directory)) { | ||
| 22 | // TODO(bunnei): This is a work-around to always create a save data directory if it does not | ||
| 23 | // already exist. This is a hack, as we do not understand yet how this works on hardware. | ||
| 24 | // Without a save data directory, many games will assert on boot. This should not have any | ||
| 25 | // bad side-effects. | ||
| 26 | FileUtil::CreateFullPath(save_directory); | ||
| 27 | } | ||
| 28 | |||
| 20 | // Return an error if the save data doesn't actually exist. | 29 | // Return an error if the save data doesn't actually exist. |
| 21 | if (!FileUtil::IsDirectory(save_directory)) { | 30 | if (!FileUtil::IsDirectory(save_directory)) { |
| 22 | // TODO(Subv): Find out correct error code. | 31 | // TODO(Subv): Find out correct error code. |