summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Morph2022-03-17 05:15:48 -0400
committerGravatar Morph2022-03-21 23:57:31 -0400
commit1d5f6b173d7a48cd6fb1b8d637b587e586e6acb6 (patch)
treeaa38e1ec1a427a866a11d9d75f42a8929ed49fdf /src
parentapplets/mii: Move MiiEdit applet types into its own file (diff)
downloadyuzu-1d5f6b173d7a48cd6fb1b8d637b587e586e6acb6.tar.gz
yuzu-1d5f6b173d7a48cd6fb1b8d637b587e586e6acb6.tar.xz
yuzu-1d5f6b173d7a48cd6fb1b8d637b587e586e6acb6.zip
applets/mii: Cleanup MiiEdit applet types
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/am/applets/applet_mii_edit_types.h67
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
13namespace Service::AM::Applets { 13namespace Service::AM::Applets {
14 14
15enum 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
16enum class MiiAppletMode : u32 { 21enum 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
25struct MiiCharInfo { 30enum class MiiEditResult : u32 {
26 Service::Mii::MiiInfo mii_data{}; 31 Success,
27 INSERT_PADDING_BYTES(0x28); 32 Cancel,
33};
34
35struct MiiEditCharInfo {
36 Service::Mii::MiiInfo mii_info{};
37};
38static_assert(sizeof(MiiEditCharInfo) == 0x58, "MiiEditCharInfo has incorrect size.");
39
40struct MiiEditAppletInputCommon {
41 MiiEditAppletVersion version{};
42 MiiEditAppletMode applet_mode{};
43};
44static_assert(sizeof(MiiEditAppletInputCommon) == 0x8,
45 "MiiEditAppletInputCommon has incorrect size.");
46
47struct 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};
29static_assert(sizeof(MiiCharInfo) == 0x80, "MiiCharInfo has incorrect size."); 53static_assert(sizeof(MiiEditAppletInputV3) == 0x100 - sizeof(MiiEditAppletInputCommon),
54 "MiiEditAppletInputV3 has incorrect size.");
30 55
31// This is nn::mii::AppletInput 56struct MiiEditAppletInputV4 {
32struct 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};
43static_assert(sizeof(MiiAppletInput) == 0x100, "MiiAppletInput has incorrect size."); 63static_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
46struct MiiAppletOutput { 67struct 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};
51static_assert(sizeof(MiiAppletOutput) == 0x20, "MiiAppletOutput has incorrect size."); 72static_assert(sizeof(MiiEditAppletOutput) == 0x20, "MiiEditAppletOutput has incorrect size.");
52 73
53// This is nn::mii::AppletOutputForCharInfoEditing 74// This is nn::mii::AppletOutputForCharInfoEditing
54struct AppletOutputForCharInfoEditing { 75struct 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};
59static_assert(sizeof(AppletOutputForCharInfoEditing) == 0x80, 80static_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