CTOC

From Heavy Iron Modding

CTOC
Cutscene TableOfContents
TypeBinary
Games usedNight of 100 Frights

Battle for Bikini Bottom
The SpongeBob SquarePants Movie

The Incredibles

Format[edit]

Offset Type Description
0x00 uint Amount of headers

CTOC starts with an int which defines the amount of headers, then each header has the following layout:

struct xCutscene
{
	xCutsceneInfo Info;
	xCutsceneData Data;
	unsigned int TimeChunkOffs;
	unsigned int Visibility;
	xCutsceneBreak BreakList;
};

xCutsceneInfo[edit]

Offset Type Variable Description
0x00 uint Magic "CTSN" or "NSTC"
0x04 uint AssetID
0x08 uint NumData Amount of xCutsceneData entries
0x0C uint NumTime Amount of TimeChunkOffs entries
0x10 uint MaxModel
0x14 uint MaxBufEven
0x18 uint MaxBufOdd
0x1C uint HeaderSize Total size of the main header
0x20 uint VisCount
0x24 uint VisSize
0x28 uint BreakCount Amount of xCutsceneBreak entries
0x2C uint pad
0x30 byte[16] SoundLeft
0x40 byte[16] SoundRight unused

xCutsceneData[edit]

This section defines which MODL are used in the cutscene. If ChunkSize and FileOffset are 0, an external MODL is used within the HOP.

Offset Type Variable Description
0x00 uint DataType
  • 1 = Model
  • 6 = JDTM
0x04 AssetID AssetID
0x08 uint ChunkSize
0x0C uint FileOffset Starting position of the asset's data, relative to the beginning of the file

TimeChunkOffs[edit]

Offset Type Variable Description
0x00 uint TimeChunkOffs Offset to TimeChunks

Visibility[edit]

Unknown

Offset Type Variable Description
0x00 uint Visibility

xCutsceneBreak[edit]

Unknown

Offset Type Variable Description
0x00 float Time
0x04 int Index