mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Use config files to store whether SDMC is enabled or not
Before, it used to use whether the directory actually existed. As a result, .citra-emu/sdmc was never auto-created (something quite confusing to me until I read through the logs).
This commit is contained in:
		
							parent
							
								
									efacd65b26
								
							
						
					
					
						commit
						a59f57d504
					
				
					 7 changed files with 36 additions and 2 deletions
				
			
		|  | @ -55,9 +55,14 @@ void Config::ReadControls() { | |||
|     Settings::values.pad_sright_key = glfw_config->GetInteger("Controls", "pad_sright", GLFW_KEY_RIGHT); | ||||
| } | ||||
| 
 | ||||
| void Config::ReadData() { | ||||
|     Settings::values.use_virtual_sd = glfw_config->GetBoolean("Data Storage", "use_virtual_sd", true); | ||||
| } | ||||
| 
 | ||||
| void Config::Reload() { | ||||
|     LoadINI(glfw_config, glfw_config_loc.c_str(), DefaultINI::glfw_config_file); | ||||
|     ReadControls(); | ||||
|     ReadData(); | ||||
| } | ||||
| 
 | ||||
| Config::~Config() { | ||||
|  |  | |||
|  | @ -16,6 +16,7 @@ class Config { | |||
| 
 | ||||
|     bool LoadINI(INIReader* config, const char* location, const std::string& default_contents="", bool retry=true); | ||||
|     void ReadControls(); | ||||
|     void ReadData(); | ||||
| public: | ||||
|     Config(); | ||||
|     ~Config(); | ||||
|  |  | |||
|  | @ -25,6 +25,9 @@ pad_sup = | |||
| pad_sdown = | ||||
| pad_sleft = | ||||
| pad_sright = | ||||
| 
 | ||||
| [Data Storage] | ||||
| use_virtual_sd = | ||||
| )"; | ||||
| 
 | ||||
| } | ||||
|  |  | |||
|  | @ -64,12 +64,26 @@ void Config::SaveControls() { | |||
|     qt_config->endGroup(); | ||||
| } | ||||
| 
 | ||||
| void Config::ReadData() { | ||||
|     qt_config->beginGroup("Data Storage"); | ||||
|     Settings::values.use_virtual_sd = qt_config->value("use_virtual_sd", true).toBool(); | ||||
|     qt_config->endGroup(); | ||||
| } | ||||
| 
 | ||||
| void Config::SaveData() { | ||||
|     qt_config->beginGroup("Data Storage"); | ||||
|     qt_config->setValue("use_virtual_sd", Settings::values.use_virtual_sd); | ||||
|     qt_config->endGroup(); | ||||
| } | ||||
| 
 | ||||
| void Config::Reload() { | ||||
|     ReadControls(); | ||||
|     ReadData(); | ||||
| } | ||||
| 
 | ||||
| void Config::Save() { | ||||
|     SaveControls(); | ||||
|     SaveData(); | ||||
| } | ||||
| 
 | ||||
| Config::~Config() { | ||||
|  |  | |||
|  | @ -14,6 +14,9 @@ class Config { | |||
| 
 | ||||
|     void ReadControls(); | ||||
|     void SaveControls(); | ||||
| 
 | ||||
|     void ReadData(); | ||||
|     void SaveData(); | ||||
| public: | ||||
|     Config(); | ||||
|     ~Config(); | ||||
|  |  | |||
|  | @ -10,6 +10,7 @@ | |||
| #include "core/file_sys/archive_sdmc.h" | ||||
| #include "core/file_sys/directory_sdmc.h" | ||||
| #include "core/file_sys/file_sdmc.h" | ||||
| #include "core/settings.h" | ||||
| 
 | ||||
| ////////////////////////////////////////////////////////////////////////////////////////////////////
 | ||||
| // FileSys namespace
 | ||||
|  | @ -29,8 +30,13 @@ Archive_SDMC::~Archive_SDMC() { | |||
|  * @return true if it initialized successfully | ||||
|  */ | ||||
| bool Archive_SDMC::Initialize() { | ||||
|     if (!FileUtil::IsDirectory(mount_point)) { | ||||
|         WARN_LOG(FILESYS, "Directory %s not found, disabling SDMC.", mount_point.c_str()); | ||||
|     if (!Settings::values.use_virtual_sd) { | ||||
|         WARN_LOG(FILESYS, "SDMC disabled by config."); | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     if (!FileUtil::CreateFullPath(mount_point)) { | ||||
|         WARN_LOG(FILESYS, "Unable to create SDMC path."); | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -24,6 +24,8 @@ struct Values { | |||
|     int pad_sdown_key; | ||||
|     int pad_sleft_key; | ||||
|     int pad_sright_key; | ||||
| 
 | ||||
|     bool use_virtual_sd; | ||||
| } extern values; | ||||
| 
 | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue