CINF (File Format): Difference between revisions
Jump to navigation
Jump to search
>Embyr 75 m ({{research}}) |
>Aruki No edit summary |
||
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 11: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 |