summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-07-10 18:09:58 +0200
committerGitHub <noreply@github.com>2018-07-10 18:09:58 +0200
commit3e966be6fcab0fd7d3ce8f9645dd6c42355c5632 (patch)
tree1b5c09fd62f2510ec488dfacf4ce875f3c7aef4d /src/core
parentMerge pull request #636 from FearlessTobi/add-gitignore (diff)
parentsavedata_factory: Always create a save directory for games. (diff)
downloadyuzu-3e966be6fcab0fd7d3ce8f9645dd6c42355c5632.tar
yuzu-3e966be6fcab0fd7d3ce8f9645dd6c42355c5632.tar.gz
yuzu-3e966be6fcab0fd7d3ce8f9645dd6c42355c5632.tar.bz2
yuzu-3e966be6fcab0fd7d3ce8f9645dd6c42355c5632.tar.lz
yuzu-3e966be6fcab0fd7d3ce8f9645dd6c42355c5632.tar.xz
yuzu-3e966be6fcab0fd7d3ce8f9645dd6c42355c5632.tar.zst
yuzu-3e966be6fcab0fd7d3ce8f9645dd6c42355c5632.zip
Diffstat (limited to 'src/core')
-rw-r--r--src/core/file_sys/savedata_factory.cpp9
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)
ResultVal<std::unique_ptr<FileSystemBackend>> 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.