Q3Offline Option Files
Introduction to Q3Offline Option Files
Q3Offline Option Files define all the options that you can set using the Advanced Page or Dialog. You can therefore configure Q3Offline so that it can be used to set any of the variables (also known as cvars) used by Quake III Arena or other games and mods, giving you the ultimate control over your game playing.
Q3Offline is supplied with most of the existing Quake III Arena and Star Trek Voyager options predefined. These options are split across several .q3v files, in the Templates sub directory below the main Q3Offline directory. The [OptionFiles] section in each Q3Offline Template File controls which option files are loaded for that Template (e.g., Quake III Arena, Quake III Team Arena, Star Trek Voyager etc).
For each template, Q3Offline will also automatically load the AutoExec.q3v file from the Templates directory. It is recommended that you put any of your own options (e.g., for mods) into the AutoExec.q3v file. If you put your options into the predefined .q3v files, or make changes to them, these changes will be lost the next time you install Q3Offline, as the installation overwrites the predefined .q3v files with new ones.
When Q3Offline is loading option files, if it loads an option that has already been defined, then the new information for that option will override the existing information. The AutoExec.q3v file is loaded last, after the predefined option files. This means that in your AutoExec.q3v you can override the details for a predefined option.
Format of Q3Offline Option Files
Q3Offline option files use the Windows ini file format. You can edit them using any text editor, such as Notepad.
An option file has a number of sections.
[Groups]
This section defines the groups of options that are supported by this option file.
Each line in this section is the name of a group. For each group there are two sub sections (where GroupName is the name of the group):
For example, if you had two groups of options in a options file, for configuring bots and the mouse, then the top of the options file would look a bit like this:
[Groups]
Bots
Mouse
[Group.Bots]
See below for a description of the settings that appear here.
[Group.Bots.Vars]
See below for a description of the settings that appear here.
[Group.Mouse]
See below for a description of the settings that appear here.
[Group.Mouse.Vars]
See below for a description of the settings that appear here.
The sub sections are described below.
[Group.GroupName]
Each [Group.GroupName] section defines the settings for one particular group of options.
The settings are:
Continuing the above example, this gives us:
[Group.Bots]
LongName=Quake III Arena Bots Variables
[Group.Mouse]
LongName=Quake III Arena Mouse Variables
[Group.GroupName.Vars]
Each [Group.GroupName.Vars] section defines the options within this group.
Each line in this section is the name of an option. For each option there is a sub section in the option file called [Group.GroupName.Var.OptionName], where OptionName is the name of the option. This sub section defines the details for the option.
The following example defines a couple of options for the Bots group.
[Group.Bots.Vars]
bot_enable
bot_rocketjump
[Group.Bots.Var.bot_enable]
See below for a description of the settings that appear here.
[Group.Bots.Var.bot_rocketjump]
See below for a description of the settings that appear here.
Alternatively, if the name of the option includes one or more periods ".", then it is assumed to be the fully qualified name of the section that defines the option. This enables the same option definitions to be used by multiple groups.
For example:
[Groups]
FFA
CTF[Group.FFA.Vars]
Group.Common.Var.timelimit
fraglimit[Group.CTF.Vars]
Group.Common.Var.timelimit
capturelimit[Group.Common.Var.timelimit]
See below for a description of the settings that appear here.[Group.FFA.Var.fraglimit]
See below for a description of the settings that appear here.[Group.CTF.Var.capturelimit]
See below for a description of the settings that appear here.
The above example defines a timelimit option that is common to both the FFA and CTF groups. Therefore, the fully qualified name of the timelimit section is required, otherwise the section would default to either Group.FFA.Var.timelimit or Group.CTF.Var.timelimit.
[Group.GroupName.Var.OptionName]
Each [Group.GroupName.Var.OptionName] section defines the settings for one option.
The settings are:
To associate the text displayed in the combo box with the actual value to be used in the config file, follow the text by =value, where value is the associated value. For example, a combo box for selection the game type could be defined like this:
Type=ComboBox,Free For All=0,Tournament=1,Team Deathmatch=3,Capture The Flag=4
The combo box will contain the values Free For All, Tournament, Team Deathmatch, and Capture The Flag. When Tournament is selected, the actual value used in the config file will be 1.
The Position command is useful because some options are sensitive to where they occur in the cfg file.
If you do not specify Position it defaults to BeforeMap.
Here is a example defining the bot_enable option.
[Group.Bots.Var.bot_enable]
LongName=Enable
Type=Flag
Default=1
Help=Enable/disable adding bots to a game.
Class=A
As the Name setting is not defined, it defaults to the OptionName, which is bot_enable. The option will appear with a check box in the Settings tree control on the Advanced Page, and it will default to being checked. Because the Enable setting is not specified, the option will be initially disabled in the Settings tree control, until the user enables it. Until it is enabled the option will not be written by Q3Offline to the Q3Offline .cfg file.