Category:Gamevar manipulation: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
mNo edit summary
Updated according to the latest available snapshot
Line 26: Line 26:
|GAMEVAR_FLAG_READONLY||4096||values are read-only (no setvar allowed)||
|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]]
|GAMEVAR_FLAG_INTPTR||8192||plValue is a pointer to an int||[[Constantly updated gamevars]]
|-
|-
|GAMEVAR_FLAG_SYNCCHECK||16384||check event sync when translating||
|GAMEVAR_FLAG_SYNCCHECK||16384||check event sync when translating||
|-
|-
|GAMEVAR_FLAG_PSHORT||32768||plValue is a pointer to a short||
|GAMEVAR_FLAG_SHORTPTR||32768||plValue is a pointer to a short||[[Constantly updated gamevars]]
|-
|-
|GAMEVAR_FLAG_PCHAR||65536||plValue is a pointer to a char||
|GAMEVAR_FLAG_CHARPTR||65536||plValue is a pointer to a char||[[Constantly updated gamevars]]
|-
|GAMEVAR_FLAG_NORESET||131072||var values are not reset when restoring map state||
|}
|}



Revision as of 08:07, 22 August 2008

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.

Name Number Description Page where such variables should be listed
GAMEVAR_FLAG_GLOBAL 0 global variable; this is the default
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_INTPTR 8192 plValue is a pointer to an int Constantly updated gamevars
GAMEVAR_FLAG_SYNCCHECK 16384 check event sync when translating
GAMEVAR_FLAG_SHORTPTR 32768 plValue is a pointer to a short Constantly updated gamevars
GAMEVAR_FLAG_CHARPTR 65536 plValue is a pointer to a char Constantly updated gamevars
GAMEVAR_FLAG_NORESET 131072 var values are not reset when restoring map state

All of the commands in this category are commands that alter the value of one or more gamevars in some way, as opposed to commands which alter sprites, sectors or walls.