Gamevar: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
Plugwash (talk | contribs)
No edit summary
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
A gamevar is a game variable that can be used to store numerical data which can then be referenced between [[actor]]s.
#REDIRECT [[:Category:Gamevar manipulation]]


The syntax for defining a gamevar is 'gamevar <varname> <value> <flags>'
[[Category:Gamevar manipulation]]
 
[[Category:EDuke commands]]
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 [[actor]]s.  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 [[sprite]]s in the map.  Each [[sprite]] has its own copy of a per-[[actor]] variable in memory.
 
In the next version of eduke it will be possible to use literal values and defined constants wherever a gamevar is required.
 
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.
 
{| {{prettytable}}
!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]]
|}

Latest revision as of 20:33, 2 December 2012