FFLiResourceHeader
Appearance
FFLResMiddle.dat and FFLResHigh.dat are Mii resource files that specify both vertex and texture data.
On the Wii U, the location of these at MLC are at: /sys/title/0005001b/10056000/content/FFLRes.... There are also "LG" variants of both, meant to be used for linear gamma. (Differences are unknown, shapes are all unchanged.)
Header format
This sample is in the ImHex Pattern[1] format.
struct ResourcePartsInfo {
u32 dataPos;
u32 dataSize;
u32 compressedSize;
u8 compressLevel;
u8 windowBits;
u8 memoryLevel;
u8 strategy;
};
struct ResourceShapeHeader {
u32 maxSize[12];
ResourcePartsInfo beard[4];
ResourcePartsInfo hatNormal[132];
ResourcePartsInfo hatCap[132];
ResourcePartsInfo faceline[12];
ResourcePartsInfo glass[1];
ResourcePartsInfo mask[12];
ResourcePartsInfo noseline[18];
ResourcePartsInfo nose[18];
ResourcePartsInfo hairNormal[132];
ResourcePartsInfo hairCap[132];
ResourcePartsInfo foreheadNormal[132];
ResourcePartsInfo foreheadCap[132];
};
struct ResourceTextureHeader {
u32 maxSize[11];
ResourcePartsInfo beard[3];
ResourcePartsInfo hat[132];
ResourcePartsInfo eye[62]; // [80] in AFL
ResourcePartsInfo eyebrow[24]; // [28] in AFL
ResourcePartsInfo faceline[12];
ResourcePartsInfo faceMakeup[12];
ResourcePartsInfo glass[9]; // [20] in AFL
ResourcePartsInfo mole[2];
ResourcePartsInfo mouth[37]; // [52] in AFL
ResourcePartsInfo mustache[6];
ResourcePartsInfo noseline[18];
};
struct ResourceHeader {
u32 signature; // "FFRA"
u32 version;
u32 uncompressedBufferSize;
u32 expandedBufferSize;
u32 expanded;
ResourceTextureHeader textureHeader;
ResourceShapeHeader shapeHeader;
u32 unknown[12]; // Always 0x0?
};
Vertex data format
...
Texture data format
...