diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/cfg/cfg.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/core/hle/service/cfg/cfg.cpp b/src/core/hle/service/cfg/cfg.cpp index de4af18bd..0c65d6fcc 100644 --- a/src/core/hle/service/cfg/cfg.cpp +++ b/src/core/hle/service/cfg/cfg.cpp | |||
| @@ -318,6 +318,12 @@ ResultCode FormatConfig() { | |||
| 318 | config->data_entries_offset = 0x455C; | 318 | config->data_entries_offset = 0x455C; |
| 319 | 319 | ||
| 320 | // Insert the default blocks | 320 | // Insert the default blocks |
| 321 | u8 zero_buffer[0xC0] = {}; | ||
| 322 | |||
| 323 | // 0x00030001 - Unknown | ||
| 324 | res = CreateConfigInfoBlk(0x00030001, 0x8, 0xE, zero_buffer); | ||
| 325 | if (!res.IsSuccess()) return res; | ||
| 326 | |||
| 321 | res = CreateConfigInfoBlk(0x00050005, sizeof(STEREO_CAMERA_SETTINGS), 0xE, STEREO_CAMERA_SETTINGS.data()); | 327 | res = CreateConfigInfoBlk(0x00050005, sizeof(STEREO_CAMERA_SETTINGS), 0xE, STEREO_CAMERA_SETTINGS.data()); |
| 322 | if (!res.IsSuccess()) return res; | 328 | if (!res.IsSuccess()) return res; |
| 323 | res = CreateConfigInfoBlk(0x00070001, sizeof(SOUND_OUTPUT_MODE), 0xE, &SOUND_OUTPUT_MODE); | 329 | res = CreateConfigInfoBlk(0x00070001, sizeof(SOUND_OUTPUT_MODE), 0xE, &SOUND_OUTPUT_MODE); |
| @@ -330,6 +336,34 @@ ResultCode FormatConfig() { | |||
| 330 | if (!res.IsSuccess()) return res; | 336 | if (!res.IsSuccess()) return res; |
| 331 | res = CreateConfigInfoBlk(0x000B0000, sizeof(COUNTRY_INFO), 0xE, &COUNTRY_INFO); | 337 | res = CreateConfigInfoBlk(0x000B0000, sizeof(COUNTRY_INFO), 0xE, &COUNTRY_INFO); |
| 332 | if (!res.IsSuccess()) return res; | 338 | if (!res.IsSuccess()) return res; |
| 339 | |||
| 340 | char16_t country_name_buffer[16][0x40] = {}; | ||
| 341 | for (size_t i = 0; i < 16; ++i) { | ||
| 342 | auto size = Common::UTF8ToUTF16("Gensokyo").copy(country_name_buffer[i], 0x40); | ||
| 343 | } | ||
| 344 | // 0x000B0001 - Localized names for the profile Country | ||
| 345 | res = CreateConfigInfoBlk(0x000B0001, sizeof(country_name_buffer), 0xE, country_name_buffer); | ||
| 346 | if (!res.IsSuccess()) return res; | ||
| 347 | // 0x000B0002 - Localized names for the profile State/Province | ||
| 348 | res = CreateConfigInfoBlk(0x000B0002, sizeof(country_name_buffer), 0xE, country_name_buffer); | ||
| 349 | if (!res.IsSuccess()) return res; | ||
| 350 | |||
| 351 | // 0x000B0003 - Unknown, related to country/address (zip code?) | ||
| 352 | res = CreateConfigInfoBlk(0x000B0003, 0x4, 0xE, zero_buffer); | ||
| 353 | if (!res.IsSuccess()) return res; | ||
| 354 | |||
| 355 | // 0x000C0000 - Unknown | ||
| 356 | res = CreateConfigInfoBlk(0x000C0000, 0xC0, 0xE, zero_buffer); | ||
| 357 | if (!res.IsSuccess()) return res; | ||
| 358 | |||
| 359 | // 0x000C0001 - Unknown | ||
| 360 | res = CreateConfigInfoBlk(0x000C0001, 0x14, 0xE, zero_buffer); | ||
| 361 | if (!res.IsSuccess()) return res; | ||
| 362 | |||
| 363 | // 0x000D0000 - Accepted EULA version | ||
| 364 | res = CreateConfigInfoBlk(0x000D0000, 0x4, 0xE, zero_buffer); | ||
| 365 | if (!res.IsSuccess()) return res; | ||
| 366 | |||
| 333 | res = CreateConfigInfoBlk(0x000F0004, sizeof(CONSOLE_MODEL), 0x8, &CONSOLE_MODEL); | 367 | res = CreateConfigInfoBlk(0x000F0004, sizeof(CONSOLE_MODEL), 0x8, &CONSOLE_MODEL); |
| 334 | if (!res.IsSuccess()) return res; | 368 | if (!res.IsSuccess()) return res; |
| 335 | 369 | ||