mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-26 13:42:48 -05:00 
			
		
		
		
	settings: Add options for setting storage sizes
This commit is contained in:
		| @@ -346,6 +346,31 @@ struct TouchscreenInput { | |||||||
|     u32 rotation_angle; |     u32 rotation_angle; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | enum class NANDTotalSize : u64 { | ||||||
|  |     S29_1GB = 0x747C00000ULL, | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | enum class NANDUserSize : u64 { | ||||||
|  |     S26GB = 0x680000000ULL, | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | enum class NANDSystemSize : u64 { | ||||||
|  |     S2_5GB = 0xA0000000, | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | enum class SDMCSize : u64 { | ||||||
|  |     S1GB = 0x40000000, | ||||||
|  |     S2GB = 0x80000000, | ||||||
|  |     S4GB = 0x100000000ULL, | ||||||
|  |     S8GB = 0x200000000ULL, | ||||||
|  |     S16GB = 0x400000000ULL, | ||||||
|  |     S32GB = 0x800000000ULL, | ||||||
|  |     S64GB = 0x1000000000ULL, | ||||||
|  |     S128GB = 0x2000000000ULL, | ||||||
|  |     S256GB = 0x4000000000ULL, | ||||||
|  |     S1TB = 0x10000000000ULL, | ||||||
|  | }; | ||||||
|  |  | ||||||
| struct Values { | struct Values { | ||||||
|     // System |     // System | ||||||
|     bool use_docked_mode; |     bool use_docked_mode; | ||||||
| @@ -384,6 +409,10 @@ struct Values { | |||||||
|     bool use_virtual_sd; |     bool use_virtual_sd; | ||||||
|     std::string nand_dir; |     std::string nand_dir; | ||||||
|     std::string sdmc_dir; |     std::string sdmc_dir; | ||||||
|  |     NANDTotalSize nand_total_size; | ||||||
|  |     NANDSystemSize nand_system_size; | ||||||
|  |     NANDUserSize nand_user_size; | ||||||
|  |     SDMCSize sdmc_size; | ||||||
|  |  | ||||||
|     // Renderer |     // Renderer | ||||||
|     float resolution_factor; |     float resolution_factor; | ||||||
|   | |||||||
| @@ -459,6 +459,17 @@ void Config::ReadDataStorageValues() { | |||||||
|                     QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))) |                     QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))) | ||||||
|             .toString() |             .toString() | ||||||
|             .toStdString()); |             .toStdString()); | ||||||
|  |     Settings::values.nand_total_size = static_cast<Settings::NANDTotalSize>( | ||||||
|  |         ReadSetting(QStringLiteral("nand_total_size"), static_cast<u64>(Settings::NANDTotalSize::S29_1GB)) | ||||||
|  |             .toULongLong()); | ||||||
|  |     Settings::values.nand_user_size = static_cast<Settings::NANDUserSize>( | ||||||
|  |         ReadSetting(QStringLiteral("nand_user_size"), static_cast<u64>(Settings::NANDUserSize::S26GB)) | ||||||
|  |             .toULongLong()); | ||||||
|  |     Settings::values.nand_system_size = static_cast<Settings::NANDSystemSize>( | ||||||
|  |         ReadSetting(QStringLiteral("nand_system_size"), static_cast<u64>(Settings::NANDSystemSize::S2_5GB)) | ||||||
|  |             .toULongLong()); | ||||||
|  |     Settings::values.sdmc_size = static_cast<Settings::SDMCSize>( | ||||||
|  |         ReadSetting(QStringLiteral("sdmc_size"), static_cast<u64>(Settings::SDMCSize::S16GB)).toULongLong()); | ||||||
|  |  | ||||||
|     qt_config->endGroup(); |     qt_config->endGroup(); | ||||||
| } | } | ||||||
| @@ -875,7 +886,14 @@ void Config::SaveDataStorageValues() { | |||||||
|     WriteSetting(QStringLiteral("sdmc_directory"), |     WriteSetting(QStringLiteral("sdmc_directory"), | ||||||
|                  QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir)), |                  QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir)), | ||||||
|                  QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))); |                  QString::fromStdString(FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))); | ||||||
|  |     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), | ||||||
|  |                  static_cast<u64>(Settings::NANDUserSize::S26GB)); | ||||||
|  |     WriteSetting(QStringLiteral("nand_system_size"), static_cast<u64>(Settings::values.nand_system_size), | ||||||
|  |                  static_cast<u64>(Settings::NANDSystemSize::S2_5GB)); | ||||||
|  |     WriteSetting(QStringLiteral("sdmc_size"), static_cast<u64>(Settings::values.sdmc_size), | ||||||
|  |                  static_cast<u64>(Settings::SDMCSize::S16GB)); | ||||||
|     qt_config->endGroup(); |     qt_config->endGroup(); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -316,6 +316,15 @@ void Config::ReadValues() { | |||||||
|     FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir, |     FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir, | ||||||
|                           sdl2_config->Get("Data Storage", "sdmc_directory", |                           sdl2_config->Get("Data Storage", "sdmc_directory", | ||||||
|                                            FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))); |                                            FileUtil::GetUserPath(FileUtil::UserPath::SDMCDir))); | ||||||
|  |     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( | ||||||
|  |         "Data Storage", "nand_user_size", static_cast<long>(Settings::NANDUserSize::S26GB))); | ||||||
|  |     Settings::values.nand_system_size = static_cast<Settings::NANDSystemSize>( | ||||||
|  |         sdl2_config->GetInteger("Data Storage", "nand_system_size", | ||||||
|  |                                 static_cast<long>(Settings::NANDSystemSize::S2_5GB))); | ||||||
|  |     Settings::values.sdmc_size = static_cast<Settings::SDMCSize>(sdl2_config->GetInteger( | ||||||
|  |         "Data Storage", "sdmc_size", static_cast<long>(Settings::SDMCSize::S16GB))); | ||||||
|  |  | ||||||
|     // System |     // System | ||||||
|     Settings::values.use_docked_mode = sdl2_config->GetBoolean("System", "use_docked_mode", false); |     Settings::values.use_docked_mode = sdl2_config->GetBoolean("System", "use_docked_mode", false); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Zach Hilman
					Zach Hilman