//unfortunately, have to wrap the docs in a C comment for doxygen // vim:tw=74:formatoptions-=l /** \page dirconf Directory Configuration QuakeForge allows the structure of the game data directory tree to be specified at run time. The default configuration is given below, but can be overridden by setting the \c fs_dirconf Cvar to point to a configuration file (eg, "~/.quakeforge/gamedir.conf") \verbatim QF = { Path = "QF"; }; Quake = { Inherit = QF; Path = "id1"; GameCode = "progs.dat"; HudType = "id"; }; QuakeWorld = { Inherit = (Quake); Path = "qw"; SkinPath = "${path}/skins"; GameCode = "qwprogs.dat"; HudType = "id"; }; "Hipnotic" = { Inherit = (Quake); Path = "hipnotic"; HudType = "hipnotic"; }; "Rogue" = { Inherit = (Quake); Path = "rogue"; HudType = "rogue"; }; "qw:qw" = { Inherit = (QuakeWorld); }; "qw:*" = { Inherit = (QuakeWorld); Path = "$gamedir"; }; "nq:*" = { Inherit = (Quake); Path = "$gamedir"; }; "hipnotic:*" = { Inherit = (Hipnotic); Path = "$gamedir"; }; "rogue:*" = { Inherit = (Rogue); Path = "$gamedir"; }; "abyss" = { Inherit = (Quake); Path = "abyss"; }; "abyss:*" = { Inherit = (abyss); Path = "$gamedir"; }; \endverbatim The directory config is a collection of tags with collections of attributes. Normally, the tags will be in the form of either \"[name]\" or \"[name]:*\". The first form is usually used for allowing inheritance (via the \c Inherit attribute) Supported attributes are:
Path
The relative path of the mod directory.
GameCode
The name of the mod progs file. This is relative to the mod directory
HudType
The name of the hud style. Currently, "id", "hipnotic" and "rogue" are supported. Has no effect in quakeworld.
SkinPath
Directory to which downloaded skins will be saved. This is relative to the QuakeForge data directory, and thus the default configuration uses \${path}. This attribute is ignored by nq clients and servers.
SoundPath
Where to look for sounds. Defaults to \${path}/sound
ModelPath
Where to look for models. Defaults to \${path}/progs
MapPath
Where to look for maps. Defaults to \${path}/maps.
ShotsPath
Where to write screenshots. Defaults to QF.
Attribute allow variable substitution. Variables can take the form of either \$NAME or \${NAME}, where the latter is useful when the end of \c NAME is ambiguous (eg, \${NAME}STUFF vs \$NAME/STUFF). Supported vars are:
gamedir
This is the current mod directory as specified by either -game [modname] on the command line (nq) or the gamedir [modname] console command.
path
This is the first directory in the \c Path attribute. If the current tag does not set the \c Path attribute, this variable will be undefined.
\$
The way to get \$ into an attribute is by using \$\$
*/