qstrdim <width returnvar> <height returnvar> <tilenum> <x> <y> <textscale> <block angle> <quote> <orientation> <width of space character> <height of empty line> <letter spacing offset> <line spacing offset> <text bitfield> <x1> <y1> <x2> <y2>
(In case of any line breaks, this function returns the largest width)
screentext <tilenum> <x> <y> <textscale> <block angle> <character angle> <quote> <shade> <pal> <orientation> <alpha> <width of space character> <height of empty line> <letter spacing offset> <line spacing offset> <text bitfield> <x1> <y1> <x2> <y2>
new text bitfield:
- horizontal right-align
- horizontal center-align
- vertical bottom-align
- vertical center-align
- let the game handle space character width internally
- use the width of the tile after '~' for space characters
- let the game handle empty line height internally
- use the height of the tile after '~' for empty lines
- letter spacing offset from the left edge rather than right
- horizontal justify (using <letter spacing offset> for total width)
- line spacing offset from the top edge rather than bottom
- vertical justify (using <line spacing offset> for total width)
- enable automatic off-screen line wrapping (incompatible with: alignment bits, angle not multiple of 512)
- all uppercase
- invert case (combine for lowercase)
- ignore "^##" palette escape sequences
- treat "^##" palette escape sequences as literal text
- iterate through string backwards
- hack bit: numbers always space from the left (the width of the zero tile) minus one, like gametext
- use THREEBYFIVE/DIGITALNUM tile order
- use BIGALPHANUM tile order (grayfont included, using capitalization bits)
- use grayfont (#2966) tile order
enum ScreenTextFlags_t {
TEXT_XRIGHT = 0x00000001,
TEXT_XCENTER = 0x00000002,
TEXT_YBOTTOM = 0x00000004,
TEXT_YCENTER = 0x00000008,
TEXT_INTERNALSPACE = 0x00000010,
TEXT_TILESPACE = 0x00000020,
TEXT_INTERNALLINE = 0x00000040,
TEXT_TILELINE = 0x00000080,
TEXT_XOFFSETZERO = 0x00000100,
TEXT_XJUSTIFY = 0x00000200,
TEXT_YOFFSETZERO = 0x00000400,
TEXT_YJUSTIFY = 0x00000800,
TEXT_LINEWRAP = 0x00001000,
TEXT_UPPERCASE = 0x00002000,
TEXT_INVERTCASE = 0x00004000,
TEXT_IGNOREESCAPE = 0x00008000,
TEXT_LITERALESCAPE = 0x00010000,
TEXT_BACKWARDS = 0x00020000,
TEXT_GAMETEXTNUMHACK = 0x00040000,
TEXT_THREEBYFIVE = 0x00080000,
TEXT_BIGALPHANUM = 0x00100000,
TEXT_GRAYFONT = 0x00200000,
};