Difference between revisions of "CINF (File Format)"
From Retro Modding Wiki
m ({{research}}) |
|||
Line 1: | Line 1: | ||
The '''CINF format''' is for skeletons. Skeletons are associated with models and skins through [[ANCS (File Format)|ANCS]] files. | The '''CINF format''' is for skeletons. Skeletons are associated with models and skins through [[ANCS (File Format)|ANCS]] files. | ||
− | {{research|1|What is the | + | {{research|1|What is the purpose of the bone ID section?}} |
{{todo|MP2/3/DKCR differences}} | {{todo|MP2/3/DKCR differences}} | ||
== Format == | == Format == | ||
− | The | + | {| class="wikitable" |
+ | ! Type | ||
+ | ! Count | ||
+ | ! Name | ||
+ | ! Notes | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | '''Bone Count''' | ||
+ | | | ||
+ | |- | ||
+ | | [[#Bone|Bone]] | ||
+ | | ''Bone Count'' | ||
+ | | '''Bone Array''' | ||
+ | | | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | '''Bone ID Count''' | ||
+ | | | ||
+ | |- | ||
+ | | u32 | ||
+ | | ''Bone ID Count'' | ||
+ | | '''Bone ID Array''' | ||
+ | | The first element of the ID array is the root bone, followed by the rest of the bone IDs in reverse numerical order. | ||
+ | |- | ||
+ | | u32 | ||
+ | | 1 | ||
+ | | '''Bone Name Count''' | ||
+ | | | ||
+ | |- | ||
+ | | [[#Bone Name|Bone Name]] | ||
+ | | ''Bone Name Count'' | ||
+ | | '''Bone Name Array''' | ||
+ | | | ||
+ | |- | ||
+ | | colspan=4 {{unknown|End of file}} | ||
+ | |} | ||
+ | |||
+ | === Bone === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Offset | ! Offset | ||
! Type | ! Type | ||
− | ! | + | ! Count |
− | ! | + | ! Name |
+ | ! Notes | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| u32 | | u32 | ||
− | | | + | | 1 |
| '''Bone ID''' | | '''Bone ID''' | ||
+ | | | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
| u32 | | u32 | ||
− | | | + | | 1 |
| '''Parent Bone ID''' | | '''Parent Bone ID''' | ||
+ | | | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
− | | float | + | | float |
− | | | + | | 3 |
| '''Position''' | | '''Position''' | ||
+ | | The position is in the skeleton's local space, not in the parent's bone space. | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
| u32 | | u32 | ||
− | | | + | | 1 |
− | | '''Linked | + | | '''Linked Bone Count''' |
+ | | | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| u32 | | u32 | ||
− | | | + | | ''Linked Bone Count'' |
− | | '''Bone ID | + | | '''Linked Bone ID Array''' |
+ | | This array includes both the parent bone ID as well as all children. | ||
|- | |- | ||
− | | | + | | colspan=5 {{unknown|End of bone}} |
− | | | + | |
− | + | ||
|} | |} | ||
− | + | === Bone Name === | |
{| class="wikitable" | {| class="wikitable" | ||
! Type | ! Type | ||
! Count | ! Count | ||
− | ! | + | ! Name |
+ | ! Notes | ||
|- | |- | ||
| string | | string | ||
| 1 | | 1 | ||
− | | '''Bone | + | | '''Bone Name''' |
+ | | | ||
|- | |- | ||
| u32 | | u32 | ||
| 1 | | 1 | ||
| '''Bone ID''' | | '''Bone ID''' | ||
+ | | | ||
+ | |- | ||
+ | | colspan=4 {{unknown|End of bone name}} | ||
|} | |} | ||
Revision as of 06:32, 6 April 2016
The CINF format is for skeletons. Skeletons are associated with models and skins through ANCS files.
![]() |
This file format is almost completely documented What is the purpose of the bone ID section? |
![]() |
To do: MP2/3/DKCR differences |
Format
Type | Count | Name | Notes |
---|---|---|---|
u32 | 1 | Bone Count | |
Bone | Bone Count | Bone Array | |
u32 | 1 | Bone ID Count | |
u32 | Bone ID Count | Bone ID Array | The first element of the ID array is the root bone, followed by the rest of the bone IDs in reverse numerical order. |
u32 | 1 | Bone Name Count | |
Bone Name | Bone Name Count | Bone Name Array | |
End of file |
Bone
Offset | Type | Count | Name | Notes |
---|---|---|---|---|
0x0 | u32 | 1 | Bone ID | |
0x4 | u32 | 1 | Parent Bone ID | |
0x8 | float | 3 | Position | The position is in the skeleton's local space, not in the parent's bone space. |
0x14 | u32 | 1 | Linked Bone Count | |
0x18 | u32 | Linked Bone Count | Linked Bone ID Array | This array includes both the parent bone ID as well as all children. |
End of bone |
Bone Name
Type | Count | Name | Notes |
---|---|---|---|
string | 1 | Bone Name | |
u32 | 1 | Bone ID | |
End of bone name |