Add Mii struct

This commit is contained in:
hax0kartik 2019-04-01 12:02:05 +00:00 committed by fincs
parent fd1006b682
commit d4036d97ef
2 changed files with 124 additions and 20 deletions

123
libctru/include/3ds/mii.h Normal file
View File

@ -0,0 +1,123 @@
#pragma once
#include <3ds.h>
typedef struct
{
u8 magic;
struct
{
bool allow_copying : 1;
bool is_private_name : 1;
u8 region_lock : 2;
u8 char_set : 2;
} mii_options;
struct
{
u8 page_index : 4;
u8 slot_index : 4;
} mii_pos;
u8 console_identity;
u64 system_id;
u32 mii_id;
u8 mac[6];
u8 pad[2];
u16 mii_details;
u16 mii_name[10];
u8 height;
u8 width;
struct
{
bool disable_sharing : 1;
u8 shape : 4;
u8 skinColor : 3;
} face_style;
struct
{
u8 wrinkles : 4;
u8 makeup : 4;
} face_details;
u8 hair_style;
struct
{
u8 color : 3;
bool flip : 1;
} hair_details;
struct
{
u32 style : 6;
u32 color : 3;
u32 scale : 4;
u32 yscale : 3;
u32 rotation : 5;
u32 xspacing : 4;
u32 yposition : 5;
} eye_details;
struct
{
u32 style : 6;
u32 color : 3;
u32 scale : 4;
u32 yscale : 3;
u32 rotation : 5;
u32 xspacing : 4;
u32 yposition : 5;
} eyebrow_details;
struct
{
u16 style : 5;
u16 scale : 4;
u16 yposition : 5;
} nose_details;
struct
{
u16 style : 6;
u16 color : 3;
u16 scale : 4;
u16 yscale : 3;
} mouse_details;
struct
{
u16 mouse_yposition : 5;
u16 mustach_style : 3;
u16 pad : 2;
} mustache_details;
struct
{
u16 style : 3;
u16 color : 3;
u16 scale : 4;
u16 ypos : 5;
} beard_details;
struct
{
u16 style : 4;
u16 color : 3;
u16 scale : 4;
u16 ypos : 5;
} glasses_details;
struct
{
bool enable : 1;
u16 scale : 5;
u16 xpos : 5;
u16 ypos : 5;
} mole_details;
u16 author_name[10];
} PACKED MiiData;

View File

@ -4,6 +4,7 @@
*/
#pragma once
#include <3ds.h>
#include <3ds/mii.h>
#define FRIEND_SCREEN_NAME_SIZE 0xB ///< 11-byte UTF-16 screen name
#define FRIEND_COMMENT_SIZE 0x21 ///< 33-byte UTF-16 comment
@ -26,26 +27,6 @@ typedef struct
u32 version;
u32 unk;
} TitleData;
/// Structure containing basic Mii information.
typedef struct
{
u32 mii_id;
u64 system_id;
u32 cdate;
u8 mac[0x6];
u16 padding;
u16 misc1;
u16 mii_name[0xB];
u8 width;
u8 height;
u32 misc2;
u32 unknown1;
u32 misc3;
u32 unknown2;
u8 allow_copy;
u8 unknown3[0x7];
u16 author[0xB];
} MiiData;
/// Friend profile data
typedef struct