Header, Raw Data and TimeChunks are all aligned to 2048 bytes.
Entries in TimeChunks are aligned to 16 bytes?

CSN
Cutscene
TypeBinary
Games usedNight of 100 Frights

Battle for Bikini Bottom
The SpongeBob SquarePants Movie

The Incredibles

Alignment

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
  • 2 = Animation
  • 3 = Camera
  • 4 = MorphTarget (Only present in scooby)
  • 5 = Sound
  • 7 = JDTA (Not present in scooby)
0x04 AssetID AssetID AssetID of entry.
0x08 uint ChunkSize 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/Incredibles only.

Offset Type Variable Description
0x00 xCutsceneData Header
0x10 uint32 Amount of frames.
0x14 FLY (Big-Endian on Gamecube)
JDTA
Offset Type Variable Description
0x00 xCutsceneData Header
0x10 Unknown
MorphTarget
Offset Type Variable Description
0x00 xCutsceneData Header
0x10 Unknown
MPHT