Skip to content

ROOM File Format

Yannik Marchand edited this page Jul 10, 2019 · 16 revisions

DKC:TF > Level File (ROOM)

Type Description
CFormDescriptor Form descriptor

ROOM Form

Type Description
CFormDescriptor Room header (ROOM)
CFormDescriptor
CFormDescriptor
...
CFormDescriptor
Script layers (LAYR)

Room Header Form

Type Description
CChunkDescriptor RMHD chunk (header)
CChunkDescriptor PGRP chunk (performance groups)
CChunkDescriptor LGEN chunk (generated objects)
CFormDescriptor
CFormDescriptor
...
CFormDescriptor
Load unit forms (LUNT)

RMHD Chunk

Type Description
Uint16 Unknown

PRGP Chunk

Type Description
List16<CScriptPerformanceGroup> Performance groups

CScriptPerformanceGroup

Type Description
Uint32 Name length
Char[] Name
CGuid Editor id
Bool Is active
List16<CGuid> Referenced layers

LGEN Chunk

Type Description
Map<CGuid, CGuid> Object map

LUNT Form

Type Description
CChunkDescriptor LUHD chunk (header)
CChunkDescriptor LRES chunk (resource ids)
CChunkDescriptor LLYR chunk (layer ids)

LUHD Chunk

Type Description
String Load unit name
CGuid Load unit id
Uint16 Flags

LRES Chunk

Type Description
List<CObjectId> Resource ids

LLYR Chunk

Type Description
List<CGuid> Layer ids

CScriptLayer

Type Description
CChunkDescriptor LHED chunk (header)
CFormDescriptor GSRP form (generated objects)
CFormDescriptor SRIP form (script components)

LHED Chunk

Type Description
String Script layer name
CGuid Layer id
Uint16 Unknown
List16<CGuid> Load unit ids
CGuid Unknown
Bool Unknown

GSRP Form

These components can be spawned by a GeneratorGOC. This form is filled with GGOB chunks containing the following data:

Type Description
CGuid Object id
List16<CGameObjectComponent> Components

SRIP Form

This form is filled with CGameObjectComponent chunks.

CGameObjectComponent

A CGameObjectComponent is stored as a COMP chunk with the following content:

Type Description
Uint32 Component type hash
CGuid Component id
String Component name
List16<SConnection> Connections
List16<SScriptLink> Script links
... Component data

SConnection

Type Description
CFourCC Connection id 1
CFourCC Connection id 2
CGuid Component id
Uint16 Unknown
Uint8 Unknown
Uint8 Unknown

SScriptLink

Type Description
CFourCC Link id
CGuid Component id
Uint8 Unknown
Clone this wiki locally