EvilEngine/TEXT

Revision as of 02:34, 12 September 2018 by Battlepedia>Igorseabra4 (→‎Tag List (incomplete))

TEXT assets contain text that is used ingame in message boxes and other places.

Format

Offset Type Description
0x00 int Character count
0x04 char[charCount] Text (zero-terminated; the terminator is not included in charCount)
charCount + 0x04 byte[] Padding (0x00 until the data is aligned to 0x04)

Text Formatting

The text can be formatted by introducing tags. The tags are usually in the format:

{variable:value}
{variable=value}
{variable}

They usually either affect the text coming immediately after it, or insert something in the text (such as an image or variable).

Tag List (incomplete)

The tags and variables placed in [brackets] are optional.

Tag Format Variable Type Description
{c=<variable>}
{color=<variable>}
Hex Color (4 bytes, AARRGGBB) Customizes the text color.
{red:<variable>}
Float (range: 0 to 1) Customizes the red component of the text color.
{green=<variable>}
Float (range: 0 to 1) Customizes the green component of the text color.
{blue=<variable>}
Float (range: 0 to 1) Customizes the blue component of the text color.
{reset:c}
{reset:color}
None Resets color to default.
{i:<variable>}
TEXT Asset Name Gets replaced by the text in the specified asset. {i:keyword}, for example, inserts the keyword text (which is an asset in boot.HIP) that doesn't contain actual text but sets the text color to a shade of red.
{tex:<variable1>[;scale=<variable2>;dst=<variable3>;off=<variable4>]}
RWTX Asset Name, Unknown, Vector4 (Unknown), Vector2 (Unknown) Places a texture in the text.
{reset:tex}
None Resets text texture to default.
{n}
None New line character
{page_break}
None Page break character (note: Industrial Park's text editor uses a new line character to represent this)
{signal:<variable>[;need])
Integer Unknown; camera?
{sound:<variable1>[;speaker=<variable2>]}
SNDS Asset Name, VIL Asset Name Defines sound (usually a voice line) to play when this line is reached.
{teleport}
None Teleports the player at this point in the text.
{timer:<variable>}
TIMR Asset Name Gets replaced by the timer's current time.
{wait[:<variable1>];prompt[=<variable2>]}
?