mirror of
https://github.com/ZDoom/Raze.git
synced 2024-12-16 15:41:16 +00:00
319 lines
11 KiB
Text
319 lines
11 KiB
Text
|
// ScreenText Test
|
||
|
|
||
|
/*
|
||
|
This is half a test and half a demonstration.
|
||
|
For example, some of the spacing and offset stuff could be replaced with tests of other things, like the backwards bit, line wrapping, and space lengths.
|
||
|
Also, if/when Lunatic adds support for \n characters.
|
||
|
*/
|
||
|
|
||
|
definequote 999
|
||
|
|
||
|
definequote 1000 AbCdEfGhIjKlM
|
||
|
definequote 1001 nOpQrStUvWxYz
|
||
|
|
||
|
definequote 1010 X1234567890-.!?;:'\ / %
|
||
|
|
||
|
definequote 1020 ^2R^8G^1B^7Y
|
||
|
|
||
|
definequote 1337 1337
|
||
|
|
||
|
definequote 2000 Left
|
||
|
definequote 2001 Center
|
||
|
definequote 2002 Right
|
||
|
|
||
|
definequote 2003 Top
|
||
|
definequote 2004 Center
|
||
|
definequote 2005 Bottom
|
||
|
|
||
|
definequote 3000 Spacing
|
||
|
definequote 3001 X-Offset
|
||
|
definequote 3002 %d: UiUiUiUiUi
|
||
|
definequote 3003 Justification
|
||
|
|
||
|
definequote 4000 Normal: aBcDeF
|
||
|
definequote 4001 Upper: aBcDeF
|
||
|
definequote 4002 Lower: aBcDeF
|
||
|
definequote 4003 Inverted: aBcDeF
|
||
|
|
||
|
definequote 5000 Rotate
|
||
|
definequote 5001 Top, Left:
|
||
|
definequote 5002 Center, Center:
|
||
|
definequote 5003 Bottom, Right:
|
||
|
|
||
|
gamevar font STARTALPHANUM 0
|
||
|
gamevar x 0 0
|
||
|
gamevar y 0 0
|
||
|
gamevar z 65536 0
|
||
|
gamevar blockangle 0 0
|
||
|
gamevar charangle 0 0
|
||
|
gamevar q 1000 0
|
||
|
gamevar shade 0 0
|
||
|
gamevar pal 0 0
|
||
|
gamevar o 16 0
|
||
|
gamevar alpha 0 0
|
||
|
gamevar xspace 5 0
|
||
|
gamevar yline 8 0
|
||
|
gamevar xbetween 0 0
|
||
|
gamevar ybetween 0 0
|
||
|
gamevar f 0 0
|
||
|
gamevar x1 0 0
|
||
|
gamevar y1 0 0
|
||
|
gamevar x2 0 0
|
||
|
gamevar y2 0 0
|
||
|
|
||
|
gamevar temp 0 0
|
||
|
|
||
|
state resetbounds
|
||
|
setvarvar x1 windowx1
|
||
|
setvarvar y1 windowy1
|
||
|
setvarvar x2 windowx2
|
||
|
setvarvar y2 windowy2
|
||
|
ends
|
||
|
|
||
|
onevent EVENT_ENTERLEVEL
|
||
|
state resetbounds
|
||
|
endevent
|
||
|
|
||
|
define TEXT_XRIGHT 0x00000001
|
||
|
define TEXT_XCENTER 0x00000002
|
||
|
define TEXT_YBOTTOM 0x00000004
|
||
|
define TEXT_YCENTER 0x00000008
|
||
|
define TEXT_INTERNALSPACE 0x00000010
|
||
|
define TEXT_TILESPACE 0x00000020
|
||
|
define TEXT_INTERNALLINE 0x00000040
|
||
|
define TEXT_TILELINE 0x00000080
|
||
|
define TEXT_XOFFSETZERO 0x00000100
|
||
|
define TEXT_XJUSTIFY 0x00000200
|
||
|
define TEXT_YOFFSETZERO 0x00000400
|
||
|
define TEXT_YJUSTIFY 0x00000800
|
||
|
define TEXT_LINEWRAP 0x00001000
|
||
|
define TEXT_UPPERCASE 0x00002000
|
||
|
define TEXT_INVERTCASE 0x00004000
|
||
|
define TEXT_IGNOREESCAPE 0x00008000
|
||
|
define TEXT_LITERALESCAPE 0x00010000
|
||
|
define TEXT_BACKWARDS 0x00020000
|
||
|
define TEXT_GAMETEXTNUMHACK 0x00040000
|
||
|
define TEXT_DIGITALNUMBER 0x00080000
|
||
|
define TEXT_BIGALPHANUM 0x00100000
|
||
|
define TEXT_GRAYFONT 0x00200000
|
||
|
|
||
|
state increment_line
|
||
|
ifvarg q 0
|
||
|
screentext font x y z blockangle charangle q shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar y 8
|
||
|
ends
|
||
|
|
||
|
state increment_line_test
|
||
|
ifvarg q 0
|
||
|
{
|
||
|
qsprintf 999 q temp
|
||
|
screentext font x y z blockangle charangle 999 shade pal o alpha xspace yline temp ybetween f x1 y1 x2 y2
|
||
|
}
|
||
|
addvar temp 1
|
||
|
addvar y 8
|
||
|
ends
|
||
|
|
||
|
onevent EVENT_DISPLAYREST
|
||
|
state resetbounds
|
||
|
|
||
|
// screentext font x y z blockangle charangle q shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
|
||
|
// spacing
|
||
|
setvar f 0
|
||
|
setvar x 35
|
||
|
setvar y 3
|
||
|
setvar pal 0
|
||
|
|
||
|
setvar temp 0
|
||
|
setvar q 3000
|
||
|
state increment_line_test
|
||
|
|
||
|
setvar temp -3
|
||
|
setvar q 3002
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
|
||
|
// justification
|
||
|
setvar f 0
|
||
|
orvar f TEXT_XCENTER
|
||
|
orvar f TEXT_XJUSTIFY
|
||
|
screentext font 160 y z blockangle charangle 3003 shade 12 o alpha xspace yline 320 ybetween f x1 y1 x2 y2
|
||
|
addvar y 8
|
||
|
setvar f 0
|
||
|
|
||
|
// x-offset
|
||
|
setvar temp 0
|
||
|
setvar q 3001
|
||
|
state increment_line_test
|
||
|
|
||
|
orvar f TEXT_XOFFSETZERO
|
||
|
setvar temp 5
|
||
|
setvar q 3002
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
state increment_line_test
|
||
|
|
||
|
addvar y 4
|
||
|
|
||
|
// case
|
||
|
setvar f 0
|
||
|
setvar q 4000
|
||
|
setvar pal 23
|
||
|
state increment_line
|
||
|
setvar q 4001
|
||
|
orvar f TEXT_UPPERCASE
|
||
|
state increment_line
|
||
|
setvar q 4002
|
||
|
orvar f TEXT_INVERTCASE
|
||
|
state increment_line
|
||
|
setvar q 4003
|
||
|
xorvar f TEXT_UPPERCASE
|
||
|
state increment_line
|
||
|
|
||
|
// divider line
|
||
|
rotatespritea 240 65 32768 512 WINDOWBORDER1 0 2 0 85 x1 y1 x2 y2
|
||
|
|
||
|
setvar pal 12
|
||
|
|
||
|
// x-alignment
|
||
|
setvar f 0
|
||
|
setvar x 220
|
||
|
screentext font x 127 z blockangle charangle 2000 shade pal o alpha xspace yline 0 ybetween f x1 y1 x2 y2
|
||
|
orvar f TEXT_XCENTER
|
||
|
screentext font x 137 z blockangle charangle 2001 shade pal o alpha xspace yline 0 ybetween f x1 y1 x2 y2
|
||
|
xorvar f TEXT_XCENTER
|
||
|
orvar f TEXT_XRIGHT
|
||
|
screentext font x 147 z blockangle charangle 2002 shade pal o alpha xspace yline 0 ybetween f x1 y1 x2 y2
|
||
|
rotatespritea x 132 32768 0 WINDOWBORDER2 127 0 0 85 x1 y1 x2 y2
|
||
|
|
||
|
// y-alignment
|
||
|
setvar f TEXT_UPPERCASE
|
||
|
screentext font 180 162 z blockangle charangle 2003 shade pal o alpha xspace yline 0 ybetween f x1 y1 x2 y2
|
||
|
orvar f TEXT_YCENTER
|
||
|
screentext font 208 162 z blockangle charangle 2004 shade pal o alpha xspace yline 0 ybetween f x1 y1 x2 y2
|
||
|
xorvar f TEXT_YCENTER
|
||
|
orvar f TEXT_YBOTTOM
|
||
|
screentext font 260 162 z blockangle charangle 2005 shade pal o alpha xspace yline 0 ybetween f x1 y1 x2 y2
|
||
|
rotatespritea 240 163 32768 512 WINDOWBORDER1 127 0 0 85 x1 y1 x2 y2
|
||
|
|
||
|
setvar pal 0
|
||
|
|
||
|
// bluefont vs. redfont XOFFSETZERO comparison
|
||
|
setvar f 0
|
||
|
orvar f TEXT_XOFFSETZERO
|
||
|
screentext font 0 175 65536 blockangle charangle 1010 shade pal o alpha xspace yline 13 ybetween f x1 y1 x2 y2
|
||
|
orvar f TEXT_BIGALPHANUM
|
||
|
orvar f TEXT_YBOTTOM
|
||
|
screentext BIGALPHANUM 0 200 z blockangle charangle 1010 shade pal o alpha xspace yline 13 ybetween f x1 y1 x2 y2
|
||
|
|
||
|
// block rotation
|
||
|
setvar y 2
|
||
|
screentext MINIFONT 170 y z blockangle charangle 5001 shade 10 o alpha 2 yline 1 ybetween 0 x1 y1 x2 y2
|
||
|
screentext MINIFONT 237 y z blockangle charangle 5002 shade 14 o alpha 2 yline 1 ybetween TEXT_XCENTER x1 y1 x2 y2
|
||
|
screentext MINIFONT 317 y z blockangle charangle 5003 shade 16 o alpha 2 yline 1 ybetween TEXT_XRIGHT x1 y1 x2 y2
|
||
|
|
||
|
setvar f 0
|
||
|
setvar x 175
|
||
|
setvar y 12
|
||
|
setvar pal 10
|
||
|
setvar blockangle 0
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
|
||
|
setvar blockangle -256
|
||
|
setvar x 245
|
||
|
setvar y 40
|
||
|
setvar f 0
|
||
|
setvar pal 14
|
||
|
orvar f TEXT_XCENTER
|
||
|
orvar f TEXT_YCENTER
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
|
||
|
setvar blockangle -512
|
||
|
setvar x 317
|
||
|
setvar y 19
|
||
|
setvar f 0
|
||
|
setvar pal 16
|
||
|
orvar f TEXT_XRIGHT
|
||
|
orvar f TEXT_YBOTTOM
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar blockangle 128
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
|
||
|
setvar pal 15
|
||
|
|
||
|
// character rotation
|
||
|
setvar blockangle 0
|
||
|
setvar charangle 256
|
||
|
setvar f 0
|
||
|
setvar x 175
|
||
|
setvar y 78
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar charangle 256
|
||
|
addvar y 13
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar charangle 256
|
||
|
addvar y 13
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
addvar charangle 256
|
||
|
addvar y 13
|
||
|
screentext font x y z blockangle charangle 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
setvar charangle 0
|
||
|
|
||
|
setvar x 225
|
||
|
setvar y 78
|
||
|
screentext font x y z 128 -128 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
screentext font x y z 256 -256 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
screentext font x y z 384 -384 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
screentext font x y z 512 -512 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
|
||
|
setvar x 312
|
||
|
setvar y 90
|
||
|
orvar f TEXT_XRIGHT
|
||
|
orvar f TEXT_YCENTER
|
||
|
screentext font x y z -128 128 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
screentext font x y z -256 256 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
screentext font x y z -384 384 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
screentext font x y z -512 512 5000 shade pal o alpha xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
|
||
|
// alpha, sideways, and escape colors
|
||
|
setvar pal 13
|
||
|
setvar blockangle 0
|
||
|
setvar f 0
|
||
|
orvar f TEXT_XCENTER
|
||
|
screentext font 0 100 z 1536 charangle 1020 shade pal o 0 xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
orvar f TEXT_IGNOREESCAPE
|
||
|
screentext font 10 100 z 1536 charangle 1020 shade pal o 85 xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
orvar f TEXT_LITERALESCAPE
|
||
|
screentext font 20 100 z 1536 charangle 1020 shade pal o 170 xspace yline xbetween ybetween f x1 y1 x2 y2
|
||
|
endevent
|