EvilEngine/TEXT

From Heavy Iron Modding

TEXT
Text
TypeBinary
Games usedNight of 100 Frights

Battle for Bikini Bottom
The SpongeBob SquarePants Movie
The Incredibles
Rise of the Underminer

Ratatouille Prototype
Source codexTextAsset.h

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>=<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. Vectors are represented by comma-separated values.

Tag Format Value Description
{~:<value>}
{reset:<value>}
Tag name Resets a previously changed tag to default. Possible tags:
  • auto-wait
  • color, c
  • tex
{color=<value>}
{c=<value>}
Hex Color (4 bytes, AARRGGBB) Customizes the text color.
{red:<value>}
{r=<value>}
Float (range: 0 to 1) Customizes the red component of the text color.
{green=<value>}
{g=<value>}
Float (range: 0 to 1) Customizes the green component of the text color.
{blue=<value>}
{b=<value>}
Float (range: 0 to 1) Customizes the blue component of the text color.
{alpha=<value>}
{a=<value}
Float (range: 0 to 1) Customizes the alpha component of the text color.
{auto_wait=off}
None ?
{font=<value>}
{f=<value>}
Integer Changes the font used.
{height=<value>}
{h=<value>}
Float ?
{insert:<value>}
{i:<value>}
TEXT Asset Name Inserts text in the specified asset. {i:keyword}, for example, inserts the keyword text (which is an asset in boot.HIP).
{tex:<value1>[;scale=<value2>;dst=<value3>;off=<value4>]}
RWTX Asset Name; Unknown; Vector4 (Unknown); Vector2 (Unknown) Places a texture in the text (such as an image of a button).
{nbsp}
None Inserts the non-breaking space character
{newline}
{n}
None Inserts new line character
{page_break}
{pb}
None Inserts page break character
{prompt}
None ?
{pulse=<value1>;x=<value2>;y=<value3>}
Vector2, Vector3, Vector3 ?
{racetimer:<value>}
DYNA Asset Name (game_object:RaceTimer) Specifies the countdown timer DYNA (e.g. Floating Block, Driving and Sliding Time Challenges)
{signal:<value>[;need])
Integer Sends one of the Signal events to the textbox using this text
{sound:<value1>[;speaker=<value2>]}
SNDS Asset Name; VIL/DYNA Asset Name Defines sound (usually a voice line) to play when this line is reached.
{salpha:<value>}
{sa=<value>}
Float (range: 0 to 1) Customizes the alpha component of the text's shadow.
{sred:<value>}
{sr=<value>}
Float (range: 0 to 1) Customizes the red component of the text's shadow color.
{sgreen:<value>}
{sg=<value>}
Float (range: 0 to 1) Customizes the green component of the text's shadow color.
{sblue:<value>}
{sb=<value>}
Float (range: 0 to 1) Customizes the blue component of the text's shadow color.
{teleport}
None Teleports the player at this point in the text.
{turn on <value>}
? ?
{timer:<value>}
TIMR Asset Name Inserts the timer's current time.
{counter:<value>}
CNTR Asset name Inserts the counter's current count.
{var:<value>}
Variable Inserts one of the following possible variables:
  • ActivePad
  • BadCard
  • BadCardAvailable
  • BadCardNeeded
  • CorruptFileName
  • CurrentArea
  • CurrentDate
  • CurrentLevelCollectable
  • CurrentLevelPatsSocks
  • CurrentScene
  • CurrentTime
  • GameSlot0
  • GameSlot1
  • GameSlot2
  • GameSlot3
  • GameSlot4
  • GameSlot5
  • GameSlot6
  • GameSlot7
  • MCAccessType
  • MCAutoSaveCard
  • MCName
  • MCPS2MaxSpace
  • MCPS2MinSpace
  • MCSelectedCard
  • MCSelectedGame
  • PlayerHeShe
  • PlayerName
  • PlayerPosition
  • SelectedArea
  • ShinyCount
  • ShinyCountText
  • SoundFXVolume
  • SoundMusicVolume
  • SpaceAvailable
  • SpaceAvailableString
  • SpaceNeeded
  • TotalPatsSocks
{width=<value>}
{w=<value>}
Float ?
{wait[:<value>];prompt[=yesno]}
Float Tells game to wait <value> seconds before continuing the dialog; sets the prompt after the wait
{xjustify=<value>}
{xj=<value>}
Text alignment (left/center/right)? X-axis text alignment?
{xspace=<value>}
{xs=<value>}
Float Adjusts the spacing (tracking) between characters.
{yjustify=<value>}
{yj=<value>}
Text alignment (top/center/bottom)? Y-axis text alignment?
{yspace=<value>}
{ys=<value>}
? ?