CGFX

From 3dbrew
Revision as of 20:51, 9 February 2014 by Smea (talk | contribs)
Jump to navigation Jump to search

CGFX is a container format used to store graphics resources. It can contain 3D models, textures and animation data.

DICT

DICTs are generic structures used to store values (and associate them to a key ?). A DICT header is 0x1C bytes long.

DICT header :

Offset Length Description
0x0 0x4 Magic "DICT"
0x8 0x4 DICT size
0xC 0x4 Number of entries

DICT entry:

Offset Length Description
0x0 0x4 ?
0x4 0x4 ?
0x8 0x4 Value (often offsets)
0xC 0x4 ?

CMDL Header

Offset Length Description
0x0 0x4 Magic "CMDL"
0x8 0x4 CMDL section size
0x28 0x4 Offset (self-relative) to first DICT
0x2C 0xC Global scale vector (3 floats : x, y, z)
0xB0 0x4 N/2, where N is the number of entries in SOBJ list
0xB4 0x4 Offset (self-relative) to SOBJ list
0xB4+[0xB4] 0x4*N*2 SOBJ list; each word is an offset (self-relative) to an SOBJ structure

CMDL is used to describe a 3D model. A CMDL section refers to outside data; it can not be considered separately from the rest of the CGFX file.