diff --git a/src/core/file_sys/savedata_factory.cpp b/src/core/file_sys/savedata_factory.cpp index 4d83e100fe..d911b6144d 100644 --- a/src/core/file_sys/savedata_factory.cpp +++ b/src/core/file_sys/savedata_factory.cpp @@ -5,6 +5,7 @@ #include #include #include "common/common_types.h" +#include "common/file_util.h" #include "common/logging/log.h" #include "common/string_util.h" #include "core/file_sys/disk_filesystem.h" @@ -20,8 +21,9 @@ ResultVal> SaveData_Factory::Open(const Path& u64 title_id = Kernel::g_current_process->program_id; // TODO(Subv): Somehow obtain this value. u32 user = 0; - std::string save_directory = Common::StringFromFormat("%ssave/%016" PRIX64 "/%08X", + std::string save_directory = Common::StringFromFormat("%ssave/%016" PRIX64 "/%08X/", nand_directory.c_str(), title_id, user); + FileUtil::CreateFullPath(save_directory); // Create path if not already created auto archive = std::make_unique(save_directory); return MakeResult>(std::move(archive)); }