EvilEngine/TEXT: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
No edit summary
m (Seil moved page TEXT to EvilEngine/TEXT)
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<onlyinclude>
{{AssetInfobox
{{#vardefine:typeid|TEXT}}<nowiki/>
|subtitle=Text
{{#vardefine:name|Text}}<nowiki/>
|type=[[Binary]]
{{#vardefine:type|[[Binary]]}}<nowiki/>
|games=Night of 100 Frights<br>Battle for Bikini Bottom<br>The SpongeBob SquarePants Movie<br>The Incredibles<br>Rise of the Underminer
{{#vardefine:basetype|}}<nowiki/>
|sourcecode=[https://github.com/bfbbdecomp/bfbb/blob/master/src/Core/x/xTextAsset.h xTextAsset.h]}}
{{#vardefine:games|Scooby BFBB TSSM Incredibles ROTU RatProto}}<nowiki/>
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Core/x/xTextAsset.h xTextAsset.h]}}<nowiki/>
{{#vardefine:image|}}<nowiki/>
</onlyinclude>
{{AutoAssetInfobox}}


TEXT assets contain text that is used ingame in message boxes and other places.
TEXT assets contain text that is used ingame in message boxes and other places.
Line 69: Line 74:
|-
|-
|
|
{alpha*=''<value>''}
{alpha=''<value>''}
{a=''<value''}
|| Float (range: 0 to 1)
|| Float (range: 0 to 1)
|| Customizes the alpha component of the text color.
|| Customizes the alpha component of the text color.
Line 80: Line 86:
|
|
{font=''<value>''}
{font=''<value>''}
{f=''<value>''}
|| Integer
|| Integer
|| Changes the font used.
|| ?
|-
|-
|
|
{h''<value>''}
{height=''<value>''}
{h=''<value>''}
|| Float
|| Float
|| ?
|| ?
Line 100: Line 108:
|-
|-
|
|
{nbsp}
|| None
|| Inserts the non-breaking space character
|-
|
{newline}
{n}
{n}
|| None
|| None
Line 119: Line 133:
|| [[Vector2]], [[Vector3]], [[Vector3]]
|| [[Vector2]], [[Vector3]], [[Vector3]]
|| ?
|| ?
|-
|
{racetimer:<value>}
|| [[DYNA]] Asset Name ([[DYNA/game_object:RaceTimer|game_object:RaceTimer]])
|| Specifies the countdown timer DYNA (e.g. Floating Block, Driving and Sliding Time Challenges)
|-
|-
|
|
Line 127: Line 146:
|
|
{sound:''<value1>''[;speaker=''<value2>'']}
{sound:''<value1>''[;speaker=''<value2>'']}
|| [[SNDS]] Asset Name; [[VIL]] Asset Name
|| [[SNDS]] Asset Name; [[VIL]]/[[DYNA]] Asset Name
|| Defines sound (usually a voice line) to play when this line is reached.
|| 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.
|-
|-
|
|
Line 144: Line 187:
|| [[TIMR]] Asset Name
|| [[TIMR]] Asset Name
|| Inserts the timer's current time.
|| Inserts the timer's current time.
|-
|
{counter:''<value>''}
|| [[CNTR]] Asset name
|| Inserts the counter's current count.
|-
|-
|
|
Line 190: Line 238:
|-
|-
|
|
{w''<value>''}
{width=''<value>''}
{w=''<value>''}
|| Float
|| Float
|| ?
|| ?
|-
|-
|
|
{wait[:<value>];prompt[=yesno]}
{wait[:''<value>''];prompt[=yesno]}
|| Float
|| Float
|| Tells game to wait <value> seconds before continuing the dialog; sets the prompt after the wait
|| Tells game to wait <value> seconds before continuing the dialog; sets the prompt after the wait
|-
|-
|
|
{xjustify=''<value>''}
{xj=right}
{xj=''<value>''}
|| None
|| Probably text alignment
|| 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>''}
|| ?
|| ?
|}
|}


{{Assets}}
{{Assets}}
{{AutoGameNavs}}


[[Category:Asset]]
[[Category:Asset]]

Latest revision as of 22:57, 15 September 2022

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>}
? ?