M32 script commands
Mapster32 Scripting M32 script commands M32 script variables
This is a categorized list of every command in Mapster32-script.
Legend:
I: acts on current sprite, S: acts on current sprite by pointer (also valid in "for i drawnsprites")
i: sets current sprite, s: only sets current sprite by pointer
D: differs from CON, X: deprecated/do not use (yet)
var/array/special: must be writable, (something): optional command field
basic commands
- Nullop
- Define
- Include
- Defstate (only for defining)
- Ends
- State (only for calling)
- Onevent
- Endevent
- Gamevar D (different flags)
control flow
struct access (redundant, except tspr)
arrays
- Gamearray
- Setarray (redundant)
- Getarraysize array size
- Resizearray array newsize
- Copy srcarray srcidx dstarray dstidx count
var commands
- Randvar
- Displayrandvar
- Setvar
- Addvar
- Subvar
- Mulvar
- Divvar
- Modvar
- Andvar
- Orvar
- Xorvar
- Shiftvarl
- Shiftvarr
varvar commands
- Randvarvar
- Displayrandvarvar
- Setvarvar
- Addvarvar
- Subvarvar
- Mulvarvar
- Divvarvar
- Modvarvar
- Andvarvar
- Orvarvar
- Xorvarvar
math commands
- Sin resvar var
- Cos resvar var
- Displayrand resvar
- Inv var
- Sqrt invar outvar
- Mulscale factor1 factor2 rshiftamount'
- Dist res sprite1 sprite2
- Ldist res sprite1 sprite2
- Getangle res x y
- Getincangle res ang1 ang2
special commands
valid iteration types (what):
- allsprites i, allsectors, allwalls, selsprites i, selsectors, selwalls, drawnsprites s
- spritesofsector sector | i, loopofwall wall, wallsofsector sector, range num
var if* and while* commands
- Ifvarl
- Ifvarle
- Ifvarg
- Ifvarge
- Ifvare
- Ifvarn
- Ifvarand
- Ifvaror
- Ifvarxor
- Ifvareither
- Ifvarboth
- Whilevarn
- Whilevarl
varvar if* and while* commands
- Ifvarvarl
- Ifvarvarle
- Ifvarvarg
- Ifvarvarge
- Ifvarvare
- Ifvarvarn
- Ifvarvarand
- Ifvarvaror
- Ifvarvarxor
- Ifvarvareither
- Ifvarvarboth
- Whilevarvarn
- Whilevarvarl
other if* commands
- Ifhitkey KEY_???
- Ifholdkey KEY_???
- Ifeitheralt
- Ifeitherctrl
- Ifeithershift
- Ifrnd number
- Ifinside x y sectnum
- Ifangdiffl S
- Ifspritepal S
- Ifactor S
- Ifpdistl S
- Ifpdistg S
- Ifawayfromwall S
- Ifcansee S
- Ifonwater S
- Ifinwater S
- Ifoutside S
BUILD functions
- Insertsprite X i s
- Dupsprite oldsprite | i s
- Deletesprite spritenum
- Lastwall point resultvar
- Updatecursectnum
- Updatesector x y var | I
- Updatesectorz x y z var | I
- Getzrange sectnum ceilzvar ceilhitvar florzvar florhitvar walldist clipmask
- Hitscan x y z sectnum vx vy vz hitsectvar hitwallvar hitspritevar hitxvar hityvar hitzvar cliptype
- Cansee x1 y1 z1 sect1 x2 y2 z2 sect2 rvar
- Canseespr sprite1 sprite2 result
- Neartag x y z sectnum ang neartagsectorvar neartagwallvar neartagspritevar neartaghitdistvar neartagrange tagsearch
- Rotatepoint xpivot ypivot x y daang x2 y2
- Dragpoint wallnum newx newy
- Getceilzofslope sectnum x y resz
- Getflorzofslope sectnum x y resz
- Alignceilslope sectnum x y z
- Alignflorslope sectnum x y z
- Bsetsprite spritenum x y z
- Setfirstwall sectnum wallnum
- Changespritestat spritenum statnum
- Changespritesect spritenum sectnum
- Headspritestat X
- Prevspritestat X
- Nextspritestat X
- Headspritesect X
- Prevspritesect X
- Nextspritesect X
- Sectorofwall wallnum
debugging commands
quote commands
- Definequote quotenum (text...) | (static)
- Redefinequote quotenum (text...) | (dynamic)
- Quote quotenum
- Error quotenum
- Printmessage16 quotenum
- Printmessage256 quotenum x y col backcol fontsize
- Printext256 quotenum x y col backcol fontsize
- Printext16 quotenum x y col backcol fontsize
- Getnumber16 var quotenum max
- Getnumber256 var quotenum max
- Qsprintf destquote srcquote (up to 32 arguments...)
- Qstrcat destquote srcquote
- Qstrcpy destquote srcquote
- Qstrlen resvar quotenum
- Qstrncat destquote srcquote count | X
- Qsubstr dstquote srcquote start length
findnear* (not tested)
- Findnearsprite type maxdist resvar | I
- Findnearspritevar type maxdistvar resvar | I
- Findnearsprite3d type maxdist resvar | I
- Findnearsprite3dvar type maxdistvar resvar | I
- Findnearspritez type maxdist maxzdist resvar | I
- Findnearspritezvar type maxdist maxzdist resvar | I
misc. commands
- Getticks var
- Gettimedate (8 arguments...)
- Setaspect viewingrange yxaspect
current sprite commands
- Seti spritenum | i s
- Sizeat xrepeat yrepeat | S
- Cstat cstat | S
- Cstator bitstoset | S
- Clipdist clipdist | S
- Spritepal palnum | S
- Cactor picnum | S
- Spgetlotag S
- Spgethitag S
- Sectgetlotag S
- Sectgethitag S
- Gettexturefloor S
- Gettextureceiling S
drawing commands
used in EVENT_DRAW2DSCREEN
- Drawline16 x1 y1 x2 y2 col
- Drawline16b x1 y1 x2 y2 col (BUILD units)
- Drawcircle16 x y radius
- Drawcircle16b x y radius (BUILD units)
used elsewhere
- Rotatesprite16
- Rotatesprite
- Setgamepalette gamepal