Changes

2,624 bytes added ,  01:58, 11 December 2006
Line 25: Line 25:  
#32 bytes Mii settings and info (not yet figured out)
 
#32 bytes Mii settings and info (not yet figured out)
 
#10 wide chars Mii creator (20 bytes)
 
#10 wide chars Mii creator (20 bytes)
 +
 +
Mii data structure (work in progress):
 +
 +
<pre>
 +
typedef unsigned char  u8;
 +
typedef unsigned short u16;
 +
typedef unsigned int  u32;
 +
 +
#define MII_NAME_LENGTH 10
 +
#define MII_CREATOR_NAME_LENGTH 10
 +
 +
#define MII_HEIGHT_MIN 0x00
 +
#define MII_HEIGHT_MAX 0x7F
 +
 +
#define MII_WEIGHT_MIN 0x00
 +
#define MII_WEIGHT_MAX 0x7F
 +
 +
typedef struct
 +
{
 +
// addr: 0x00 & 0x01
 +
u16 invalid:1;
 +
u16 isGirl:1;
 +
u16 month:4;
 +
u16 day:4;
 +
u16 unknown:1; // Part of fav color??
 +
u16 favColor:4; // 0 - 11 (changing to 1111, along with setting the preceeding bit                                 // results in a grey shirt, some values over 11 will crash the Wii
 +
                // when trying to change the favorite color).
 +
u16 unknown:1;
 +
 +
// addr: 0x02 through 0x15
 +
u16 name[MII_NAME_LENGTH];
 +
 +
// addr: 0x16
 +
u8 height;
 +
 +
// addr: 0x17
 +
u8 weight;
 +
 +
// addr: 0x18 - 0x1B
 +
u8 miiID1; // Unique Mii identifier
 +
u8 miiID2;
 +
u8 miiID3;
 +
u8 miiID4;
 +
 +
// addr: 0x1C & 0x1D & 0x1E & 0x1F
 +
u8 systemID0; // Checksum8 of first 3 bytes of mac addr
 +
u8 systemID1; // mac addr 3rd-to-last byte
 +
u8 systemID2; // mac addr 2nd-to-last byte
 +
u8 systemID3; // mac addr last byte
 +
 +
// addr: 0x20
 +
u16 faceshape:3;
 +
u16 skinColor:3;    // 0 - 5
 +
u16 unknown:?;
 +
u16 facialFeature:4; // 0 - 11
 +
 +
// addr: 0x22 & 0x23
 +
u16 unknown:7;      // Hair type falls in here
 +
u16 hairColor:3;
 +
u16 hairPart:1;
 +
 +
// addr: 0x24 & 0x25
 +
u16 unknown:?;      // Eyebrow type falls in here
 +
u16 eyebrowrotation:?;
 +
u16 unknown:?;
 +
 +
// addr: 0x26 & 0x27
 +
u16 eyebrowColor:3;
 +
u16 eyebrowSize:5; // min 0, max 16 (depends on eyebrow type?)
 +
u16 eyebrowVOffset:?;
 +
u16 eyebrowSpacing:?;
 +
 +
// addr: 0x28 & 0x29
 +
u16 unknown:8;        // Eye type falls in here
 +
u16 eyeRotation:3;
 +
u16 unknown:1;
 +
u16 eyeHeight:4;      // 12 == mid, 0 == highest
 +
 +
// addr: 0x2A & 0x2B
 +
u16 eyeColor:3;
 +
u16 unknown:13;
 +
 +
// addr: 0x2C & 0x2D
 +
u16 noseType:4; // 0 - 11
 +
u16 noseSize:4; // 0 - 8
 +
u16 noseHeight:4; // 0 - 9?
 +
u16 unknown:3;
 +
 +
// addr: 0x2E & 2F
 +
u16 lipType:5;
 +
u16 unknown:11;
 +
 +
// addr: 0x30
 +
u8 unknown:1;
 +
u8 glassesType:3;
 +
u8 glassesColor:3;
 +
u8 unknown:1;
 +
 +
// addr: 0x31 & 32
 +
u16 glassesSize:3;
 +
u16 unknown:1;
 +
u16 glassesHeight:4;
 +
u16 mustacheType:2;
 +
u16 beardType:2;
 +
u16 facialHairColor:3;
 +
u16 unknown:2;
 +
 +
// addr: 0x33
 +
u8 mustacheSize:3; // 0 (max) - ? (min)
 +
u8 unknown:1;
 +
u8 mustacheHeight:4; // 0 (high) - 16 (low)
 +
 +
// addr: 0x34 & 0x35
 +
u16 moleOn:1;
 +
u16 moleSize:3; // ? - 8
 +
u16 moleHeight:5; // 0 -
 +
u16 unknown:4;
 +
u16 moleHorizontal:3; // 0 (left) - ? (right)
 +
 +
// addr: 0x36
 +
u16 creatorName[MII_CREATOR_NAME_LENGTH];
 +
} MII_DATA_STRUCT;
 +
</pre>
    
== See Also ==
 
== See Also ==
 
* [[Wiimote]]
 
* [[Wiimote]]
 
* WDML - (Coming Soon) Library and end-user tools for management of Wiimote save data (including Mii data).
 
* WDML - (Coming Soon) Library and end-user tools for management of Wiimote save data (including Mii data).
34

edits