Gamevar
A gamevar is a game variable that can be used to store numerical data which can then be referenced between actors.
The syntax for defining a gamevar is 'gamevar <varname> <value> <flags>'
A gamevar's flags determine how it is referenced by the game. A gamevar with flags of 0 is known as a global variable. A global variable exists once in the code, and any time a global variable is set, the new value is seen by all actors. A gamevar with flags of 1 is a per-player variable. Per-player variables exist once per player in the game, with each player having their own copy of the variable. A gamevar with flags of 2 is a per-actor variable. A per-actor variable exists as many times in the code as there are sprites in the map. Each sprite has its own copy of a per-actor variable in memory.
There are other flags but they can only be set when a gamevar is pre-defined by the game not when a gamevar is defined in con. Flags are powers of two to allow combination. The full list is given below.
Name | Number | Description | Page where such variables should be listed |
---|---|---|---|
GAMEVAR_FLAG_PERPLAYER | 1 | per-player variable | |
GAMEVAR_FLAG_PERACTOR | 2 | per-actor variable | |
GAMEVAR_FLAG_USER_MASK | 3 | bitmask controling what flags can be set from con | |
GAMEVAR_FLAG_DEFAULT | 256 | allow override | |
GAMEVAR_FLAG_SECRET | 512 | don't dump... | |
GAMEVAR_FLAG_NODEFAULT | 1024 | don't add to 'default' array. | |
GAMEVAR_FLAG_SYSTEM | 2048 | cannot change mode flags...(only default value) | |
GAMEVAR_FLAG_READONLY | 4096 | values are read-only (no setvar allowed) | |
GAMEVAR_FLAG_PLONG | 8192 | plValue is a pointer to a long | Constantly updated gamevars |