diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/am/applets/applet_mii_edit_types.h | 67 |
1 files changed, 44 insertions, 23 deletions
diff --git a/src/core/hle/service/am/applets/applet_mii_edit_types.h b/src/core/hle/service/am/applets/applet_mii_edit_types.h index 7b8b35254..70dea0007 100644 --- a/src/core/hle/service/am/applets/applet_mii_edit_types.h +++ b/src/core/hle/service/am/applets/applet_mii_edit_types.h | |||
| @@ -12,8 +12,13 @@ | |||
| 12 | 12 | ||
| 13 | namespace Service::AM::Applets { | 13 | namespace Service::AM::Applets { |
| 14 | 14 | ||
| 15 | enum class MiiEditAppletVersion : s32 { | ||
| 16 | Version3 = 0x3, // 1.0.0 - 10.1.1 | ||
| 17 | Version4 = 0x4, // 10.2.0+ | ||
| 18 | }; | ||
| 19 | |||
| 15 | // This is nn::mii::AppletMode | 20 | // This is nn::mii::AppletMode |
| 16 | enum class MiiAppletMode : u32 { | 21 | enum class MiiEditAppletMode : u32 { |
| 17 | ShowMiiEdit = 0, | 22 | ShowMiiEdit = 0, |
| 18 | AppendMii = 1, | 23 | AppendMii = 1, |
| 19 | AppendMiiImage = 2, | 24 | AppendMiiImage = 2, |
| @@ -22,41 +27,57 @@ enum class MiiAppletMode : u32 { | |||
| 22 | EditMii = 5, | 27 | EditMii = 5, |
| 23 | }; | 28 | }; |
| 24 | 29 | ||
| 25 | struct MiiCharInfo { | 30 | enum class MiiEditResult : u32 { |
| 26 | Service::Mii::MiiInfo mii_data{}; | 31 | Success, |
| 27 | INSERT_PADDING_BYTES(0x28); | 32 | Cancel, |
| 33 | }; | ||
| 34 | |||
| 35 | struct MiiEditCharInfo { | ||
| 36 | Service::Mii::MiiInfo mii_info{}; | ||
| 37 | }; | ||
| 38 | static_assert(sizeof(MiiEditCharInfo) == 0x58, "MiiEditCharInfo has incorrect size."); | ||
| 39 | |||
| 40 | struct MiiEditAppletInputCommon { | ||
| 41 | MiiEditAppletVersion version{}; | ||
| 42 | MiiEditAppletMode applet_mode{}; | ||
| 43 | }; | ||
| 44 | static_assert(sizeof(MiiEditAppletInputCommon) == 0x8, | ||
| 45 | "MiiEditAppletInputCommon has incorrect size."); | ||
| 46 | |||
| 47 | struct MiiEditAppletInputV3 { | ||
| 48 | u32 special_mii_key_code{}; | ||
| 49 | std::array<Common::UUID, 8> valid_uuids{}; | ||
| 50 | Common::UUID used_uuid{}; | ||
| 51 | INSERT_PADDING_BYTES(0x64); | ||
| 28 | }; | 52 | }; |
| 29 | static_assert(sizeof(MiiCharInfo) == 0x80, "MiiCharInfo has incorrect size."); | 53 | static_assert(sizeof(MiiEditAppletInputV3) == 0x100 - sizeof(MiiEditAppletInputCommon), |
| 54 | "MiiEditAppletInputV3 has incorrect size."); | ||
| 30 | 55 | ||
| 31 | // This is nn::mii::AppletInput | 56 | struct MiiEditAppletInputV4 { |
| 32 | struct MiiAppletInput { | ||
| 33 | s32 version{}; | ||
| 34 | MiiAppletMode applet_mode{}; | ||
| 35 | u32 special_mii_key_code{}; | 57 | u32 special_mii_key_code{}; |
| 36 | union { | 58 | MiiEditCharInfo char_info{}; |
| 37 | std::array<Common::UUID, 8> valid_uuid; | 59 | INSERT_PADDING_BYTES(0x28); |
| 38 | MiiCharInfo mii_char_info; | 60 | Common::UUID used_uuid{}; |
| 39 | }; | ||
| 40 | Common::UUID used_uuid; | ||
| 41 | INSERT_PADDING_BYTES(0x64); | 61 | INSERT_PADDING_BYTES(0x64); |
| 42 | }; | 62 | }; |
| 43 | static_assert(sizeof(MiiAppletInput) == 0x100, "MiiAppletInput has incorrect size."); | 63 | static_assert(sizeof(MiiEditAppletInputV4) == 0x100 - sizeof(MiiEditAppletInputCommon), |
| 64 | "MiiEditAppletInputV4 has incorrect size."); | ||
| 44 | 65 | ||
| 45 | // This is nn::mii::AppletOutput | 66 | // This is nn::mii::AppletOutput |
| 46 | struct MiiAppletOutput { | 67 | struct MiiEditAppletOutput { |
| 47 | u32 result{}; | 68 | MiiEditResult result{}; |
| 48 | s32 index{}; | 69 | s32 index{}; |
| 49 | INSERT_PADDING_BYTES(0x18); | 70 | INSERT_PADDING_BYTES(0x18); |
| 50 | }; | 71 | }; |
| 51 | static_assert(sizeof(MiiAppletOutput) == 0x20, "MiiAppletOutput has incorrect size."); | 72 | static_assert(sizeof(MiiEditAppletOutput) == 0x20, "MiiEditAppletOutput has incorrect size."); |
| 52 | 73 | ||
| 53 | // This is nn::mii::AppletOutputForCharInfoEditing | 74 | // This is nn::mii::AppletOutputForCharInfoEditing |
| 54 | struct AppletOutputForCharInfoEditing { | 75 | struct MiiEditAppletOutputForCharInfoEditing { |
| 55 | u32 result{}; | 76 | MiiEditResult result{}; |
| 56 | Service::Mii::MiiInfo mii_data{}; | 77 | MiiEditCharInfo char_info{}; |
| 57 | INSERT_PADDING_BYTES(0x24); | 78 | INSERT_PADDING_BYTES(0x24); |
| 58 | }; | 79 | }; |
| 59 | static_assert(sizeof(AppletOutputForCharInfoEditing) == 0x80, | 80 | static_assert(sizeof(MiiEditAppletOutputForCharInfoEditing) == 0x80, |
| 60 | "AppletOutputForCharInfoEditing has incorrect size."); | 81 | "MiiEditAppletOutputForCharInfoEditing has incorrect size."); |
| 61 | 82 | ||
| 62 | } // namespace Service::AM::Applets | 83 | } // namespace Service::AM::Applets |