forked from eden-emu/eden
		
	Mii Selector Applet: update Mii structures
This commit is contained in:
		
							parent
							
								
									ed62c8382f
								
							
						
					
					
						commit
						977f7eee79
					
				
					 2 changed files with 29 additions and 34 deletions
				
			
		|  | @ -66,7 +66,7 @@ ResultCode MiiSelector::StartImpl(const Service::APT::AppletStartupParameter& pa | |||
|     // continue.
 | ||||
|     MiiResult result; | ||||
|     memset(&result, 0, sizeof(result)); | ||||
|     result.result_code = 0; | ||||
|     result.return_code = 0; | ||||
| 
 | ||||
|     // Let the application know that we're closing
 | ||||
|     Service::APT::MessageParameter message; | ||||
|  | @ -82,5 +82,5 @@ ResultCode MiiSelector::StartImpl(const Service::APT::AppletStartupParameter& pa | |||
| } | ||||
| 
 | ||||
| void MiiSelector::Update() {} | ||||
| } | ||||
| } // namespace
 | ||||
| } // namespace Applets
 | ||||
| } // namespace HLE
 | ||||
|  |  | |||
|  | @ -16,51 +16,46 @@ namespace HLE { | |||
| namespace Applets { | ||||
| 
 | ||||
| struct MiiConfig { | ||||
|     u8 unk_000; | ||||
|     u8 unk_001; | ||||
|     u8 unk_002; | ||||
|     u8 unk_003; | ||||
|     u8 unk_004; | ||||
|     u8 cancel_button_flag; | ||||
|     u8 enable_guest_mii_flag; | ||||
|     u8 show_on_top_screen_flag; | ||||
|     INSERT_PADDING_BYTES(5); | ||||
|     u16 title[0x40]; | ||||
|     INSERT_PADDING_BYTES(4); | ||||
|     u8 show_guest_miis_flag; | ||||
|     INSERT_PADDING_BYTES(3); | ||||
|     u16 unk_008; | ||||
|     INSERT_PADDING_BYTES(0x82); | ||||
|     u8 unk_08C; | ||||
|     INSERT_PADDING_BYTES(3); | ||||
|     u16 unk_090; | ||||
|     u32 initially_selected_mii_index; | ||||
|     u8 guest_mii_whitelist[6]; | ||||
|     u8 user_mii_whitelist[0x64]; | ||||
|     INSERT_PADDING_BYTES(2); | ||||
|     u32 unk_094; | ||||
|     u16 unk_098; | ||||
|     u8 unk_09A[0x64]; | ||||
|     u8 unk_0FE; | ||||
|     u8 unk_0FF; | ||||
|     u32 unk_100; | ||||
|     u32 magic_value; | ||||
| }; | ||||
| 
 | ||||
| static_assert(sizeof(MiiConfig) == 0x104, "MiiConfig structure has incorrect size"); | ||||
| #define ASSERT_REG_POSITION(field_name, position)                                                  \ | ||||
|     static_assert(offsetof(MiiConfig, field_name) == position,                                     \ | ||||
|                   "Field " #field_name " has invalid position") | ||||
| ASSERT_REG_POSITION(unk_008, 0x08); | ||||
| ASSERT_REG_POSITION(unk_08C, 0x8C); | ||||
| ASSERT_REG_POSITION(unk_090, 0x90); | ||||
| ASSERT_REG_POSITION(unk_094, 0x94); | ||||
| ASSERT_REG_POSITION(unk_0FE, 0xFE); | ||||
| ASSERT_REG_POSITION(title, 0x08); | ||||
| ASSERT_REG_POSITION(show_guest_miis_flag, 0x8C); | ||||
| ASSERT_REG_POSITION(initially_selected_mii_index, 0x90); | ||||
| ASSERT_REG_POSITION(guest_mii_whitelist, 0x94); | ||||
| #undef ASSERT_REG_POSITION | ||||
| 
 | ||||
| struct MiiResult { | ||||
|     u32 result_code; | ||||
|     u8 unk_04; | ||||
|     INSERT_PADDING_BYTES(7); | ||||
|     u8 unk_0C[0x60]; | ||||
|     u8 unk_6C[0x16]; | ||||
|     u32 return_code; | ||||
|     u32 guest_mii_selected_flag; | ||||
|     u32 selected_guest_mii_index; | ||||
|     // TODO(mailwl): expand to Mii Format structure: https://www.3dbrew.org/wiki/Mii
 | ||||
|     u8 selected_mii_data[0x5C]; | ||||
|     INSERT_PADDING_BYTES(2); | ||||
|     u16 mii_data_checksum; | ||||
|     u16 guest_mii_name[0xC]; | ||||
| }; | ||||
| static_assert(sizeof(MiiResult) == 0x84, "MiiResult structure has incorrect size"); | ||||
| #define ASSERT_REG_POSITION(field_name, position)                                                  \ | ||||
|     static_assert(offsetof(MiiResult, field_name) == position,                                     \ | ||||
|                   "Field " #field_name " has invalid position") | ||||
| ASSERT_REG_POSITION(unk_0C, 0x0C); | ||||
| ASSERT_REG_POSITION(unk_6C, 0x6C); | ||||
| ASSERT_REG_POSITION(selected_mii_data, 0x0C); | ||||
| ASSERT_REG_POSITION(guest_mii_name, 0x6C); | ||||
| #undef ASSERT_REG_POSITION | ||||
| 
 | ||||
| class MiiSelector final : public Applet { | ||||
|  | @ -79,5 +74,5 @@ private: | |||
| 
 | ||||
|     MiiConfig config; | ||||
| }; | ||||
| } | ||||
| } // namespace
 | ||||
| } // namespace Applets
 | ||||
| } // namespace HLE
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 mailwl
						mailwl