CINF (File Format): Difference between revisions

>Aruki
(Created page with "The '''CINF format''' is for skeletons. It can only be parsed on Halloween. {{todo|Write article.}}")
 
>Aruki
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The '''CINF format''' is for skeletons. It can only be parsed on Halloween.
The '''CINF format''' is for character layouts (i.e. skeletons/armatures).
Character layouts are associated with models and skins through [[ANCS (File Format)|ANCS]] files.


{{todo|Write article.}}
{{todo|MP3/DKCR differences}}
 
== Format ==
 
{| class="wikitable"
! Type
! Count
! Name
! Notes
|-
| u32
| 1
| '''Bone Count'''
|
|-
| [[#Bone|Bone]]
| ''Bone Count''
| '''Bone Table'''
|
|-
| u32
| 1
| '''Build Order ID Count'''
|
|-
| u32
| ''Build Order ID Count''
| '''Build Order ID Table'''
| The first element of the ID table is the root bone, followed by the rest of the bone IDs in reverse numerical order. This table is enumerated in-order to construct a singly-linked hierarchy of bones using [[wikipedia:Left-child right-sibling binary tree|child/sibling convention]].
|-
| u32
| 1
| '''Bone Name Count'''
|
|-
| [[#Bone Name|Bone Name]]
| ''Bone Name Count''
| '''Bone Name Table'''
|
|-
| colspan=4 {{unknown|End of file}}
|}
 
=== Bone ===
 
{| class="wikitable"
! Offset
! Type
! Count
! Name
! Notes
! MP1
! MP2
|-
| 0x0
| u32
| 1
| '''Bone ID'''
|
| {{check}}
| {{check}}
|-
| 0x4
| u32
| 1
| '''Parent Bone ID'''
|
| {{check}}
| {{check}}
|-
| 0x8
| {{Vector3f}}
| 1
| '''Position'''
| The position is in the skeleton's local space, not in the parent's bone space.
| {{check}}
| {{check}}
|-
| 0x14
| {{Quaternion}}
| 1
| '''Rotation'''
| Initial rotation of the bone, also in the skeleton's local space.
| {{nocheck}}
| {{check}}
|-
| 0x24
| {{Quaternion}}
| 1
| '''Local Rotation'''
| Initial local rotation of the bone in this bone's local space (parent-relative).
| {{nocheck}}
| {{check}}
|-
| 0x34
| u32
| 1
| '''Linked Bone Count'''
|
| {{check}}
| {{check}}
|-
| 0x38
| u32
| ''Linked Bone Count''
| '''Linked Bone ID Array'''
| This array includes both the parent bone ID as well as all children.
| {{check}}
| {{check}}
|-
| colspan=7 {{unknown|End of bone}}
|}
 
=== Bone Name ===
 
{| class="wikitable"
! Type
! Count
! Name
! Notes
|-
| string
| 1
| '''Bone Name'''
|
|-
| u32
| 1
| '''Bone ID'''
|
|-
| colspan=4 {{unknown|End of bone name}}
|}
 
[[Category:File Formats]]
[[Category:Metroid Prime]]
[[Category:Metroid Prime 2: Echoes]]
[[Category:Metroid Prime 3: Corruption]]
[[Category:Donkey Kong Country Returns]]
Anonymous user