Character encoding (Generation III): Difference between revisions
Tiddlywinks (talk | contribs) m (→Japanese: Also simpler...) |
(Added a lot of thus far undocumented information: all differences between regions and revisions. Changed table colors to meanings that makes sense and are useful for an international (not specifically English) character set.) |
||
Line 1: | Line 1: | ||
The [[Generation III]] games use a proprietary '''character encoding''' to store text data. The Generation III encoding is greatly different from the encodings used in previous generations, with characters corresponding to different bytes. Versions of the games in different languages may use different encodings, some more different than others. | The [[Generation III]] games use a proprietary '''character encoding''' to store text data. The Generation III encoding is greatly different from the encodings used in previous generations, with characters corresponding to different bytes. Versions of the games in different languages may use different encodings, some more different than others. | ||
Some text strings are stored in fixed-length structures while others are stored in a block of text with separate strings simply terminated by 0xFF. In the large, variable-length blocks, usually another structure will have pointers to the appropriate string(s) within that block of text. In the fixed-length structures, strings are still terminated by 0xFF, but any remainder of the | Some text strings are stored in fixed-length structures while others are stored in a block of text with separate strings simply terminated by 0xFF. In the large, variable-length blocks, usually another structure will have pointers to the appropriate string(s) within that block of text. In the fixed-length structures, strings are still terminated by 0xFF, but any remainder of the allotted space is padded out with 0x00. | ||
==Character sets== | ==Character sets== | ||
International (English, French, Italian, German, and Spanish) games in Generation III contain two character sets: their own, and Japanese. The international games' character sets are nearly identical, with only a select few [[#Regional differences|regional differences]]. For most text, the game's own character set is used, but a Pokémon's nickname and its [[Original Trainer]]'s name use the Japanese character set if the Pokémon's {{DL|Pokémon data structure in Generation III|language}} value is set to Japanese. In the Japanese versions, since there is no international character set, the Japanese character set is always used. | |||
Note that 0x00 in the following tables is a space (" "), not empty. | Note that 0x00 in the following tables is a space (" "), not empty. | ||
=== | ===International=== | ||
The | The main character sets in international versions contain the characters below. However, only the characters on a white background can legitimately be entered into nicknames and OT names. Those on a light gray background cannot be entered into name fields, although they are specially defined in at least one version. Characters on a dark gray background are, in all versions, unused holdovers from the Japanese encoding. They are displayed differently across versions. | ||
As is, the following table contains the glyphs as they appear in version 1.1 and 1.2 of Pokémon Ruby and Sapphire Versions. Some [[#Revisional differences|revisional]] and [[#Regional differences|regional]] differences do exist. | |||
:{| style="text-align: center; border-collapse:collapse" cellpadding="2px" width="375px" | :{| style="text-align: center; border-collapse:collapse" cellpadding="2px" width="375px" | ||
Line 46: | Line 48: | ||
| ç | | ç | ||
| è | | è | ||
| é | |||
| ê | | ê | ||
| ë | | ë | ||
Line 67: | Line 69: | ||
| ª | | ª | ||
| ᵉʳ | | ᵉʳ | ||
| & | |||
| + | |||
| style="background:#bbb" | あ | | style="background:#bbb" | あ | ||
Line 77: | Line 79: | ||
| ぇ | | ぇ | ||
| ぉ | | ぉ | ||
| style="background:# | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between regions and versions"><small>Lv</small></div> | ||
| style="background:# | | style="background:#ddd" | = | ||
| style="background:# | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between revisions">;</div> | ||
| が | | が | ||
| ぎ | | ぎ | ||
Line 94: | Line 96: | ||
| ぞ || だ || ぢ || づ || で || ど || ば || び || ぶ || べ || ぼ || ぱ || ぴ || ぷ || ぺ || ぽ | | ぞ || だ || ぢ || づ || で || ど || ば || び || ぶ || べ || ぼ || ぱ || ぴ || ぷ || ぺ || ぽ | ||
|- | |- style="background:#ddd" | ||
! 5- | ! style="background:#fff" | 5- | ||
| style="background:# | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions">っ</div> | ||
| style="background:#ddd" | ¿ | | style="background:#ddd" | ¿ | ||
| style="background:#ddd" | ¡ | | style="background:#ddd" | ¡ | ||
Line 103: | Line 105: | ||
| <sup>P</sup><sub>O</sub> | | <sup>P</sup><sub>O</sub> | ||
| <sup>K</sup><sub>é</sub> | | <sup>K</sup><sub>é</sub> | ||
| [[Image:Character 0x57 iii.png]] | | <div style="border-bottom:1px dotted" title="Differs between regions">[[Image:Character 0x57 iii.png]]</div> | ||
| [[Image:Character 0x58 iii.png]] | | <div style="border-bottom:1px dotted" title="Differs between regions">[[Image:Character 0x58 iii.png]]</div> | ||
| [[Image:Character 0x59 iii.png]] | | <div style="border-bottom:1px dotted" title="Differs between regions and versions">[[Image:Character 0x59 iii.png]]</div> | ||
| style="background:#ddd" | <font style="font-family: monospace">Í</font> | | style="background:#ddd" | <font style="font-family: monospace">Í</font> | ||
|% | | % | ||
| ( | | ( | ||
| ) | | ) | ||
| style="background:# | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between regions">セ</div> | ||
| style="background:# | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between regions">ソ</div> | ||
|- style="background:#bbb" | |- style="background:#bbb" | ||
! style="background:#fff" | 6- | ! style="background:#fff" | 6- | ||
| タ || チ || ツ || テ | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between regions">タ</div> | ||
| style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between regions">チ</div> | |||
| style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between regions">ツ</div> | |||
| style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between regions">テ</div> | |||
| ト || ナ || ニ || ヌ || style="background:#ddd" | â | |||
| ノ || ハ || ヒ || フ || ヘ || ホ || style="background:#ddd" | í | | ノ || ハ || ヒ || フ || ヘ || ホ || style="background:#ddd" | í | ||
Line 121: | Line 127: | ||
! style="background:#fff" | 7- | ! style="background:#fff" | 7- | ||
| ミ || ム || メ || モ || ヤ || ユ || ヨ || ラ || リ | | ミ || ム || メ || モ || ヤ || ユ || ヨ || ラ || リ | ||
| style="background:# | | style="background:#ddd" | ⬆ | ||
| style="background:# | | style="background:#ddd" | ⬇ | ||
| style="background:# | | style="background:#ddd" | ⬅ | ||
| style="background:# | | style="background:#ddd" | ➡ | ||
| ヲ | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions">ヲ</div> | ||
| ン | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions">ン</div> | ||
| ァ | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions">ァ</div> | ||
|- style="background:#bbb" | |- style="background:#bbb" | ||
! style="background:#fff" | 8- | ! style="background:#fff" | 8- | ||
| ィ || ゥ || ェ || ォ | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions">ィ</div> | ||
| style="background:#ddd" | ᵉ | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions">ゥ</div> | ||
| style="background:#ddd" | < | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions">ェ</div> | ||
| style="background:#ddd" | > | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions">ォ</div> | ||
| style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions">ᵉ</div> | |||
| style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions"><</div> | |||
| style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between versions">></div> | |||
| ガ || ギ || グ || ゲ || ゴ || ザ || ジ || ズ || ゼ | | ガ || ギ || グ || ゲ || ゴ || ザ || ジ || ズ || ゼ | ||
Line 143: | Line 152: | ||
|- | |- | ||
! A- | ! A- | ||
| style="background:#ddd" | ʳᵉ | | style="background:#ddd" | <div style="border-bottom:1px dotted" title="Differs between revisions">ʳᵉ</div> | ||
| 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 ||! ||? || . || - || style="background:#bbb" | ・ | |||
|- | |- | ||
! B- | ! B- | ||
| | | <div style="border-bottom:1px dotted" title="Differs between versions">‥</div> | ||
| <div style="border-bottom:1px dotted" title="Differs between regions">“</div> | |||
| <div style="border-bottom:1px dotted" title="Differs between regions">”</div> | |||
| ‘ || ’ || ♂ || ♀ || style="background:#ddd" | {{pdollar}} || , || style="background:#ddd" | × || / || A || B || C || D || E | |||
|- | |- | ||
! C- | ! C- | ||
Line 155: | Line 168: | ||
|- | |- | ||
! E- | ! E- | ||
| l || m || n || o || p || q || r || s || t || u || v || w || x || y || z || ▶ | | l || m || n || o || p || q || r || s || t || u || v || w || x || y || z || style="background:#ddd" | ▶ | ||
|- style="background:#ddd" | |- style="background:#ddd" | ||
! style="background:#fff" | F- | ! style="background:#fff" | F- | ||
| : | |||
| Ä | | Ä | ||
| Ö | | Ö | ||
Line 169: | Line 182: | ||
| style="background:#bbb" | ⬇ | | style="background:#bbb" | ⬇ | ||
| style="background:#bbb" | ⬅ | | style="background:#bbb" | ⬅ | ||
| style="background:#fff" colspan= | | colspan=6 | ''Control characters'' | ||
|} | |||
====Revisional differences==== | |||
In Pokémon Emerald, FireRed, and LeafGreen, the characters a dark gray background in the table above appear as spaces, with the exception of <code>0xAF</code> (・). In addition, version 1.0 of the English Ruby and Sapphire Versions are missing a few characters. The following table details the differences between revisions. | |||
:{| class="wikitable" style="text-align: center; background-color: #fff;" | |||
! | |||
! {{gameabbrev3|RS}} English 1.0 | |||
! {{gameabbrev3|RS}} English 1.1<br>{{gameabbrev3|RS}} English 1.2<br>{{gameabbrev3|RS}} Non-English | |||
! {{gameabbrev3|FRLG}} | |||
! {{gameabbrev3|E}} | |||
|- | |||
! <code>0x36</code> | |||
| style="background-color:#bbb" | ょ | |||
| colspan=3 style="background-color:#ddd" | ; | |||
|- style="background:#bbb" | |||
! <code>0x50</code> | |||
| colspan=2 | っ | |||
| | |||
| style="background:#ddd" | ▯ | |||
|- style="background:#bbb" | |||
! <code>0x7D</code>-<code>0x83</code> | |||
| colspan=2 | ヲンァィゥェォ | |||
| | |||
| style="background:#ddd" | Spaces 1-7 pixels wide<br>in ascending order | |||
|- | |||
! <code>0x84</code> | |||
| style="background-color:#bbb" | ャ | |||
| colspan=3 style="background-color:#ddd" | ᵉ | |||
|- | |||
! <code>0x85</code> | |||
| style="background-color:#bbb" | ュ | |||
| colspan=3 style="background-color:#ddd" | < | |||
|- | |||
! <code>0x86</code> | |||
| style="background-color:#bbb" | ョ | |||
| colspan=3 style="background-color:#ddd" | > | |||
|- | |||
! <code>0xA0</code> | |||
| style="background-color:#bbb" | ッ | |||
| colspan=3 style="background-color:#ddd" | ʳᵉ | |||
|- | |||
! <code>0xB0</code> | |||
| colspan=2 | ‥ | |||
| colspan=2 | … / {{tt|‥|In small and narrow fonts}} | |||
|} | |||
====Regional differences==== | |||
Although the international character set is largely the same across all localizations, some differences do exist. Because quotation marks (which can be entered into names) differ between regions, Pokémon with nicknames and OT names containing those will display differently if traded to games of other regions. The following table details the differences between regions. | |||
:{| class="wikitable" style="text-align: center; background-color: #fff;" | |||
! | |||
! English | |||
! Spanish | |||
! Italian | |||
! German | |||
! French | |||
|- style="background-color:#ddd" | |||
! <code>0x34</code> | |||
| <small>Lv</small> | |||
| <small>Nv</small>{{sup/3|RS}} / <small>Nv.</small>{{sup/3|E}}{{sup/3|FRLG}} | |||
| <small>L.</small> | |||
| <small>Lv.</small> | |||
| <small>N.</small> | |||
<!-- Note: These external images should be replaced with Archive images as soon as possible. --> | |||
|- style="background-color:#ddd" | |||
! <code>0x57</code>-<code>0x59</code> | |||
| [[Image:Character 0x57 iii.png]][[Image:Character 0x58 iii.png]][[Image:Character 0x59 iii.png]] | |||
| <span style="font-size:0;vertical-align:middle">http://i.imgur.com/ZbI6wry.png http://i.imgur.com/ELnUcy8.png http://i.imgur.com/adNUkdi.png</span> | |||
| {{tt| |Space}}, {{tt| |Space}}, <sub>M</sub>{{sup/3|RS}} / {{tt| |Space}}{{sup/3|E}}{{sup/3|FRLG}} | |||
| <span style="font-size:0;vertical-align:middle">http://i.imgur.com/sRPGtYd.png http://i.imgur.com/4asvkWZ.png http://i.imgur.com/StcMda5.png</span> | |||
| <span style="font-size:0;vertical-align:middle">http://i.imgur.com/v9ssWrW.png http://i.imgur.com/AjAmxME.png http://i.imgur.com/YzOMOOh.png</span> | |||
|- | |||
! <code>0x64</code> | |||
| colspan=4 style="background-color:#bbb" | Japanese / nothing | |||
| style="background-color:#ddd" | <small>Pco</small>{{sup/3|E}} | |||
|- style="background-color:#bbb" | |||
! <code>0x7D</code>-<code>0x83</code> | |||
| colspan=2 | Japanese / nothing | |||
<!-- Note: These external images should be replaced with Archive images as soon as possible. --> | |||
| style="background:#ddd" | <span style="font-size:0;vertical-align:middle">http://i.imgur.com/am6lf1s.png http://i.imgur.com/PgUPTrm.png http://i.imgur.com/AXhxQY7.png http://i.imgur.com/f5T9pFl.png http://i.imgur.com/0aYjrQl.png http://i.imgur.com/I9uIQbf.png</span> | |||
| colspan=2 | Japanese / nothing | |||
|- | |||
! <code>0xB1</code> | |||
| colspan=3 | “ | |||
| „ | |||
| « | |||
|- | |||
! <code>0xB2</code> | |||
| colspan=3 | ” | |||
| “ | |||
| » | |||
|} | |} | ||
===Japanese=== | ===Japanese=== | ||
As in the international table, only the characters on a white background can be used legitimately in nicknames and OT names, while the characters on a dark gray background are printed as spaces in Pokémon Emerald, FireRed, and LeafGreen. Beyond those, the Japanese character set has no differences between revisions or regions. | |||
:{| style="text-align: center; border-collapse:collapse" cellpadding="2px" width="375px" | :{| style="text-align: center; border-collapse:collapse" cellpadding="2px" width="375px" | ||
Line 213: | Line 334: | ||
|- | |- | ||
! B- | ! B- | ||
| style="letter-spacing:-5px" | <small>・・</small> || 『 || 』 || 「 || 」 || ♂ || ♀ || 円 || . || × || / || A || B || C || D || E | | style="letter-spacing:-5px" | <small>・・</small> || 『 || 』 || 「 || 」 || ♂ || ♀ || style="background:#ddd" | 円 || style="background:#ddd" | . || style="background:#ddd" | × || / || A || B || C || D || E | ||
|- | |- | ||
! C- | ! C- | ||
Line 222: | Line 343: | ||
|- | |- | ||
! E- | ! E- | ||
| l || m || n || o || p || q || r || s || t || u || v || w || x || y || z || ▶ | | l || m || n || o || p || q || r || s || t || u || v || w || x || y || z || style="background:#ddd" | ▶ | ||
|- | |- style="background:#ddd" | ||
! F- | ! style="background:#fff" | F- | ||
|: || Ä || Ö || Ü || ä || ö || ü || style="background:#bbb"| ⬆ || style="background:#bbb" | ⬇ || style="background:#bbb" | ⬅ || colspan=6 | ''Control characters'' | | : || Ä || Ö || Ü || ä || ö || ü || style="background:#bbb"| ⬆ || style="background:#bbb" | ⬇ || style="background:#bbb" | ⬅ || colspan=6 | ''Control characters'' | ||
|} | |} | ||
Revision as of 18:17, 15 April 2017
The Generation III games use a proprietary character encoding to store text data. The Generation III encoding is greatly different from the encodings used in previous generations, with characters corresponding to different bytes. Versions of the games in different languages may use different encodings, some more different than others.
Some text strings are stored in fixed-length structures while others are stored in a block of text with separate strings simply terminated by 0xFF. In the large, variable-length blocks, usually another structure will have pointers to the appropriate string(s) within that block of text. In the fixed-length structures, strings are still terminated by 0xFF, but any remainder of the allotted space is padded out with 0x00.
Character sets
International (English, French, Italian, German, and Spanish) games in Generation III contain two character sets: their own, and Japanese. The international games' character sets are nearly identical, with only a select few regional differences. For most text, the game's own character set is used, but a Pokémon's nickname and its Original Trainer's name use the Japanese character set if the Pokémon's language value is set to Japanese. In the Japanese versions, since there is no international character set, the Japanese character set is always used.
Note that 0x00 in the following tables is a space (" "), not empty.
International
The main character sets in international versions contain the characters below. However, only the characters on a white background can legitimately be entered into nicknames and OT names. Those on a light gray background cannot be entered into name fields, although they are specially defined in at least one version. Characters on a dark gray background are, in all versions, unused holdovers from the Japanese encoding. They are displayed differently across versions.
As is, the following table contains the glyphs as they appear in version 1.1 and 1.2 of Pokémon Ruby and Sapphire Versions. Some revisional and regional differences do exist.
-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F 0- À Á Â Ç È É Ê Ë Ì こ Î Ï Ò Ó Ô 1- Œ Ù Ú Û Ñ ß à á ね ç è é ê ë ì ま 2- î ï ò ó ô œ ù ú û ñ º ª ᵉʳ & + あ 3- ぃ ぅ ぇ ぉ Lv= ;が ぎ ぐ げ ご ざ じ ず ぜ 4- ぞ だ ぢ づ で ど ば び ぶ べ ぼ ぱ ぴ ぷ ぺ ぽ 5- っ¿ ¡ PK MN PO Ké Í % ( ) セソ6- タチツテト ナ ニ ヌ â ノ ハ ヒ フ ヘ ホ í 7- ミ ム メ モ ヤ ユ ヨ ラ リ ⬆ ⬇ ⬅ ➡ ヲンァ8- ィゥェォᵉ<>ガ ギ グ ゲ ゴ ザ ジ ズ ゼ 9- ゾ ダ ヂ ヅ デ ド バ ビ ブ ベ ボ パ ピ プ ペ ポ A- ʳᵉ0 1 2 3 4 5 6 7 8 9 ! ? . - ・ B- ‥“”‘ ’ ♂ ♀ $ , × / A B C D E C- F G H I J K L M N O P Q R S T U D- V W X Y Z a b c d e f g h i j k E- l m n o p q r s t u v w x y z ▶ F- : Ä Ö Ü ä ö ü ⬆ ⬇ ⬅ Control characters
Revisional differences
In Pokémon Emerald, FireRed, and LeafGreen, the characters a dark gray background in the table above appear as spaces, with the exception of 0xAF
(・). In addition, version 1.0 of the English Ruby and Sapphire Versions are missing a few characters. The following table details the differences between revisions.
RS English 1.0 RS English 1.1
RS English 1.2
RS Non-EnglishFRLG E 0x36
ょ ; 0x50
っ ▯ 0x7D
-0x83
ヲンァィゥェォ Spaces 1-7 pixels wide
in ascending order0x84
ャ ᵉ 0x85
ュ < 0x86
ョ > 0xA0
ッ ʳᵉ 0xB0
‥ … / ‥
Regional differences
Although the international character set is largely the same across all localizations, some differences do exist. Because quotation marks (which can be entered into names) differ between regions, Pokémon with nicknames and OT names containing those will display differently if traded to games of other regions. The following table details the differences between regions.
English Spanish Italian German French 0x34
Lv NvRS / Nv.EFRLG L. Lv. N. 0x57
-0x59
, , MRS / EFRLG 0x64
Japanese / nothing PcoE 0x7D
-0x83
Japanese / nothing Japanese / nothing 0xB1
“ „ « 0xB2
” “ »
Japanese
As in the international table, only the characters on a white background can be used legitimately in nicknames and OT names, while the characters on a dark gray background are printed as spaces in Pokémon Emerald, FireRed, and LeafGreen. Beyond those, the Japanese character set has no differences between revisions or regions.
-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F 0- あ い う え お か き く け こ さ し す せ そ 1- た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま 2- み む め も や ゆ よ ら り る れ ろ わ を ん ぁ 3- ぃ ぅ ぇ ぉ ゃ ゅ ょ が ぎ ぐ げ ご ざ じ ず ぜ 4- ぞ だ ぢ づ で ど ば び ぶ べ ぼ ぱ ぴ ぷ ぺ ぽ 5- っ ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ 6- タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ 7- ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン ァ 8- ィ ゥ ェ ォ ャ ュ ョ ガ ギ グ ゲ ゴ ザ ジ ズ ゼ 9- ゾ ダ ヂ ヅ デ ド バ ビ ブ ベ ボ パ ピ プ ペ ポ A- ッ 0 1 2 3 4 5 6 7 8 9 ! ? 。 ー ・ B- ・・ 『 』 「 」 ♂ ♀ 円 . × / A B C D E C- F G H I J K L M N O P Q R S T U D- V W X Y Z a b c d e f g h i j k E- l m n o p q r s t u v w x y z ▶ F- : Ä Ö Ü ä ö ü ⬆ ⬇ ⬅ Control characters
Control characters
- 0xFA and 0xFB both mark a prompt for the player to press a button to continue the dialogue. However, they will print the new line of dialogue differently: 0xFA will scroll the previous dialogue up one line before printing the next line, while 0xFB will clear the dialogue box entirely.
- 0xFC is an escape character that leads to several different functions (see below).
- 0xFD is an escape character for variables, such as the player's name or a Pokémon's name (see below).
- 0xFE is a line break.
- 0xFF is a terminator, marking the ends of strings.
0xFC functions
When 0xFC is followed by...
- 0x01, it will change the color of the text, depending on the byte following. The available colors are listed below.
- 0x02, the text will be highlighted, depending on the byte following. The available colors are listed below.
- 0x03, the text's shadow will have its color changed, depending on the byte following. The available colors are listed below.
- 0x04, the text will be colored and highlighted. The byte immediately following determines the text's color, while a second byte afterward will determine the highlight color. The available colors are listed below.
- 0x06, the text will change size, depending on the byte following. 0x00 will make the font smaller, while anything else will make the font the default size.
- 0x08 and another byte, it produces a pause in the text. The byte after 0x08 determines the length of the pause.
- 0x09, the game will pause text display, and resume upon pressing a button.
- 0x0C, it will escape the byte that follows 0x0C if it is a control character and print a new character. If the second byte after 0xFC is not a control character byte, that byte prints normally.
- When the third byte is 0xFA, "➡" is produced.
- When the third byte is 0xFB, "+" is produced (though in the Japanese games, within the Options screen, it produces "=").
- The other control characters do not produce any characters. In the English games, nothing is printed, while in the Japanese games, miscellaneous data appears to be printed.
- 0x0D, the text will be shifted by a certain amount of pixels, depending on the byte following this one. The effect wears off upon entering a new line.
- 0x10, music will begin to play. Music is specified by the two bytes following, in little endian format.
- 0x15, text will be rendered slightly larger and more spread out.
- 0x16, text will be rendered at the default size and spread.
- 0x17, music will be paused.
- 0x18, music will resume playing.
Color values
A table of available text, highlight, and shadow colors is shown below.
Byte | RS | FRLG | E |
---|---|---|---|
0x00 | Transparent | ||
0x01 | |||
0x02 | |||
0x03 | |||
0x04 | |||
0x05 | |||
0x06 | |||
0x07 | |||
0x08 | |||
0x09 | |||
0x0A | |||
0x0B | |||
0x0C | |||
0x0D | |||
0x0E | |||
0x0F |
0xFD variables
When 0xFD is followed by the bytes below, the following variables are printed.
- 0x01: the player's name
- 0x02, 0x03, or 0x04: whatever text has been assigned to one of three buffers using a variety of script commands
- 0x06: the rival's name
- 0x07: the game's nameRSE
- 0x08: the name of the villainous teamRSE
- 0x09: the name of the non-villainous teamRSE
- 0x0A: the name of the villainous team's leaderRSE
- 0x0B: the name of the non-villainous team's leaderRSE
- 0x0C: the name of the villainous team's legendary PokémonRSE
- 0x0D: the name of the opposing legendary PokémonRSE
Trivia
- In the name field for Eggs, the game places the bytes
0x60 0x6F 0x8B
corresponding to タマゴ (tamago, the Japanese word for egg). This remains in the English version even though the characters have been replaced.
|
This data structure article is part of Project Games, a Bulbapedia project that aims to write comprehensive articles on the Pokémon games. |