raze-gles/polymer/eduke32/source/lunatic/test/mapstate.con

180 lines
4.1 KiB
Plaintext

// Map state test.
// To warp to a particular map, press the steroids key.
// Volume: player angle / 512, displayed on screen.
// Level: current weapon.
// Clear mapstate: press [QuickKick]
define Q_tmp 400
definequote Q_tmp ====== 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>
define Q_cms 500
definequote Q_cms Cleared mapstate for volume %d level %d
// 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_tmp /*<-*/ 401 /**/ gs
gametext STARTALPHANUM 20 20 Q_tmp 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_QUICKKICK
state calcvolume
qsprintf Q_tmp Q_cms gs currentweapon
userquote Q_tmp
// Calc linear map index.
mulvar gs 64 // MAXLEVELS (XXX: should be exposed via CON)
addvarvar gs currentweapon
clearmapstate gs
endevent
onevent EVENT_ENTERLEVEL
loadmapstate
endevent
onevent EVENT_USEJETPACK
savegamevar numwarpsD
endevent
onevent EVENT_USENIGHTVISION
readgamevar numwarpsD
endevent