EvilEngine/TEXT
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 placed in [brackets] are optional.
Tag Format | Variable Type | Description |
---|---|---|
{c=<variable>} {color=<variable>} |
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>} |
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>]} |
? |