List of Control Characters
This article is unfinished. You can help expanding it.
Capitalized Text Tags (Direct Formatting)
Object Insert Tags
These text tags draw something that isn't text in the textbox.
| Text Tag | Description |
| [BAR] | Inserts a bar covering the entire line, then applies a line break. |
| [LINE:X:#] | Inserts a line of type (135,139) [type X=0] or (135,140) [type X=1], with thickness #. Used only in JP. Functional in other regions, but only produces redacted text. |
| [M:X], [M:#] | 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. |
[M:X] Icon Table
A detailed table of all [M:X]/[M:#] subtags.
| Tag (Name + #) | Description | Icon | Tag (Name + #) | Description | Icon | Tag (Name + #) | Description | Icon | |||
| [M:B0] | [M:0] | Start | [TODO] | [M:B23] | [M:23] | Check Gold Block | [TODO] | [M:H5] | [M:46] | Heart yellow small | [TODO] |
| [M:B1] | [M:1] | Select | [TODO] | [M:B24] | [M:24] | X Gold Block | [TODO] | [M:H6] | [M:47] | Heart yellow | [TODO] |
| [M:B2] | [M:2] | A | [TODO] | [M:B25] | [M:25] | Up Gold Block | [TODO] | [M:H7] | [M:48] | Heart yellow big | [TODO] |
| [M:B3] | [M:3] | B | [TODO] | [M:B26] | [M:26] | Down Gold Block | [TODO] | [M:H8] | [M:49] | Heart pink unshaded | [TODO] |
| [M:B4] | [M:4] | X | [TODO] | [M:B27] | [M:27] | Left Gold Block | [TODO] | [M:R0] | [M:50] | Dash | [TODO] |
| [M:B5] | [M:5] | Y | [TODO] | [M:B28] | [M:28] | Right Gold Block | [TODO] | [M:R1] | [M:51] | Half Star | [TODO] |
| [M:B6] | [M:6] | L | [TODO] | [M:B29] | [M:29] | Rewind Gold Block | [TODO] | [M:R2] | [M:52] | Amber Gem? | [TODO] |
| [M:B7] | [M:7] | R | [TODO] | [M:B30] | [M:30] | FF Gold Block | [TODO] | [M:R3] | [M:53] | Unopened Mail | [TODO] |
| [M:B8] | [M:8] | D-Pad | [TODO] | [M:B31] | [M:31] | Sort Gold Block | [TODO] | [M:R4] | [M:54] | Open Mail | [TODO] |
| [M:B9] | [M:9] | - Block | [TODO] | [M:B32] | [M:32] | Search Gold Block | [TODO] | [M:R5] | [M:55] | Letter | [TODO] |
| [M:B10] | [M:10] | Check Block | [TODO] | [M:S0] | [M:33] | P-Money | [TODO] | [M:R6] | [M:56] | Newspaper | [TODO] |
| [M:B11] | [M:11] | X Block | [TODO] | [M:S1] | [M:34] | Space | [TODO] | [M:R7] | [M:57] | ! Box | [TODO] |
| [M:B12] | [M:12] | Up Block | [TODO] | [M:S2] | [M:35] | Check | [TODO] | [M:R8] | [M:58] | Wi-Fi | [TODO] |
| [M:B13] | [M:13] | Down Block | [TODO] | [M:S3] | [M:36] | Star | [TODO] | [M:R9] | [M:59] | [TODO] | |
| [M:B14] | [M:14] | Left Block | [TODO] | [M:S4] | [M:37] | X | [TODO] | [M:T0] | [M:60] | Colon | [TODO] |
| [M:B15] | [M:15] | Right Block | [TODO] | [M:S5] | [M:38] | Check X | [TODO] | [M:T1] | [M:61] | Text Bubble | [TODO] |
| [M:B16] | [M:16] | Rewind Block | [TODO] | [M:S6] | [M:39] | Bag | [TODO] | [M:T2] | [M:62] | Space Indicator | [TODO] |
| [M:B17] | [M:17] | FF Block | [TODO] | [M:S7] | [M:40] | Hut | [TODO] | [M:T3] | [M:63] | Space Indicator Red | [TODO] |
| [M:B18] | [M:18] | Sort Block | [TODO] | [M:H0] | [M:41] | Heart pink vsmall | [TODO] | [M:T4] | [M:64] | Kanji 'Kari' (temp) | [TODO] |
| [M:B19] | [M:19] | Search Block | [TODO] | [M:H1] | [M:42] | Heart pink small | [TODO] | [M:T5] | [M:65] | Kanji 'Su' (end) | [TODO] |
| [M:B20] | [M:20] | D-Pad U-D Block | [TODO] | [M:H2] | [M:43] | Heart pink | [TODO] | [M:T6] | [M:66] | Katakana 'De' | [TODO] |
| [M:B21] | [M:21] | D-Pad L-R Block | [TODO] | [M:H3] | [M:44] | Heart pink big | [TODO] | [M:I0] | [M:67] | TM | [TODO] |
| [M:B22] | [M:22] | - Gold Block | [TODO] | [M:H4] | [M:45] | Heart yellow vsmall | [TODO] | [M:I1] | [M:68] | Orb | [TODO] |
Text Formatting Tags
These text tags alter the properties of normal text characters that follow them.
| Text Tag | Description |
| [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. |
| [CR], [CR:#] | Reverts colored text. Or more accurately, reverts the top-most layer of colored text. Has an optional numerical param "#" with an unknown use. |
| [FT:#] | Sets the current font to the #th font. 0 = Normal, 1 = Unown, 2 = Credits Small, 3 = Credits Large. Fonts 2 and 3 do not function as intended outside of the credits sequence, with 2 being entirely icons, and 3 being empty characters. |
| [LS:#] | Starts a link to another text string. Used in move/item/status/etc. descriptions for subtopics. Ex: Sleep Seed may link the description of the Sleep status. |
| [LE] | Ends a link to another text string. Used in move/item/status/etc. descriptions for subtopics. Ex: Sleep Seed may link the description of the Sleep status. |
[CS:X] Color Set Table
The following control characters are used to change the color of text in scripts.
| Tag | Color | Use Case | Identical to |
|---|---|---|---|
| [CS:A] | Cream #F8C8C8 |
Effectively unused; described in ADEBUG as "Identified Item". | [CS:I] |
| [CS:B] | Red #F80000 |
Forbidden choice. | [CS:W] |
| [CS:C] | Yellow #F8F800 |
Used for rare miscellaneous and debug messages. | [CS:F], [CS:U] |
| [CS:D] | White #F8F8F8 |
Standard text color. | None |
| [CS:E] | Cyan #00F8F8 |
Used by subjects, stats, abilities, weather, etc. Described in ADEBUG as "Bold Text". | [CS:G], [CS:N], [CS:V] |
| [CS:F] | Yellow #F8F800 |
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:G] | Cyan #00F8F8 |
Money. | [CS:E], [CS:N], [CS:V] |
| [CS:H] | Pink #F87878 |
Trap names. | None |
| [CS:I] | Cream #F8C8C8 |
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:j] | Dark Cream #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. | [CS:P] |
| [CS:J] | Light Yellow #F8F8A0 |
Status effects. | None |
| [CS:K] | Light Green #00F800 |
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:L] | Green #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. | None |
| [CS:M] | Light Green #00F800 |
Move names. Also commonly used on the word "move" itself in non-dialogue strings. | [CS:K] |
| [CS:N] | Cyan #00F8F8 |
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:O] | Dark Green #009800 |
Unused. | None |
| [CS:P] | Dark Cream #F8C060 |
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:Q] | Blue #0080F8 |
Unused. | None |
| [CS:r] | <todo> | Unused. | None |
| [CS:R] | Pale Green #40F840 |
Selling price. | None |
| [CS:S] | Purple #6080E0 |
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 |
| [CS:T] | Transparent | Unused and seemingly useless, as it makes the text unreadable. | None |
| [CS:U] | Yellow #F8F800 |
Effectively unused. Described in ADEBUG as "Unidentified Item". | [CS:C], [CS:F] |
| [CS:V] | Cyan #00F8F8 |
Used for "bold" numbers. Base game example: You can get only [CS:V]two wrong[CR], OK?
|
[CS:E], [CS:G], [CS:N] |
| [CS:W] | Red #F80000 |
Only used for debug messages, particularly warnings. | [CS:B] |
| [CS:X] | Bright Pink #F8A0F8 |
Any team's name, not including the word "team". Also used by the names of other players in multiplayer-related strings. | None |
| [CS:Y] | Light Blue #0098F8 |
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 |
| [CS:Z] | Light Purple #8080F8 |
Exclusive item names. This includes the Water Float and Defend Globe when referred to in cutscenes. | None |
| [CR] | N/A | Terminates the coloring of the text. Essential to prevent errors. | N/A |
Language Based Insertion Tags
These text tags insert different characters depending on the system language.
| Text Tag | Description |
| [MP] | Inserts the language-appropriate equivalent for the thousands-place separator: comma, period, space, etc. |
| [GP] | Seems to be a carbon copy of [MP]? Only exists in EU, will crash NA and JP. |
| [F:X] | Displays certain "Foreign" characters by abbreviation. Can differ by language in EU, see the [F:X] Character Insertion Table for more info. |
[F:X] Character Insertion Table
A detailed table of all available [F:X] subtags.
| [F:X] Text Tag | Character | Hex Id | Description | |||
| Tag | Abbrev. | German | Other | German | Other | |
| [F:ER] | - | er | 0x96 | 0x96 | e and r condensed into one character. Used in French when referring to Sky Peak Station Pass 1. | |
| [F:RE] | - | re | 0x97 | 0x97 | r and e condensed to one character. Unused | |
| [F:O] | - | º | 0xBA | 0xBA | Masculine Ordinal Indicator. Unused? | |
| [F:E] | - | ᵉ | 0x8D | 0x8D | Superscript "e". Used in French when referring to Sky Peak Station Pass 2+ | |
| [F:RQ] | Reverse Question? | ¿ | 0xBF | 0xBF | Reverse question mark. Unused? | |
| [F:S1] | Start 1? | ‚ | ‘ | 0xB8 | 0x91 | Start of a single quote. Differs in German, to match the language's quotation mark convention. Unused. |
| [F:E1] | End 1? | ‘ | ’ | 0x91 | 0x92 | End of a single quote. Differs in German, to match the language's quotation mark convention. Unused. |
| [F:S2] | Start 2? | „ | “ | 0xB7 | 0x93 | Start of a double quote. Differs in German, to match the language's quotation mark convention. Used frequently in EU. |
| [F:E2] | End 2? | “ | ” | 0x93 | 0x94 | End of a double quote. Differs in German, to match the language's quotation mark convention. Used frequently in EU. |
Control Flow Tags
These text tags alter the rate that text is printed, and/or create a line break.
| Text Tag | Description |
| [K] | Pauses text printing until the player makes an input with A, B, or the Touch Screen. |
| [W:#] | Waits # frames before continuing to print text. |
| [C] | Begins the next page of text, erasing the current block of text instantly. |
| [P] | Scrolls the currently printed text off the window, then begins the next page of text. A pause in dialogue. |
| [STS] | Ends instant text printing for the line prematurely. |
| [STE] | Begins instant text printing, until the next line break. |
| [R] | Two characters longer than an actual new line, or one if "\n" is used. Redundant. |
| [HR] | Does a line break, but only moves down by half the normal amount. |
Position Adjustment Tags
These text tags alter the printing position of characters that follow them.
| Text Tag | Description |
| [CN] | Begins text centering, until the next line break. |
| [CLUM_SET:#] | Moves the cursor left or right to the #th pixel in the window. Can be used to move backwards horizontally in a textbox. |
| [CLUM_OFFSET:#] | Offsets the cursor's current horizontal position by #. Most likely identical to [S:#]. |
| [MS:#] | Inserts 6*# horizontal pixels of space. |
| [S:#] | Inserts # horizontal pixels of space. |
Audio Based Tags
These text tags create audio effects when they are parsed, but do not affect the textbox visually.
| Text Tag | Description |
| [ME_PLAY:#] | Plays the #th me_effect directly! |
| [SE_PLAY:#] | Plays the #th sound effect directly! |