CINF (File Format): Difference between revisions
Jump to navigation
Jump to search
no edit summary
>Aruki mNo edit summary |
>Aruki No edit summary |
||
Line 1: | Line 1: | ||
The '''CINF format''' is for skeletons. | The '''CINF format''' is for skeletons. Skeletons are associated with models and skins through [[ANCS (File Format)|ANCS]] files. | ||
{{todo| | {{researchminor|reason=What is the point of the bone ID section?}} | ||
{{todo|MP2/3/DKCR differences}} | |||
== Format == | |||
The file starts with a list of all the bones in the skeleton. The first value is a 32-bit count, then the following structure loops. | |||
{| class="wikitable" | |||
! Offset | |||
! Type | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| u32 | |||
| 4 | |||
| '''Bone ID''' | |||
|- | |||
| 0x4 | |||
| u32 | |||
| 4 | |||
| '''Parent Bone ID''' | |||
|- | |||
| 0x8 | |||
| float[3] | |||
| 0xC | |||
| '''Position''' | |||
|- | |||
| 0x14 | |||
| u32 | |||
| 4 | |||
| '''Linked bone count''' (LC); includes parent + children | |||
|- | |||
| 0x18 | |||
| u32[] | |||
| 4 × LC | |||
| '''Linked bone ID array''' | |||
|} | |||
After this is an array listing every bone ID in the skeleton. The first bone is the root bone, then the rest are listed in reverse numerical order. | |||
{| class="wikitable" | |||
! Type | |||
! Count | |||
! Description | |||
|- | |||
| u32 | |||
| 1 | |||
| '''Bone ID count''' (BC) | |||
|- | |||
| u32 | |||
| BC | |||
| '''Bone ID array''' | |||
|} | |||
Finally, the end of the file sets bone names. After the traditional count value, this short structure loops: | |||
{| class="wikitable" | |||
! Type | |||
! Count | |||
! Description | |||
|- | |||
| string | |||
| 1 | |||
| '''Bone name''' | |||
|- | |||
| u32 | |||
| 1 | |||
| '''Bone ID''' | |||
|} | |||
[[Category:File Formats]] | [[Category:File Formats]] |