summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/settings.h5
-rw-r--r--src/yuzu/configuration/config.cpp36
-rw-r--r--src/yuzu_cmd/config.cpp14
-rw-r--r--src/yuzu_cmd/default_ini.h14
4 files changed, 67 insertions, 2 deletions
diff --git a/src/core/settings.h b/src/core/settings.h
index 51363fc51..47bddfb30 100644
--- a/src/core/settings.h
+++ b/src/core/settings.h
@@ -407,8 +407,9 @@ struct Values {
// Data Storage
bool use_virtual_sd;
- std::string nand_dir;
- std::string sdmc_dir;
+ bool gamecard_inserted;
+ bool gamecard_current_game;
+ std::string gamecard_path;
NANDTotalSize nand_total_size;
NANDSystemSize nand_system_size;
NANDUserSize nand_user_size;
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index bcd0c0b1b..8113060d0 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -459,6 +459,30 @@ void Config::ReadDataStorageValues() {
QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir)))
.toString()
.toStdString());
+ FileUtil::GetUserPath(
+ FileUtil::UserPath::LoadDir,
+ qt_config
+ ->value("load_directory",
+ QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::LoadDir)))
+ .toString()
+ .toStdString());
+ FileUtil::GetUserPath(
+ FileUtil::UserPath::DumpDir,
+ qt_config
+ ->value("dump_directory",
+ QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::DumpDir)))
+ .toString()
+ .toStdString());
+ FileUtil::GetUserPath(
+ FileUtil::UserPath::CacheDir,
+ qt_config
+ ->value("cache_directory",
+ QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::CacheDir)))
+ .toString()
+ .toStdString());
+ Settings::values.gamecard_inserted = ReadSetting("gamecard_inserted", false).toBool();
+ Settings::values.gamecard_current_game = ReadSetting("gamecard_current_game", false).toBool();
+ Settings::values.gamecard_path = ReadSetting("gamecard_path", "").toString().toStdString();
Settings::values.nand_total_size = static_cast<Settings::NANDTotalSize>(
ReadSetting(QStringLiteral("nand_total_size"), static_cast<u64>(Settings::NANDTotalSize::S29_1GB))
.toULongLong());
@@ -886,6 +910,18 @@ void Config::SaveDataStorageValues() {
WriteSetting(QStringLiteral("sdmc_directory"),
QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir)),
QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir)));
+ WriteSetting(QStringLiteral("load_directory"),
+ QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::LoadDir)),
+ QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::LoadDir)));
+ WriteSetting(QStringLiteral("dump_directory"),
+ QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::DumpDir)),
+ QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::DumpDir)));
+ WriteSetting(QStringLiteral("cache_directory"),
+ QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::CacheDir)),
+ QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::CacheDir)));
+ WriteSetting(QStringLiteral("gamecard_inserted"), Settings::values.gamecard_inserted, false);
+ WriteSetting(QStringLiteral("gamecard_current_game"), Settings::values.gamecard_current_game, false);
+ WriteSetting(QStringLiteral("gamecard_path"), QString::fromStdString(Settings::values.gamecard_path), "");
WriteSetting(QStringLiteral("nand_total_size"), static_cast<u64>(Settings::values.nand_total_size),
static_cast<u64>(Settings::NANDTotalSize::S29_1GB));
WriteSetting(QStringLiteral("nand_user_size"), static_cast<u64>(Settings::values.nand_user_size),
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp
index 60e2b2d1b..d82438502 100644
--- a/src/yuzu_cmd/config.cpp
+++ b/src/yuzu_cmd/config.cpp
@@ -316,6 +316,20 @@ void Config::ReadValues() {
FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir,
sdl2_config->Get("Data Storage", "sdmc_directory",
FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir)));
+ FileUtil::GetUserPath(FileUtil::UserPath::LoadDir,
+ sdl2_config->Get("Data Storage", "load_directory",
+ FileUtil::GetUserPath(FileUtil::UserPath::LoadDir)));
+ FileUtil::GetUserPath(FileUtil::UserPath::DumpDir,
+ sdl2_config->Get("Data Storage", "dump_directory",
+ FileUtil::GetUserPath(FileUtil::UserPath::DumpDir)));
+ FileUtil::GetUserPath(FileUtil::UserPath::CacheDir,
+ sdl2_config->Get("Data Storage", "cache_directory",
+ FileUtil::GetUserPath(FileUtil::UserPath::CacheDir)));
+ Settings::values.gamecard_inserted =
+ sdl2_config->GetBoolean("Data Storage", "gamecard_inserted", false);
+ Settings::values.gamecard_current_game =
+ sdl2_config->GetBoolean("Data Storage", "gamecard_current_game", false);
+ Settings::values.gamecard_path = sdl2_config->Get("Data Storage", "gamecard_path", "");
Settings::values.nand_total_size = static_cast<Settings::NANDTotalSize>(sdl2_config->GetInteger(
"Data Storage", "nand_total_size", static_cast<long>(Settings::NANDTotalSize::S29_1GB)));
Settings::values.nand_user_size = static_cast<Settings::NANDUserSize>(sdl2_config->GetInteger(
diff --git a/src/yuzu_cmd/default_ini.h b/src/yuzu_cmd/default_ini.h
index f9f244522..e66d2f89b 100644
--- a/src/yuzu_cmd/default_ini.h
+++ b/src/yuzu_cmd/default_ini.h
@@ -173,6 +173,20 @@ volume =
# 1 (default): Yes, 0: No
use_virtual_sd =
+# Whether or not to enable gamecard emulation
+# 1: Yes, 0 (default): No
+gamecard_inserted =
+
+# Whether or not the gamecard should be emulated as the current game
+# If 'gamecard_inserted' is 0 this setting is irrelevant
+# 1: Yes, 0 (default): No
+gamecard_current_game =
+
+# Path to an XCI file to use as the gamecard
+# If 'gamecard_inserted' is 0 this setting is irrelevant
+# If 'gamecard_current_game' is 1 this setting is irrelevant
+gamecard_path =
+
[System]
# Whether the system is docked
# 1: Yes, 0 (default): No