diff options
| author | 2019-04-23 08:34:19 -0400 | |
|---|---|---|
| committer | 2019-09-21 16:43:10 -0400 | |
| commit | 918119ae1b67ac96d91945660d71b530475204bc (patch) | |
| tree | eeeee5ab040bcb1dd6464fc12929efc341c467b6 /src | |
| parent | yuzu: Port old usages of Filesystem namespace to FilesystemController (diff) | |
| download | yuzu-918119ae1b67ac96d91945660d71b530475204bc.tar.gz yuzu-918119ae1b67ac96d91945660d71b530475204bc.tar.xz yuzu-918119ae1b67ac96d91945660d71b530475204bc.zip | |
settings: Add options for setting storage sizes
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/settings.h | 29 | ||||
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 20 | ||||
| -rw-r--r-- | src/yuzu_cmd/config.cpp | 9 |
3 files changed, 57 insertions, 1 deletions
diff --git a/src/core/settings.h b/src/core/settings.h index d4b70ec4c..51363fc51 100644 --- a/src/core/settings.h +++ b/src/core/settings.h | |||
| @@ -346,6 +346,31 @@ struct TouchscreenInput { | |||
| 346 | u32 rotation_angle; | 346 | u32 rotation_angle; |
| 347 | }; | 347 | }; |
| 348 | 348 | ||
| 349 | enum class NANDTotalSize : u64 { | ||
| 350 | S29_1GB = 0x747C00000ULL, | ||
| 351 | }; | ||
| 352 | |||
| 353 | enum class NANDUserSize : u64 { | ||
| 354 | S26GB = 0x680000000ULL, | ||
| 355 | }; | ||
| 356 | |||
| 357 | enum class NANDSystemSize : u64 { | ||
| 358 | S2_5GB = 0xA0000000, | ||
| 359 | }; | ||
| 360 | |||
| 361 | enum class SDMCSize : u64 { | ||
| 362 | S1GB = 0x40000000, | ||
| 363 | S2GB = 0x80000000, | ||
| 364 | S4GB = 0x100000000ULL, | ||
| 365 | S8GB = 0x200000000ULL, | ||
| 366 | S16GB = 0x400000000ULL, | ||
| 367 | S32GB = 0x800000000ULL, | ||
| 368 | S64GB = 0x1000000000ULL, | ||
| 369 | S128GB = 0x2000000000ULL, | ||
| 370 | S256GB = 0x4000000000ULL, | ||
| 371 | S1TB = 0x10000000000ULL, | ||
| 372 | }; | ||
| 373 | |||
| 349 | struct Values { | 374 | struct Values { |
| 350 | // System | 375 | // System |
| 351 | bool use_docked_mode; | 376 | bool use_docked_mode; |
| @@ -384,6 +409,10 @@ struct Values { | |||
| 384 | bool use_virtual_sd; | 409 | bool use_virtual_sd; |
| 385 | std::string nand_dir; | 410 | std::string nand_dir; |
| 386 | std::string sdmc_dir; | 411 | std::string sdmc_dir; |
| 412 | NANDTotalSize nand_total_size; | ||
| 413 | NANDSystemSize nand_system_size; | ||
| 414 | NANDUserSize nand_user_size; | ||
| 415 | SDMCSize sdmc_size; | ||
| 387 | 416 | ||
| 388 | // Renderer | 417 | // Renderer |
| 389 | float resolution_factor; | 418 | float resolution_factor; |
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 3f54f54fb..bcd0c0b1b 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp | |||
| @@ -459,6 +459,17 @@ void Config::ReadDataStorageValues() { | |||
| 459 | QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))) | 459 | QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))) |
| 460 | .toString() | 460 | .toString() |
| 461 | .toStdString()); | 461 | .toStdString()); |
| 462 | Settings::values.nand_total_size = static_cast<Settings::NANDTotalSize>( | ||
| 463 | ReadSetting(QStringLiteral("nand_total_size"), static_cast<u64>(Settings::NANDTotalSize::S29_1GB)) | ||
| 464 | .toULongLong()); | ||
| 465 | Settings::values.nand_user_size = static_cast<Settings::NANDUserSize>( | ||
| 466 | ReadSetting(QStringLiteral("nand_user_size"), static_cast<u64>(Settings::NANDUserSize::S26GB)) | ||
| 467 | .toULongLong()); | ||
| 468 | Settings::values.nand_system_size = static_cast<Settings::NANDSystemSize>( | ||
| 469 | ReadSetting(QStringLiteral("nand_system_size"), static_cast<u64>(Settings::NANDSystemSize::S2_5GB)) | ||
| 470 | .toULongLong()); | ||
| 471 | Settings::values.sdmc_size = static_cast<Settings::SDMCSize>( | ||
| 472 | ReadSetting(QStringLiteral("sdmc_size"), static_cast<u64>(Settings::SDMCSize::S16GB)).toULongLong()); | ||
| 462 | 473 | ||
| 463 | qt_config->endGroup(); | 474 | qt_config->endGroup(); |
| 464 | } | 475 | } |
| @@ -875,7 +886,14 @@ void Config::SaveDataStorageValues() { | |||
| 875 | WriteSetting(QStringLiteral("sdmc_directory"), | 886 | WriteSetting(QStringLiteral("sdmc_directory"), |
| 876 | QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir)), | 887 | QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir)), |
| 877 | QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))); | 888 | QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))); |
| 878 | 889 | WriteSetting(QStringLiteral("nand_total_size"), static_cast<u64>(Settings::values.nand_total_size), | |
| 890 | static_cast<u64>(Settings::NANDTotalSize::S29_1GB)); | ||
| 891 | WriteSetting(QStringLiteral("nand_user_size"), static_cast<u64>(Settings::values.nand_user_size), | ||
| 892 | static_cast<u64>(Settings::NANDUserSize::S26GB)); | ||
| 893 | WriteSetting(QStringLiteral("nand_system_size"), static_cast<u64>(Settings::values.nand_system_size), | ||
| 894 | static_cast<u64>(Settings::NANDSystemSize::S2_5GB)); | ||
| 895 | WriteSetting(QStringLiteral("sdmc_size"), static_cast<u64>(Settings::values.sdmc_size), | ||
| 896 | static_cast<u64>(Settings::SDMCSize::S16GB)); | ||
| 879 | qt_config->endGroup(); | 897 | qt_config->endGroup(); |
| 880 | } | 898 | } |
| 881 | 899 | ||
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp index 5cadfd191..60e2b2d1b 100644 --- a/src/yuzu_cmd/config.cpp +++ b/src/yuzu_cmd/config.cpp | |||
| @@ -316,6 +316,15 @@ void Config::ReadValues() { | |||
| 316 | FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir, | 316 | FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir, |
| 317 | sdl2_config->Get("Data Storage", "sdmc_directory", | 317 | sdl2_config->Get("Data Storage", "sdmc_directory", |
| 318 | FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))); | 318 | FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))); |
| 319 | Settings::values.nand_total_size = static_cast<Settings::NANDTotalSize>(sdl2_config->GetInteger( | ||
| 320 | "Data Storage", "nand_total_size", static_cast<long>(Settings::NANDTotalSize::S29_1GB))); | ||
| 321 | Settings::values.nand_user_size = static_cast<Settings::NANDUserSize>(sdl2_config->GetInteger( | ||
| 322 | "Data Storage", "nand_user_size", static_cast<long>(Settings::NANDUserSize::S26GB))); | ||
| 323 | Settings::values.nand_system_size = static_cast<Settings::NANDSystemSize>( | ||
| 324 | sdl2_config->GetInteger("Data Storage", "nand_system_size", | ||
| 325 | static_cast<long>(Settings::NANDSystemSize::S2_5GB))); | ||
| 326 | Settings::values.sdmc_size = static_cast<Settings::SDMCSize>(sdl2_config->GetInteger( | ||
| 327 | "Data Storage", "sdmc_size", static_cast<long>(Settings::SDMCSize::S16GB))); | ||
| 319 | 328 | ||
| 320 | // System | 329 | // System |
| 321 | Settings::values.use_docked_mode = sdl2_config->GetBoolean("System", "use_docked_mode", false); | 330 | Settings::values.use_docked_mode = sdl2_config->GetBoolean("System", "use_docked_mode", false); |