2013-02-21 18:53:49 +00:00
|
|
|
// Don't try in C-CON!
|
|
|
|
|
|
|
|
gamevar slen 0 0
|
|
|
|
gamevar n -12345678 0 // a number having length 9 in the decimal representation
|
|
|
|
|
|
|
|
// overlong string at definition (should warn)
|
|
|
|
definequote 400 123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789=123456789-
|
|
|
|
|
2013-02-21 18:53:57 +00:00
|
|
|
// alloc some quotes, test empty quote syntax
|
|
|
|
definequote 401
|
|
|
|
definequote 402
|
|
|
|
definequote 403
|
|
|
|
definequote 404
|
|
|
|
definequote 405
|
|
|
|
definequote 406
|
|
|
|
|
2013-02-21 18:53:49 +00:00
|
|
|
onevent EVENT_ENTERLEVEL
|
|
|
|
redefinequote 114 QWE
|
|
|
|
|
|
|
|
redefinequote 115 012345678|
|
|
|
|
// qstrcat X Y, where X==Y: duplicates the quote
|
|
|
|
qstrcat 115 115
|
|
|
|
userquote 115 // "012345678|012345678|"
|
|
|
|
|
|
|
|
// simple qstrcpy test
|
|
|
|
qstrcpy 116 115
|
|
|
|
userquote 116 // "012345678|012345678|"
|
|
|
|
|
|
|
|
redefinequote 117 %s -- %d -- %s -- %d slen=%d
|
|
|
|
// test:
|
|
|
|
// - same destination quote as the format quote
|
|
|
|
// - multiple conversions
|
|
|
|
qstrlen slen 115 // -> 10
|
|
|
|
qsprintf 117 /*<-*/ 117 /*args:*/ 116 9999 114 5555 slen
|
|
|
|
userquote 117 // "012345678|012345678| -- 9999 -- QWE -- 5555 slen=10"
|
|
|
|
|
|
|
|
redefinequote 117 %s -- %d -- %s -- %d slen=%d
|
|
|
|
// test:
|
2015-02-08 18:48:28 +00:00
|
|
|
// - same destination quote as one of the source quotes under %s conversion
|
2013-02-21 18:53:49 +00:00
|
|
|
qsprintf 116 /*<-*/ 117 /*args:*/ 116 9999 116 5555 slen
|
|
|
|
userquote 116 // "012345678|012345678| -- 9999 -- 012345678|012345678| -- 5555 slen=10"
|
|
|
|
|
|
|
|
// aliased qstrcpy test (a no-op)
|
|
|
|
qstrcpy 115 115
|
|
|
|
userquote 115 // still "012345678|012345678|"
|
|
|
|
|
|
|
|
qstrcat 115 115 // len 40
|
|
|
|
qstrcat 115 115 // len 80
|
|
|
|
qstrcat 115 115
|
|
|
|
// result now: 12 x "012345678|" concantenated with "0123456" (= total length 127 = MAXQUOTELEN-1)
|
|
|
|
qstrcat 115 115 // this one is redundant, but must not overflow the quote buffer
|
|
|
|
userquote 115
|
|
|
|
|
2014-12-05 23:12:33 +00:00
|
|
|
////////// qstrncat test
|
|
|
|
redefinequote 300 012345678|
|
|
|
|
qstrncat 300 300 2
|
|
|
|
userquote 300 // "012345678|01"
|
|
|
|
//////////
|
|
|
|
|
2013-02-21 18:53:49 +00:00
|
|
|
redefinequote 117 X%s
|
|
|
|
qsprintf 117 /*<-*/ 117 /*args:*/ 115
|
|
|
|
userquote 117 // result: "X" .. 12 x "012345678|" .. "012345" (= total length 127 = MAXQUOTELEN-1)
|
|
|
|
|
2013-03-15 16:56:11 +00:00
|
|
|
// 32 %d (or %ld) conversions
|
2013-02-21 18:53:49 +00:00
|
|
|
redefinequote 117 %ld|%d|%ld|%d|%ld|%ld|%d|%ld|%d|%ld/%ld|%d|%ld|%d|%ld|%ld|%d|%ld|%d|%ld/%ld|%d|%ld|%d|%ld|%ld|%d|%ld|%d|%ld/%d/%d
|
|
|
|
// string shorter than MAXQUOTELEN-1:
|
|
|
|
qsprintf 116 /*<-*/ 117 /*args:*/ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
|
|
|
// result: "0|1|2|3|4|5|6|7|8|9/0|1|2|3|4|5|6|7|8|9/0|1|2|3|4|5|6|7|8|9/0/1"
|
|
|
|
userquote 116
|
|
|
|
|
|
|
|
// string longer than MAXQUOTELEN-1:
|
|
|
|
qsprintf 116 /*<-*/ 117 /*args:*/ n n n n n n n n n n /**/ n n n n n n n n n n /**/ n n
|
|
|
|
userquote 116
|
|
|
|
// result: 10 x "-12345678" .. "/-12345678|-12345678|-123456" (= total length 127 = MAXQUOTELEN-1)
|
|
|
|
|
|
|
|
// overlong string at redefinition
|
|
|
|
redefinequote 117 123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789=123456789-
|
|
|
|
userquote 117 // should end in "=1234567" (= total length 127 = MAXQUOTELEN-1)
|
|
|
|
userquote 400 // same thing
|
2013-02-21 18:53:57 +00:00
|
|
|
|
|
|
|
// test passing empty quote
|
|
|
|
userquote 401
|
|
|
|
|
|
|
|
// qgetsysstr test
|
|
|
|
qgetsysstr 401 STR_MAPNAME
|
|
|
|
qgetsysstr 402 STR_MAPFILENAME
|
2014-12-05 23:12:33 +00:00
|
|
|
// qgetsysstr 403 STR_PLAYERNAME
|
2013-02-21 18:53:57 +00:00
|
|
|
qgetsysstr 404 STR_VERSION
|
|
|
|
qgetsysstr 405 STR_GAMETYPE
|
|
|
|
qgetsysstr 406 STR_VOLUMENAME
|
|
|
|
|
|
|
|
redefinequote 400 %s | %s | %s | %s | %s | %s
|
|
|
|
qsprintf 400 /*<-*/ 400 /*args:*/ 401 402 403 404 405 406
|
|
|
|
userquote 400
|
2013-02-21 18:53:49 +00:00
|
|
|
endevent
|
2013-03-15 16:56:11 +00:00
|
|
|
|
2013-06-07 14:26:34 +00:00
|
|
|
// Test of 'getpname' command.
|
|
|
|
onevent EVENT_JUMP
|
|
|
|
getpname 400 THISACTOR
|
|
|
|
userquote 400
|
|
|
|
endevent
|
|
|
|
|
|
|
|
|
2013-03-15 16:56:11 +00:00
|
|
|
// Following code by Hendricks266, from
|
|
|
|
// http://forums.duke4.net/topic/1382-duke-64-mod-thread/page__view__findpost__p__150497
|
|
|
|
gamevar temp 0 0
|
|
|
|
gamevar x 0 0
|
|
|
|
|
|
|
|
definequote 666 This quote sucks
|
|
|
|
|
|
|
|
onevent EVENT_DISPLAYREST
|
|
|
|
qstrlen temp 666
|
|
|
|
setvarvar x tilesizx[STARTALPHANUM] // rough approximation
|
|
|
|
mulvarvar x temp
|
|
|
|
divvar x 2
|
|
|
|
addvar x 160 // put your centered position here
|
|
|
|
gametext STARTALPHANUM x 30 666 0 0 16 0 0 xdim ydim
|
|
|
|
endevent
|
|
|
|
|
|
|
|
//////////
|