The core of Doom 3 is driven by what we lovingly refer to as 'decl files' which is short for
'declaration files'. A decl file contains one or more decl types. These types can be mixed and
matched, but we tend to keep all the decls of a certain type in a certain file. There are 15 decl types
that come in standard Doom 3, but more decls can be added by mod authors.
The standard 15 decls
#define | Keyword | File | Description |
---|
DECL_TABLE | table | .mtr | Material Look-up tables |
DECL_MATERIAL | material | .mtr | Material Definitions |
DECL_SKIN | skin | .skin | Skin Files |
DECL_SOUND | sound | .sndshd | Sound Shaders |
DECL_ENTITYDEF | entityDef | .def | Entity Definitions |
DECL_MODELDEF | model | .def | Model Definitions |
DECL_FX | fx | .fx | Special Effects |
DECL_PARTICLE | particle | .prt | Particles |
DECL_AF | articulatedFigure | .af | Articulated Figures (rag dolls) |
DECL_PDA | pda | .pda | PDAs |
DECL_VIDEO | video | .pda | Video Discs |
DECL_AUDIO | audio | .pda | Audio Logs |
DECL_EMAIL | email | .pda | Emails |
DECL_MODELEXPORT | export | .def | Export sections |
DECL_MAPDEF | mapDef | .def | Map definitions |
Useful decl related console commands
Command | Description |
---|
listDecls | Lists all the decls that have been scanned (but not necessarily loaded) |
reloadDecls | Reloads all the decls that have been changed since the last reload (pass "all" to reload all decls) |
touch | This causes a decl to be loaded, parsed, and cached |
listTables |
List the Decls of a certain type that are parsed and have been referenced this level.
You can pass it 'all' to list all the decls (including unparsed ones) or 'ever' to list
parsed decls that have ever been referenced (not just in this level).
- The first column contains a '*' if the decl is referenced this level, a '.' if it has ever
been referenced, and a blank if it has never been referenced.
- The second column contains a 'D' if the decl is 'defaulted' (referenced but not defined,
so it uses the default definition).
- The third column is the decl index
- The fourth column is either the decl name, or some data specific to the decl type
|
listMaterials |
listSkins |
listSoundShaders |
listEntityDefs |
listFX |
listParticles |
listAF |
listPDAs |
listEmails |
listVideos |
listAudios |
printTable |
Prints a decl (to the console) along with some useful information about it's current state.
You have to pass it the name of a decl to print.
|
printMaterial |
printSkin |
printSoundShader |
printEntityDef |
printFX |
printParticle |
printAF |
printPDA |
printEmail |
printVideo |
printAudio |
|