Jump to content

RFLiCharInfo

From Mii Technical Wiki
Revision as of 11:38, 24 September 2025 by Jo (talk | contribs) (Created page with "RFLiCharInfo ... == Data format == Sorry, it's in C. <<TODO KAITAI OR IMHEX>><syntaxhighlight lang="c"> typedef struct RFLiCharInfo { union { struct { u16 type : 3; u16 color : 3; u16 texture : 4; u16 padding : 6; }; u16 rawdata; } faceline; // at 0x0 union { struct { u16 type : 7; u16 color : 3; u16 flip : 1; u16 padding : 5;...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

RFLiCharInfo ...

Data format

[edit | edit source]

Sorry, it's in C. <<TODO KAITAI OR IMHEX>>

typedef struct RFLiCharInfo {
    union {
        struct {
            u16 type : 3;
            u16 color : 3;
            u16 texture : 4;
            u16 padding : 6;
        };
        u16 rawdata;
    } faceline; // at 0x0

    union {
        struct {
            u16 type : 7;
            u16 color : 3;
            u16 flip : 1;
            u16 padding : 5;
        };
        u16 rawdata;
    } hair; // at 0x2

    union {
        struct {
            u32 type : 6;
            u32 color : 3;
            u32 scale : 4;
            u32 rotate : 5;
            u32 x : 4;
            u32 y : 5;
            u32 padding : 5;
        };
        u32 rawdata;
    } eye; // at 0x4

    union {
        struct {
            u32 type : 5;
            u32 color : 3;
            u32 scale : 4;
            u32 rotate : 5;
            u32 x : 4;
            u32 y : 5;
            u32 padding : 6;
        };
        u32 rawdata;
    } eyebrow; // at 0x8

    union {
        struct {
            u16 type : 4;
            u16 scale : 4;
            u16 y : 5;
            u16 padding : 3;
        };
        u16 rawdata;
    } nose; // at 0xC

    union {
        struct {
            u16 type : 5;
            u16 color : 2;
            u16 scale : 4;
            u16 y : 5;
        };
        u16 rawdata;
    } mouth; // at 0xE

    union {
        struct {
            u16 mustache : 2;
            u16 type : 2;
            u16 color : 3;
            u16 scale : 4;
            u16 y : 5;
        };
        u16 rawdata;
    } beard; // at 0x10

    union {
        struct {
            u16 type : 4;
            u16 color : 3;
            u16 scale : 4;
            u16 y : 5;
        };
        u16 rawdata;
    } glass; // at 0x12

    union {
        struct {
            u16 type : 1;
            u16 scale : 4;
            u16 x : 5;
            u16 y : 5;
            u16 padding : 1;
        };
        u16 rawdata;
    } mole; // at 0x14

    struct {
        u8 height;
        u8 build;
    } body; // at 0x16

    struct {
        wchar_t name[11];       // at 0x18
        wchar_t creator[11]; // at 0x2E

        // at 0x44
        u16 sex : 1;
        u16 bmonth : 4;
        u16 bday : 5;
        u16 color : 4;
        u16 favorite : 1;
        u16 localOnly : 1;
    } personal; // at 0x18

    RFLCreateID createID; // at 0x46
} RFLiCharInfo;

In codebases

[edit | edit source]