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}} |