raze-gles/polymer/eduke32/source/lunatic/test/mapstate.con
helixhorned d9b94c772d LunaCON: implement NODEFAULT flag (1024) as session variables.
This is in contrast to C-CON, where the implications are not clearly obvious.
See this discussion/monologue:
http://forums.duke4.net/topic/955-eduke32-scripting/page__view__findpost__p__159613

Currently not implemented for session gamevars:
 - per-player, will be made a global one instead
 - per-actor, will be made a plain per-actor one instead

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4112 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-20 12:35:06 +00:00

162 lines
3.7 KiB
Text

// Map state test.
// To warp to a particular map, press the steroids key.
// Volume: player angle / 512, displayed on screen.
// Level: current weapon.
define Q 400
definequote Q ====== TEMP =======
definequote 401 WILL WARP TO VOLUME %d
define SQ 402
definequote SQ <source>
definequote 403 <dest>
definequote 404 <dest>
definequote 405 <dest>
definequote 406 <dest>
definequote 407 <dest>
definequote 408 <dest>
definequote 409 <dest>
definequote 410 <dest>
definequote 411 <dest>
definequote 412 <dest>
definequote 413 <dest>
definequote 414 <dest>
// Test gamevar flags GAMEVAR_NODEFAULT and GAMEVAR_NORESET.
// Global.
define GV_NODEFAULT 1024
define GV_NORESET 131072
define GV_NODEFAULT_NORESET 132096
// Per-player.
define PV_NODEFAULT 1025
define PV_NORESET 131073
define PV_NODEFAULT_NORESET 132097
// Per-actor (not very meaningful, as the APLAYER actor will in general have a
// different sprite for different levels).
define AV_NODEFAULT 1026
define AV_NORESET 131074
define AV_NODEFAULT_NORESET 132098
// global
gamevar numwarps 0 0
gamevar numwarpsD 0 GV_NODEFAULT
gamevar numwarpsR 0 GV_NORESET
gamevar numwarpsDR 0 GV_NODEFAULT_NORESET
// per-player
gamevar Pnumwarps 0 1
gamevar PnumwarpsD 0 PV_NODEFAULT
gamevar PnumwarpsR 0 PV_NORESET
gamevar PnumwarpsDR 0 PV_NODEFAULT_NORESET
// per-actor
gamevar Anumwarps 0 2
gamevar AnumwarpsD 0 AV_NODEFAULT
gamevar AnumwarpsR 0 AV_NORESET
gamevar AnumwarpsDR 0 AV_NODEFAULT_NORESET
gamevar pal 0 0
gamevar dq 0 0
gamevar y 0 0
state calcvolume
getplayer[THISACTOR].ang gs
andvar gs 2047
divvar gs 512
ends
state dispnumwarps
gametextz STARTALPHANUM 20 y dq 0 pal 0 0 0 xdim ydim 32768
addvar dq 1
addvar y 8
ends
onevent EVENT_DISPLAYREST
state calcvolume
qsprintf Q /*<-*/ 401 /**/ gs
gametext STARTALPHANUM 20 20 Q 0 0 0 0 0 xdim ydim
setvar y 40
setvar dq 403
setvar pal 0
// global
redefinequote SQ numwarps (no flags): %d
qsprintf dq SQ numwarps
state dispnumwarps
redefinequote SQ numwarps (NODEFAULT): %d
qsprintf dq SQ numwarpsD
state dispnumwarps
redefinequote SQ numwarps (NORESET): %d
qsprintf dq SQ numwarpsR
state dispnumwarps
redefinequote SQ numwarps (NODEFAULT, NORESET): %d
qsprintf dq SQ numwarpsDR
state dispnumwarps
// per-player
setvar pal 14
redefinequote SQ Pnumwarps (no flags): %d
qsprintf dq SQ Pnumwarps
state dispnumwarps
redefinequote SQ Pnumwarps (NODEFAULT): %d
qsprintf dq SQ PnumwarpsD
state dispnumwarps
redefinequote SQ Pnumwarps (NORESET): %d
qsprintf dq SQ PnumwarpsR
state dispnumwarps
redefinequote SQ Pnumwarps (NODEFAULT, NORESET): %d
qsprintf dq SQ PnumwarpsDR
state dispnumwarps
// per-actor
setvar pal 10
redefinequote SQ Anumwarps (no flags): %d
qsprintf dq SQ Anumwarps
state dispnumwarps
redefinequote SQ Anumwarps (NODEFAULT): %d
qsprintf dq SQ AnumwarpsD
state dispnumwarps
redefinequote SQ Anumwarps (NORESET): %d
qsprintf dq SQ AnumwarpsR
state dispnumwarps
redefinequote SQ Anumwarps (NODEFAULT, NORESET): %d
qsprintf dq SQ AnumwarpsDR
state dispnumwarps
endevent
onevent EVENT_USESTEROIDS
// global
addvar numwarps 1
addvar numwarpsD 1
addvar numwarpsR 1
addvar numwarpsDR 1
// per-player
addvar Pnumwarps 1
addvar PnumwarpsD 1
addvar PnumwarpsR 1
addvar PnumwarpsDR 1
// per-actor
addvar Anumwarps 1
addvar AnumwarpsD 1
addvar AnumwarpsR 1
addvar AnumwarpsDR 1
savemapstate
state calcvolume
startlevel gs currentweapon
endevent
onevent EVENT_ENTERLEVEL
loadmapstate
endevent
onevent EVENT_USEJETPACK
savegamevar numwarpsD
endevent
onevent EVENT_USENIGHTVISION
readgamevar numwarpsD
endevent