mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	CFG: Let GetSystemModel report model based on Settings:is_new_3ds (#5104)
* CFG: Let GetSystemModel report model based on Settings:is_new_3ds * Always write ol3ds console model to cfg savegame
This commit is contained in:
		
							parent
							
								
									a7d3489dc9
								
							
						
					
					
						commit
						590099a17a
					
				
					 1 changed files with 17 additions and 3 deletions
				
			
		|  | @ -90,7 +90,8 @@ static_assert(sizeof(ConsoleCountryInfo) == 4, "ConsoleCountryInfo must be exact | |||
| } // namespace
 | ||||
| 
 | ||||
| static const EULAVersion MAX_EULA_VERSION = {0x7F, 0x7F}; | ||||
| static const ConsoleModelInfo CONSOLE_MODEL = {NINTENDO_3DS_XL, {0, 0, 0}}; | ||||
| static const ConsoleModelInfo CONSOLE_MODEL_OLD = {NINTENDO_3DS_XL, {0, 0, 0}}; | ||||
| static const ConsoleModelInfo CONSOLE_MODEL_NEW = {NEW_NINTENDO_3DS_XL, {0, 0, 0}}; | ||||
| static const u8 CONSOLE_LANGUAGE = LANGUAGE_EN; | ||||
| static const UsernameBlock CONSOLE_USERNAME_BLOCK = {u"CITRA", 0, 0}; | ||||
| static const BirthdayBlock PROFILE_BIRTHDAY = {3, 25}; // March 25th, 2014
 | ||||
|  | @ -233,6 +234,18 @@ void Module::Interface::GetSystemModel(Kernel::HLERequestContext& ctx) { | |||
| 
 | ||||
|     // TODO(Subv): Find out the correct error codes
 | ||||
|     rb.Push(cfg->GetConfigInfoBlock(ConsoleModelBlockID, 4, 0x8, reinterpret_cast<u8*>(&data))); | ||||
|     ConsoleModelInfo model; | ||||
|     std::memcpy(&model, &data, 4); | ||||
|     if ((model.model == NINTENDO_3DS || model.model == NINTENDO_3DS_XL || | ||||
|          model.model == NINTENDO_2DS) && | ||||
|         Settings::values.is_new_3ds) { | ||||
|         model.model = NEW_NINTENDO_3DS_XL; | ||||
|     } else if ((model.model == NEW_NINTENDO_3DS || model.model == NEW_NINTENDO_3DS_XL || | ||||
|                 model.model == NEW_NINTENDO_2DS_XL) && | ||||
|                !Settings::values.is_new_3ds) { | ||||
|         model.model = NINTENDO_3DS_XL; | ||||
|     } | ||||
|     std::memcpy(&data, &model, 4); | ||||
|     rb.Push<u8>(data & 0xFF); | ||||
| } | ||||
| 
 | ||||
|  | @ -511,7 +524,8 @@ ResultCode Module::FormatConfig() { | |||
|     if (!res.IsSuccess()) | ||||
|         return res; | ||||
| 
 | ||||
|     res = CreateConfigInfoBlk(ConsoleModelBlockID, sizeof(CONSOLE_MODEL), 0xC, &CONSOLE_MODEL); | ||||
|     res = CreateConfigInfoBlk(ConsoleModelBlockID, sizeof(CONSOLE_MODEL_OLD), 0xC, | ||||
|                               &CONSOLE_MODEL_OLD); | ||||
|     if (!res.IsSuccess()) | ||||
|         return res; | ||||
| 
 | ||||
|  | @ -525,7 +539,7 @@ ResultCode Module::FormatConfig() { | |||
|     if (!res.IsSuccess()) | ||||
|         return res; | ||||
|     return RESULT_SUCCESS; | ||||
| } | ||||
| } // namespace Service::CFG
 | ||||
| 
 | ||||
| ResultCode Module::LoadConfigNANDSaveFile() { | ||||
|     std::string nand_directory = FileUtil::GetUserPath(FileUtil::UserPath::NANDDir); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue