EvilEngine/CSN: Difference between revisions
Content added Content deleted
(Created page with "<onlyinclude> {{#vardefine:typeid|CSN}}<nowiki/> {{#vardefine:name|Cutscene}}<nowiki/> {{#vardefine:type|Binary}}<nowiki/> {{#vardefine:basetype|}}<nowiki/> {{#vardefine:g...") |
EnergyDrink (talk | contribs) No edit summary |
||
Line 4: | Line 4: | ||
{{#vardefine:type|[[Binary]]}}<nowiki/> |
{{#vardefine:type|[[Binary]]}}<nowiki/> |
||
{{#vardefine:basetype|}}<nowiki/> |
{{#vardefine:basetype|}}<nowiki/> |
||
{{#vardefine:games|BFBB TSSM Incredibles}}<nowiki/> |
{{#vardefine:games|Scooby BFBB TSSM Incredibles}}<nowiki/> |
||
{{#vardefine:sourcecode|}}<nowiki/> |
{{#vardefine:sourcecode|}}<nowiki/> |
||
{{#vardefine:image|}}<nowiki/> |
{{#vardefine:image|}}<nowiki/> |
||
</onlyinclude> |
</onlyinclude> |
||
{{AutoAssetInfobox}} |
{{AutoAssetInfobox}} |
||
==Format== |
|||
The asset data starts with a [[CTOC|main header]], which is also present in the CTOC asset. |
|||
===Raw Data=== |
|||
This section contains all [[MODL]] and JDTM assets. Its size and offset are defined in the [[CTOC|main header]]. |
|||
===TimeChunk=== |
|||
Every timechunk has a 0x10 byte header: |
|||
{| class="wikitable" |
|||
|- |
|||
! Offset !! Type !! Variable !! Description |
|||
|- |
|||
| 0x00 || float || '''StartTime''' || |
|||
|- |
|||
| 0x04 || float || '''EndTime''' || |
|||
|- |
|||
| 0x08 || uint || '''NumData''' || Number of entries |
|||
|- |
|||
| 0x0C || uint || '''ChunkIndex''' || TimeChunk index (starts with 0) |
|||
|} |
|||
The entries have the following structure: |
|||
=====xCutsceneData===== |
|||
{| class="wikitable" |
|||
|- |
|||
! Offset !! Type !! Variable !! Description |
|||
|- |
|||
| 0x00 || uint || '''DataType''' || |
|||
* 2 = Animation |
|||
* 3 = Camera |
|||
* 4 = MorphTarget '''(Only present in scooby)''' |
|||
* 5 = Sound |
|||
* 7 = JDTA '''(Not present in scooby)''' |
|||
|- |
|||
| 0x04 || [[AssetID]] || '''AssetID''' || |
|||
|- |
|||
| 0x08 || uint || '''ChunkSize''' || Total size of data, relative to end of this header |
|||
|- |
|||
| 0x0C || uint || '''FileOffset''' || Starting position of data, relative to end of this header |
|||
|} |
|||
=====Sound===== |
|||
{| class="wikitable" |
|||
|- |
|||
! Offset !! Type !! Variable !! Description |
|||
|- |
|||
! 0x00 || colspan="3" | [[#xCutsceneData|xCutsceneData Header]] |
|||
|- |
|||
| 0x10 || colspan="3" style="text-align:center" | [[SNDS]] (Scooby/BFBB) |
|||
|} |
|||
=====Animation===== |
|||
{| class="wikitable" |
|||
|- |
|||
! Offset !! Type !! Variable !! Description |
|||
|- |
|||
! 0x00 || colspan="3" | [[#xCutsceneData|xCutsceneData Header]] |
|||
|- |
|||
| 0x10 || uint32 || '''RootIndex''' || |
|||
|- |
|||
| 0x14 || float[3] || '''Translate''' || Starting position |
|||
|- |
|||
| 0x20 || colspan="3" style="text-align:center" | [[ANIM]] |
|||
|} |
|||
=====Camera===== |
|||
Camera is different in Night of 100 Frights. |
|||
This is BFBB/TSSM only. |
|||
{| class="wikitable" |
|||
|- |
|||
! Offset !! Type !! Variable !! Description |
|||
|- |
|||
! 0x00 || colspan="3" | [[#xCutsceneData|xCutsceneData Header]] |
|||
|- |
|||
| 0x10 || uint32 || colspan="2" | Amount of cameras/frames |
|||
|- |
|||
| 0x14 || colspan="3" style="text-align:center" | [[FLY]] in big-endian |
|||
|} |
|||
=====JDTA===== |
|||
{| class="wikitable" |
|||
|- |
|||
! Offset !! Type !! Variable !! Description |
|||
|- |
|||
! 0x00 || colspan="3" | [[#xCutsceneData|xCutsceneData Header]] |
|||
|- |
|||
| 0x10 || colspan="3" | Unknown |
|||
|} |
|||
=====MorphTarget===== |
|||
Only present in Night of 100 Frights. |
|||
{| class="wikitable" |
|||
|- |
|||
! Offset !! Type !! Variable !! Description |
|||
|- |
|||
! 0x00 || colspan="3" | [[#xCutsceneData|xCutsceneData Header]] |
|||
|- |
|||
| 0x10 || colspan="3" | Unknown |
|||
|- |
|||
| colspan="4" style="text-align:center" | [[MPHT]] |
|||
|} |
|||
{{Assets}} |
{{Assets}} |
Revision as of 23:24, 27 June 2022
CSN | |
---|---|
Cutscene | |
Type | Binary |
Games used | Night of 100 Frights Battle for Bikini Bottom |
Format
The asset data starts with a main header, which is also present in the CTOC asset.
Raw Data
This section contains all MODL and JDTM assets. Its size and offset are defined in the main header.
TimeChunk
Every timechunk has a 0x10 byte header:
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | float | StartTime | |
0x04 | float | EndTime | |
0x08 | uint | NumData | Number of entries |
0x0C | uint | ChunkIndex | TimeChunk index (starts with 0) |
The entries have the following structure:
xCutsceneData
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | uint | DataType |
|
0x04 | AssetID | AssetID | |
0x08 | uint | ChunkSize | Total size of data, relative to end of this header |
0x0C | uint | FileOffset | Starting position of data, relative to end of this header |
Sound
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | xCutsceneData Header | ||
0x10 | SNDS (Scooby/BFBB) |
Animation
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | xCutsceneData Header | ||
0x10 | uint32 | RootIndex | |
0x14 | float[3] | Translate | Starting position |
0x20 | ANIM |
Camera
Camera is different in Night of 100 Frights. This is BFBB/TSSM only.
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | xCutsceneData Header | ||
0x10 | uint32 | Amount of cameras/frames | |
0x14 | FLY in big-endian |
JDTA
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | xCutsceneData Header | ||
0x10 | Unknown |
MorphTarget
Only present in Night of 100 Frights.
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | xCutsceneData Header | ||
0x10 | Unknown | ||
MPHT |