List of Control Characters: Difference between revisions

RRad (talk | contribs)
Adding icon images, some JP info and some formatting tweaks
RRad (talk | contribs)
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Stub}}
{{Stub}}
== Control Characters ==
{| class="wikitable"
!Character
!Hex
!Description
|-
|~
|0x7E
|Reads the following 2 characters '''as hex''' and prints the result. Can be used to print normally unprintable characters such as brackets and 0x7E itself. Example: <code>~5B ~5D</code> will result in <code>[ ]</code> in-game.<br>Note: <code>~7E</code> results in a second small tilde (<code>˜</code>) in-game. Use the Shift-JIS character described below for a full tilde.
|-
|
|0x81
|Shift-JIS activator. Used normally in Japanese, but the international versions also use it to display the following extra characters from <code>kanji.dat/table 129</code>:
{| class="wikitable"
!Character
!Hex
!Note
|-
|~
|0x8160
|The only way to display a full tilde in-game. To input in SkyTemple, enter a Japanese wave dash (<code>〜</code>).
|-
|→
|0x81A8
|This character can be entered normally in SkyTemple.
|-
|←
|0x81A9
|This character can be entered normally in SkyTemple.
|-
|↑
|0x81AA
|This character can be entered normally in SkyTemple.
|-
|↓
|0x81AB
|This character can be entered normally in SkyTemple.
|-
|♪
|0x81F4
|This character can be entered normally in SkyTemple.
|}
|}
== Lowercase Text Tags ==
<TODO: parameters, (technical) descriptions, potential organization>
{| class="wikitable"
!Tag
!Description
|-
|[area:#]
|
|-
|[adverb:#]
|Unused.
|-
|[bank:#]
|
|-
|[bank_left:#]
|
|-
|[c_kind:<actor>]
|Prints the Pokémon species of the specified actor, using the light green text color for species (see [CS:K]).
|-
|[c_i:#]
|
|-
|[c_name:<actor>]
|
|-
|style=white-space:nowrap|[c_stammer:<actor>]
|Prints the first character of the specified actor's name. Used only in JP.
|-
|[class:#]
|Unused.
|-
|[digits:#]
|
|-
|[digits_c:#]
|
|-
|[dungeon:#]
|
|-
|[equip_list]
|
|-
|[experience:#]
|
|-
|[floor:0]
|Prints the job's destination floor.
|-
|[gadget_bag]
|Prints the current name of the player's inventory. Used by the base game to specify the One-Item Inventory or Treasure Bag depending on the player's progress.
|-
|[gender:#]
|
|-
|[gold:#]
|
|-
|[gold_left:#]
|
|-
|[hero]
|Prints the hero's name. Special Episodes instead use <code>[c_name:NPC_HERO_FIRST]</code>.
|-
|[item:#]
|
|-
|[kind:]<br>[kind:#]
|
|-
|[move:]<br>[move:#]
|
|-
|[me_play:#]
|
|-
|[move_hit_ratio]
|
|-
|[move_power]
|
|-
|[name:#]
|
|-
|[now_team]
|
|-
|[partner]
|Prints the partner's name. Special Episodes instead use <code>[c_name:NPC_PARTNER_FIRST]</code>.
|-
|[partner2]
|Unused. <code>[partner2]</code> and <code>[partner2:0]</code> both seem to invariably crash the game.
|-
|[player]
|Prints the current leader's name using a blue text color.
|-
|[purpose:#]
|Unused. Seems to print "Recover the stolen item." as seen within the "Mission objectives" menu inside Beach Cave on the first visit, regardless of the player's progress.
|-
|[rank:#]
|
|-
|[range:#]
|Unused.
|-
|[s_item:#]
|
|-
|[string0]
|
|-
|[string:#]
|
|-
|[se_play:#]
|
|-
|[type:#]
|
|-
|[trap:#]
|
|-
|[tactics:#]
|
|-
|[team]<br>[team:]<br>[team:#]
|
|-
|[time:#]
|
|-
|[value0:#:#]
|
|-
|[value:#:#]
|
|-
|[value_i:#]<br>[value_i:#:#]
|Unused.
|-
|[weather:#]
|
|-
|[wiseness:]<br>[wiseness:#]
|
|}


== Capitalized Text Tags (Parse-on-Print) ==
== Capitalized Text Tags (Parse-on-Print) ==
Line 7: Line 204:
These text tags draw something that isn't text in the textbox.
These text tags draw something that isn't text in the textbox.
{| class="wikitable"
{| class="wikitable"
!Text Tag
!Tag
!Description
!Description
|-
|-
Line 19: Line 216:
|Inserts an icon from markfont.dat as specified by X. Alternatively, a raw index for the icon can be provided. See the '''[M:X] Icon Table''' for more info.
|Inserts an icon from markfont.dat as specified by X. Alternatively, a raw index for the icon can be provided. See the '''[M:X] Icon Table''' for more info.
|}
|}
As a side note, [D:0], [D:1] and [D:2] are intended to display the [[File:M-T4.png]], [[File:M-T5.png]] and [[File:M-T6.png]] icons respectively, but this functionality has been deliberately disabled in all available versions of the base game, which will simply ignore the debug tags. The tags can still be widely seen in many of the game's unused strings.


==== [M:X] Icon Table ====
==== [M:X] Icon Table ====
Line 301: Line 499:
|[M:T5]
|[M:T5]
|[M:65]
|[M:65]
|未 'Mi' (unfinished)
|未 'Mi' (unimplemented)
|colspan="2" style="text-align:center; background-color:#808080;" | [[File:M-T5.png]]
|colspan="2" style="text-align:center; background-color:#808080;" | [[File:M-T5.png]]
|-
|-
Line 347: Line 545:
These text tags alter the properties of normal text characters that follow them.
These text tags alter the properties of normal text characters that follow them.
{| class="wikitable"
{| class="wikitable"
!Text Tag
!Tag
!Description
!Description
|-
|-
|[CS:X],[CS:#,X]
|[CS:X],[CS:#,X]
|Sets colored text with color code X. Or more accurately, adds one layer of colored text. Has an optional numerical param "#" with an unknown use. See the '''Color Set Table''' for specifics on the types of colors and their vanilla usages.
|Sets colored text with color code X. Or more accurately, adds one layer of colored text. Has an optional numerical param "#" with an unknown use. See the '''[CS:X] Color Set Table''' for specifics on the types of colors and their vanilla usages.
|-
|-
|[CR], [CR:#]
|[CR], [CR:#]
Line 368: Line 566:
==== [CS:X] Color Set Table ====
==== [CS:X] Color Set Table ====
A detailed table of all [CS:X] subtags and their intended purpose in the base game.
A detailed table of all [CS:X] subtags and their intended purpose in the base game.
The colors are stored in FONT/text_pal.pal, and are stored slightly brighter than they appear in-game. When loaded in-game, the last three bits of each value (R, G, & B) are trimmed off to make the whole color fit within 2 bytes rather than 4, so a number like FF (0b11111111) would become F8 (0b11111000). The colors as coded in FONT/text_pal.pal are listed in the "Internal Color" column, and their location in the file is also provided. <!-- Is this paragraph too wordy...? -->
{| class="wikitable" style="text-align: left;"
{| class="wikitable" style="text-align: left;"
!Tag
!Tag
Line 373: Line 573:
!Use Case
!Use Case
!Identical to
!Identical to
!FONT/text_pal.pal Offset
!Internal Color
|-
|-
|[CS:A]
|[CS:A]
Line 378: Line 580:
|Effectively unused; described in ADEBUG as "Identified Item".
|Effectively unused; described in ADEBUG as "Identified Item".
|[CS:I]
|[CS:I]
|0x58
| style="color:black; background-color:#FFCFCF;" |#FFCFCF
|-
|-
|[CS:B]
|[CS:B]
| style="color:black; background-color:#F80000;" |Red<br>#F80000
| style="color:black; background-color:#F80000;" |Red<br>#F80000
|Forbidden choice.
|Forbidden choice.
|[CS:W]
|[CS:r], [CS:W]
|0x4C
| style="color:black; background-color:#FF0000;" |#FF0000
|-
|-
|[CS:C]
|[CS:C]
Line 388: Line 594:
|Used for rare miscellaneous and debug messages.
|Used for rare miscellaneous and debug messages.
|[CS:F], [CS:U]
|[CS:F], [CS:U]
|0x24
| style="color:black; background-color:#FFFF00;" |#FFFF00
|-
|-
|[CS:D]
|[CS:D]
| style="color:black; background-color:#F8F8F8;" |White<br>#F8F8F8
| style="color:black; background-color:#F8F8F8;" |White<br>#F8F8F8
|Standard text color.
|Standard text color. This is also the default case in <code>GetColorCodePaletteOffset</code>, so if an invalid CS code is used, it will be treated as this.
|None
|None
|0x1C
| style="color:black; background-color:#FFFFFF;" |#FFFFFF
|-
|-
|[CS:E]
|[CS:E]
Line 398: Line 608:
|Used by subjects, stats, abilities, weather, etc. Described in ADEBUG as "Bold Text".
|Used by subjects, stats, abilities, weather, etc. Described in ADEBUG as "Bold Text".
|[CS:G], [CS:N], [CS:V]
|[CS:G], [CS:N], [CS:V]
|0x20
| style="color:black; background-color:#00FFFF;" |#00FFFF
|-
|-
|[CS:F]
|[CS:F]
Line 403: Line 615:
|Names of other members of the player's team, including the partner. However, this is ''not'' used for Special Episode allies in cutscenes.
|Names of other members of the player's team, including the partner. However, this is ''not'' used for Special Episode allies in cutscenes.
|[CS:C], [CS:U]
|[CS:C], [CS:U]
|0x34
| style="color:black; background-color:#FFFF00;" |#FFFF00
|-
|-
|[CS:G]
|[CS:G]
Line 408: Line 622:
|Money.
|Money.
|[CS:E], [CS:N], [CS:V]
|[CS:E], [CS:N], [CS:V]
|0x64
| style="color:black; background-color:#00FFFF;" |#00FFFF
|-
|-
|[CS:H]
|[CS:H]
Line 413: Line 629:
|Trap names.
|Trap names.
|None
|None
|0x70
| style="color:black; background-color:#FF7F7F;" |#FF7F7F
|-
|-
|[CS:I]
|[CS:I]
Line 418: Line 636:
|Item names. In cutscenes, this is ''not'' used for unobtainable story objects such as Perfect Apples or Time Gears, but ''is'' used for items the player could obtain themselves.
|Item names. In cutscenes, this is ''not'' used for unobtainable story objects such as Perfect Apples or Time Gears, but ''is'' used for items the player could obtain themselves.
|[CS:A]
|[CS:A]
|0x58
| style="color:black; background-color:#FFCFCF;" |#FFCFCF
|-
|-
|[CS:j]
|[CS:j]
| style="color:black; background-color:#F8C060;" |Dark Cream<br>#F8C060
| style="color:black; background-color:#F8C060;" |Dark Cream<br>#F8C060
|The color is used by already-recruited Pokémon species whenever one requests to join within dungeons, and Chimecho uses the control character while explaining this text color.
|The color is used by already-recruited Pokémon species whenever one requests to join within dungeons, and Chimecho uses the tag while explaining this text color.
|[CS:P]
|[CS:P]
|0x44
| style="color:black; background-color:#FFC767;" |#FFC767
|-
|-
|[CS:J]
|[CS:J]
Line 428: Line 650:
|Status effects.
|Status effects.
|None
|None
|0x74
| style="color:black; background-color:#FFFFA7;" |#FFFFA7
|-
|-
|[CS:K]
|[CS:K]
Line 433: Line 657:
|Pokémon species names, including those in shop names. Should ''not'' be used to refer to a character ([CS:N]), even if they use the name of their species as their personal name.
|Pokémon species names, including those in shop names. Should ''not'' be used to refer to a character ([CS:N]), even if they use the name of their species as their personal name.
|[CS:M]
|[CS:M]
|0x3C
| style="color:black; background-color:#00FF00;" |#00FF00
|-
|-
|[CS:L]
|[CS:L]
| style="color:black; background-color:#00E060;" |Green<br>#00E060
| style="color:black; background-color:#00E060;" |Green<br>#00E060
|The control character itself is effectively unused in the base game, but the same text color is used for [LS:x] hyperlinks in item/move descriptions. The kiosk demo uses the control character to note the title of the game.
|The tag itself is effectively unused in the base game, but the same text color is used for [LS:#] hyperlinks in item/move descriptions. The kiosk demo uses the tag to note the title of the game.
|None
|None
|0x6C
| style="color:black; background-color:#00E767;" |#00E767
|-
|-
|[CS:M]
|[CS:M]
Line 443: Line 671:
|Move names. Also commonly used on the word "move" itself in non-dialogue strings.
|Move names. Also commonly used on the word "move" itself in non-dialogue strings.
|[CS:K]
|[CS:K]
|0x40
| style="color:black; background-color:#00FF00;" |#00FF00
|-
|-
|[CS:N]
|[CS:N]
Line 448: Line 678:
|Regular character names. The hero and partner will also fall back to this if they're not in a primary story role, as seen in Special Episode 5's intro scene.
|Regular character names. The hero and partner will also fall back to this if they're not in a primary story role, as seen in Special Episode 5's intro scene.
|[CS:E], [CS:G], [CS:V]
|[CS:E], [CS:G], [CS:V]
|0x38
| style="color:black; background-color:#00FFFF;" |#00FFFF
|-
|-
|[CS:O]
|[CS:O]
Line 453: Line 685:
|Unused.
|Unused.
|None
|None
|0x78
| style="color:black; background-color:#009F00;" |#009F00
|-
|-
|[CS:P]
|[CS:P]
Line 458: Line 692:
|Dungeon names and other destinations such as Fogbound Lake and Shaymin Village. ''Not'' used in the base game for other location names such as Treasure Town or the Hot Spring in dialogue.
|Dungeon names and other destinations such as Fogbound Lake and Shaymin Village. ''Not'' used in the base game for other location names such as Treasure Town or the Hot Spring in dialogue.
|[CS:j]
|[CS:j]
|0x44
| style="color:black; background-color:#FFC767;" |#FFC767
|-
|-
|[CS:Q]
|[CS:Q]
Line 463: Line 699:
|Unused.
|Unused.
|None
|None
|0x54
| style="color:black; background-color:#0087FF;" |#0087FF
|-
|-
|[CS:r]
|[CS:r]
|<todo>
| style="color:black; background-color:#F80000;" |Red<br>#F80000
|Unused.
|Unused.
|None
|[CS:B], [CS:W]
|0x14
| style="color:black; background-color:#FF0000;" |#FF0000
|-
|-
|[CS:R]
|[CS:R]
| style="color:black; background-color:#40F840;" |Pale Green<br>#40F840
| style="color:black; background-color:#40F840;" |Pale Green<br>#40F840
|Selling price.
|The tag itself is effectively unused, but the text color is used for displaying the selling price at shops. Described in ADEBUG as "Selling Price".
|None
|None
|0x68
| style="color:black; background-color:#47FF47;" |#47FF47
|-
|-
|[CS:S]
|[CS:S]
Line 478: Line 720:
|Effectively unused. Described in ADEBUG as "Multiple Items Selected", but doing this in shop or storage menus changes the color of the surrounding background rather than the text itself.
|Effectively unused. Described in ADEBUG as "Multiple Items Selected", but doing this in shop or storage menus changes the color of the surrounding background rather than the text itself.
|None
|None
|0x50
| style="color:black; background-color:#6787E7;" |#6787E7
|-
|-
|[CS:T]
|[CS:T]
Line 483: Line 727:
|Unused and seemingly useless, as it makes the text unreadable.
|Unused and seemingly useless, as it makes the text unreadable.
|None
|None
|N/A
|N/A
|-
|-
|[CS:U]
|[CS:U]
Line 488: Line 734:
|Effectively unused. Described in ADEBUG as "Unidentified Item".
|Effectively unused. Described in ADEBUG as "Unidentified Item".
|[CS:C], [CS:F]
|[CS:C], [CS:F]
|0x5C
| style="color:black; background-color:#FFFF00;" |#FFFF00
|-
|-
|[CS:V]
|[CS:V]
Line 493: Line 741:
|Used for "bold" numbers. Base game example: <code>You can get only [CS:V]two wrong[CR], OK?</code>
|Used for "bold" numbers. Base game example: <code>You can get only [CS:V]two wrong[CR], OK?</code>
|[CS:E], [CS:G], [CS:N]
|[CS:E], [CS:G], [CS:N]
|0x48
| style="color:black; background-color:#00FFFF;" |#00FFFF
|-
|-
|[CS:W]
|[CS:W]
| style="color:black; background-color:#F80000;" |Red<br>#F80000
| style="color:black; background-color:#F80000;" |Red<br>#F80000
|Only used for debug messages, particularly warnings.
|Used by item-boosted stats in a Pokémon's summary and a few debug messages, particularly warnings.
|[CS:B]
|[CS:B], [CS:r]
|0x28
| style="color:black; background-color:#FF0000;" |#FF0000
|-
|-
|[CS:X]
|[CS:X]
Line 503: Line 755:
|Any team's name, not including the word "team". Also used by the names of other players in multiplayer-related strings.
|Any team's name, not including the word "team". Also used by the names of other players in multiplayer-related strings.
|None
|None
|0x2C
| style="color:black; background-color:#FFA7FF;" |#FFA7FF
|-
|-
|[CS:Y]
|[CS:Y]
Line 508: Line 762:
|Used for the current leader's name, including the hero and Special Episode protagonists. Regular recruited Pokémon will also use this color if set as the leader, even if spoken to in Spinda's Café.
|Used for the current leader's name, including the hero and Special Episode protagonists. Regular recruited Pokémon will also use this color if set as the leader, even if spoken to in Spinda's Café.
|None
|None
|0x30
| style="color:black; background-color:#009FFF;" |#009FFF
|-
|-
|[CS:Z]
|[CS:Z]
Line 513: Line 769:
|Exclusive item names. This includes the Water Float and Defend Globe when referred to in cutscenes.
|Exclusive item names. This includes the Water Float and Defend Globe when referred to in cutscenes.
|None
|None
|0x60
| style="color:black; background-color:#8787FF;" |#8787FF
|}
|}


Line 518: Line 776:
These text tags insert different characters depending on the system language.
These text tags insert different characters depending on the system language.
{| class="wikitable"
{| class="wikitable"
!Text Tag
!Tag
!Description
!Description
|-
|-
Line 548: Line 806:
|[F:ER]
|[F:ER]
| -
| -
| colspan="2" rowspan="1" |er
| colspan="2" rowspan="1" |<sub>er</sub>
|0x96
|0x96
|0x96
|0x96
|e and r condensed into one character. Used in French when referring to Sky Peak Station Pass 1.
|e and r condensed into one superscript character, a masculine ordinal indicator for number 1. Used in French when referring to Sky Peak Station Pass 1.
|-
|-
|[F:RE]
|[F:RE]
| -
| -
| colspan="2" rowspan="1" |re
| colspan="2" rowspan="1" |<sup>re</sup>
|0x97
|0x97
|0x97
|0x97
|r and e condensed to one character. Unused
|r and e condensed to one superscript character, a feminine ordinal indicator for number 1. Unused.
|-
|-
|[F:O]
|[F:O]
Line 565: Line 823:
|0xBA
|0xBA
|0xBA
|0xBA
|Masculine Ordinal Indicator. Unused?
|Masculine ordinal indicator for numbers 2+. Unused?
|-
|-
|[F:E]
|[F:E]
Line 572: Line 830:
|0x8D
|0x8D
|0x8D
|0x8D
|Superscript "e". Used in French when referring to Sky Peak Station Pass 2+
|Superscript "e", an ordinal indicator for numbers 2+. Used in French when referring to Sky Peak Station Pass 2+.
|-
|-
|[F:RQ]
|[F:RQ]
Line 579: Line 837:
|0xBF
|0xBF
|0xBF
|0xBF
|Reverse question mark. Unused?
|Reverse question mark. Unused, as the Spanish script simply writes out the character regularly.
|-
|-
|[F:S1]
|[F:S1]
Line 617: Line 875:
These text tags alter the rate that text is printed, and/or create a line break.
These text tags alter the rate that text is printed, and/or create a line break.
{| class="wikitable"
{| class="wikitable"
!Text Tag
!Tag
!Description
!Description
|-
|-
Line 648: Line 906:
These text tags alter the printing position of characters that follow them.
These text tags alter the printing position of characters that follow them.
{| class="wikitable"
{| class="wikitable"
!Text Tag
!Tag
!Description
!Description
|-
|-
Line 670: Line 928:
These text tags create audio effects when they are parsed, but do not affect the textbox visually.
These text tags create audio effects when they are parsed, but do not affect the textbox visually.
{| class="wikitable"
{| class="wikitable"
!Text Tag
!Tag
!Description
!Description
|-
|-