mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	Service::CFG: move known block ID to an enum
This commit is contained in:
		
							parent
							
								
									324c8d21a4
								
							
						
					
					
						commit
						457b6413e6
					
				@ -40,6 +40,20 @@ struct SaveFileConfig {
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
static_assert(sizeof(SaveFileConfig) == 0x455C, "SaveFileConfig header must be exactly 0x455C bytes");
 | 
					static_assert(sizeof(SaveFileConfig) == 0x455C, "SaveFileConfig header must be exactly 0x455C bytes");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum ConfigBlockID {
 | 
				
			||||||
 | 
					    StereoCameraSettingsBlockID = 0x00050005,
 | 
				
			||||||
 | 
					    SoundOutputModeBlockID      = 0x00070001,
 | 
				
			||||||
 | 
					    ConsoleUniqueIDBlockID      = 0x00090001,
 | 
				
			||||||
 | 
					    UsernameBlockID             = 0x000A0000,
 | 
				
			||||||
 | 
					    BirthdayBlockID             = 0x000A0001,
 | 
				
			||||||
 | 
					    LanguageBlockID             = 0x000A0002,
 | 
				
			||||||
 | 
					    CountryInfoBlockID          = 0x000B0000,
 | 
				
			||||||
 | 
					    CountryNameBlockID          = 0x000B0001,
 | 
				
			||||||
 | 
					    StateNameBlockID            = 0x000B0002,
 | 
				
			||||||
 | 
					    EULAVersionBlockID          = 0x000D0000,
 | 
				
			||||||
 | 
					    ConsoleModelBlockID         = 0x000F0004,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct UsernameBlock {
 | 
					struct UsernameBlock {
 | 
				
			||||||
    char16_t username[10]; ///< Exactly 20 bytes long, padded with zeros at the end if necessary
 | 
					    char16_t username[10]; ///< Exactly 20 bytes long, padded with zeros at the end if necessary
 | 
				
			||||||
    u32 zero;
 | 
					    u32 zero;
 | 
				
			||||||
@ -372,25 +386,25 @@ ResultCode FormatConfig() {
 | 
				
			|||||||
    res = CreateConfigInfoBlk(0x00030001, 0x8, 0xE, zero_buffer);
 | 
					    res = CreateConfigInfoBlk(0x00030001, 0x8, 0xE, zero_buffer);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x00050005, sizeof(STEREO_CAMERA_SETTINGS), 0xE, STEREO_CAMERA_SETTINGS.data());
 | 
					    res = CreateConfigInfoBlk(StereoCameraSettingsBlockID, sizeof(STEREO_CAMERA_SETTINGS), 0xE, STEREO_CAMERA_SETTINGS.data());
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x00070001, sizeof(SOUND_OUTPUT_MODE), 0xE, &SOUND_OUTPUT_MODE);
 | 
					    res = CreateConfigInfoBlk(SoundOutputModeBlockID, sizeof(SOUND_OUTPUT_MODE), 0xE, &SOUND_OUTPUT_MODE);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x00090001, sizeof(CONSOLE_UNIQUE_ID), 0xE, &CONSOLE_UNIQUE_ID);
 | 
					    res = CreateConfigInfoBlk(ConsoleUniqueIDBlockID, sizeof(CONSOLE_UNIQUE_ID), 0xE, &CONSOLE_UNIQUE_ID);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x000A0000, sizeof(CONSOLE_USERNAME_BLOCK), 0xE, &CONSOLE_USERNAME_BLOCK);
 | 
					    res = CreateConfigInfoBlk(UsernameBlockID, sizeof(CONSOLE_USERNAME_BLOCK), 0xE, &CONSOLE_USERNAME_BLOCK);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x000A0001, sizeof(PROFILE_BIRTHDAY), 0xE, &PROFILE_BIRTHDAY);
 | 
					    res = CreateConfigInfoBlk(BirthdayBlockID, sizeof(PROFILE_BIRTHDAY), 0xE, &PROFILE_BIRTHDAY);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x000A0002, sizeof(CONSOLE_LANGUAGE), 0xE, &CONSOLE_LANGUAGE);
 | 
					    res = CreateConfigInfoBlk(LanguageBlockID, sizeof(CONSOLE_LANGUAGE), 0xE, &CONSOLE_LANGUAGE);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x000B0000, sizeof(COUNTRY_INFO), 0xE, &COUNTRY_INFO);
 | 
					    res = CreateConfigInfoBlk(CountryInfoBlockID, sizeof(COUNTRY_INFO), 0xE, &COUNTRY_INFO);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    u16_le country_name_buffer[16][0x40] = {};
 | 
					    u16_le country_name_buffer[16][0x40] = {};
 | 
				
			||||||
@ -399,10 +413,10 @@ ResultCode FormatConfig() {
 | 
				
			|||||||
        std::copy(region_name.cbegin(), region_name.cend(), country_name_buffer[i]);
 | 
					        std::copy(region_name.cbegin(), region_name.cend(), country_name_buffer[i]);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    // 0x000B0001 - Localized names for the profile Country
 | 
					    // 0x000B0001 - Localized names for the profile Country
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x000B0001, sizeof(country_name_buffer), 0xE, country_name_buffer);
 | 
					    res = CreateConfigInfoBlk(CountryNameBlockID, sizeof(country_name_buffer), 0xE, country_name_buffer);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
    // 0x000B0002 - Localized names for the profile State/Province
 | 
					    // 0x000B0002 - Localized names for the profile State/Province
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x000B0002, sizeof(country_name_buffer), 0xE, country_name_buffer);
 | 
					    res = CreateConfigInfoBlk(StateNameBlockID, sizeof(country_name_buffer), 0xE, country_name_buffer);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // 0x000B0003 - Unknown, related to country/address (zip code?)
 | 
					    // 0x000B0003 - Unknown, related to country/address (zip code?)
 | 
				
			||||||
@ -418,10 +432,10 @@ ResultCode FormatConfig() {
 | 
				
			|||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // 0x000D0000 - Accepted EULA version
 | 
					    // 0x000D0000 - Accepted EULA version
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x000D0000, 0x4, 0xE, zero_buffer);
 | 
					    res = CreateConfigInfoBlk(EULAVersionBlockID, 0x4, 0xE, zero_buffer);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res = CreateConfigInfoBlk(0x000F0004, sizeof(CONSOLE_MODEL), 0xC, &CONSOLE_MODEL);
 | 
					    res = CreateConfigInfoBlk(ConsoleModelBlockID, sizeof(CONSOLE_MODEL), 0xC, &CONSOLE_MODEL);
 | 
				
			||||||
    if (!res.IsSuccess()) return res;
 | 
					    if (!res.IsSuccess()) return res;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // 0x00170000 - Unknown
 | 
					    // 0x00170000 - Unknown
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user