Configuration Files (.cfg)
Overview
The .cfg files are ASCII text configuration files present in /base and used by id tech 4 based games for setting CVars, mapping player input to keys or buttons (see note below), and executing console commands:
You can use two forward slashes to write comments in .cfg files:
// This is a comment
Usually the following files are available (by reading order of the engine):
DoomConfig.cfg: Stores all the game’s options. It’s auto-generated by the engine so manual editing is not recommended. If you delete this file the engine will revert to adefault.cfgfile located inside one of the .pk4 files.
config.cfg
Stores all the game’s options. It’s auto-generated by the engine so manual editing is not recommended. If you delete this file the engine will revert to a default.cfg file located inside one of the .pk4 files.
- Doom 3
- Prey (2006)
- Quake IV
- Wolfenstein (2009)
- Enemy Territory: Quake Wars
In Doom 3 the .cfg file is DoomConfig.cfg
In Prey the .cfg file is PreyConfig.cfg
In Quake IV the .cfg file is Quake4Config.cfg
In Wolfenstein the .cfg file is wolf.cfg
In Enemy Territory: Quake Wars the main .cfg file is split into two .cfg
etqwdedbinds.cfg for Keyboard Binds.
etqwdedconfig.cfg for Main Game Settings.
default.cfg
The config file to be use when the main config.cfg is missing, if this .cfg is missing the the game wouldn't boot up.
editor.cfg
Optional. Stores all the DoomEdit relevant options. It’s auto-generated by the engine so manual editing is not recommended.
autoexec.cfg
Optional. This file is read last and will override any options set elsewhere. It’s meant for user-manipulation so you can set any CVars here that you’d have to otherwise set in the game or editor shortcuts.
You can also create your own custom configuration files to load custom settings and execute console commands in notepad. You can then load these files by using the exec console command in the shortcut or adding the following line to your autoexec.cfg:
exec myconfig.cfg
Mapping player input is accomplished through the use of the bind console command which accepts console commands, cvars, and impluses as valid input.