aboutsummaryrefslogtreecommitdiff
path: root/src/frontend_common/config.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend_common/config.cpp')
-rw-r--r--src/frontend_common/config.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/frontend_common/config.cpp b/src/frontend_common/config.cpp
index 94ec349651..669e578b33 100644
--- a/src/frontend_common/config.cpp
+++ b/src/frontend_common/config.cpp
@@ -290,6 +290,13 @@ void Config::ReadDataStorageValues() {
setPath(EdenPath::DumpDir, "dump_directory");
setPath(EdenPath::TASDir, "tas_directory");
+ const auto save_dir_setting = ReadStringSetting(std::string("save_directory"));
+ if (save_dir_setting.empty()) {
+ SetEdenPath(EdenPath::SaveDir, GetEdenPathString(EdenPath::NANDDir));
+ } else {
+ SetEdenPath(EdenPath::SaveDir, save_dir_setting);
+ }
+
ReadCategory(Settings::Category::DataStorage);
EndGroup();
@@ -583,6 +590,16 @@ void Config::SaveDataStorageValues() {
writePath("dump_directory", EdenPath::DumpDir);
writePath("tas_directory", EdenPath::TASDir);
+ const auto save_path = FS::GetEdenPathString(EdenPath::SaveDir);
+ const auto nand_path = FS::GetEdenPathString(EdenPath::NANDDir);
+ if (save_path == nand_path) {
+ WriteStringSetting(std::string("save_directory"), std::string(""),
+ std::make_optional(std::string("")));
+ } else {
+ WriteStringSetting(std::string("save_directory"), save_path,
+ std::make_optional(std::string("")));
+ }
+
WriteCategory(Settings::Category::DataStorage);
EndGroup();