The current URL is datacrystal.tcrf.net.
Final Fantasy Tactics Advance/Strings: Difference between revisions
Darthatron (talk | contribs) |
Darthatron (talk | contribs) |
||
Line 46: | Line 46: | ||
{| style="border: 1px solid; border-collapse: collapse; text-align: center;" cellspacing="0" cellpadding="3" border="1" | {| style="border: 1px solid; border-collapse: collapse; text-align: center;" cellspacing="0" cellpadding="3" border="1" | ||
! | |- style="background: #eeeeee;" | ||
!style="background: #7f7f7f;" | | |||
!0 | !0 | ||
!1 | !1 | ||
Line 64: | Line 65: | ||
!F | !F | ||
|- | |- | ||
!800x | !style="background: #eeeeee;" | 800x | ||
|ぁ | |ぁ | ||
|あ | |あ | ||
Line 82: | Line 83: | ||
|ぐ | |ぐ | ||
|- | |- | ||
!801x | !style="background: #eeeeee;" | 801x | ||
|け | |け | ||
|げ | |げ | ||
Line 100: | Line 101: | ||
|だ | |だ | ||
|- | |- | ||
!802x | !style="background: #eeeeee;" | 802x | ||
|ち | |ち | ||
|ぢ | |ぢ | ||
Line 118: | Line 119: | ||
|ば | |ば | ||
|- | |- | ||
!803x | !style="background: #eeeeee;" | 803x | ||
|ぱ | |ぱ | ||
|ひ | |ひ | ||
Line 136: | Line 137: | ||
|む | |む | ||
|- | |- | ||
!804x | !style="background: #eeeeee;" | 804x | ||
|め | |め | ||
|も | |も | ||
Line 154: | Line 155: | ||
|を | |を | ||
|- | |- | ||
!805x | !style="background: #eeeeee;" | 805x | ||
|ん | |ん | ||
|ァ | |ァ | ||
Line 172: | Line 173: | ||
|ク | |ク | ||
|- | |- | ||
!806x | !style="background: #eeeeee;" | 806x | ||
|グ | |グ | ||
|ケ | |ケ | ||
Line 190: | Line 191: | ||
|タ | |タ | ||
|- | |- | ||
!807x | !style="background: #eeeeee;" | 807x | ||
|ダ | |ダ | ||
|チ | |チ | ||
Line 208: | Line 209: | ||
|ハ | |ハ | ||
|- | |- | ||
!808x | !style="background: #eeeeee;" | 808x | ||
|バ | |バ | ||
|パ | |パ | ||
Line 226: | Line 227: | ||
|ミ | |ミ | ||
|- | |- | ||
!809x | !style="background: #eeeeee;" | 809x | ||
|ム | |ム | ||
|メ | |メ | ||
Line 244: | Line 245: | ||
|ワ | |ワ | ||
|- | |- | ||
!80Ax | !style="background: #eeeeee;" | 80Ax | ||
|ヲ | |ヲ | ||
|ン | |ン | ||
Line 262: | Line 263: | ||
|9 | |9 | ||
|- | |- | ||
!80Bx | !style="background: #eeeeee;" | 80Bx | ||
| A | | A | ||
| B | | B | ||
Line 280: | Line 281: | ||
| P | | P | ||
|- | |- | ||
!80Cx | !style="background: #eeeeee;" | 80Cx | ||
| Q | | Q | ||
| R | | R | ||
Line 298: | Line 299: | ||
| f | | f | ||
|- | |- | ||
!80Dx | !style="background: #eeeeee;" | 80Dx | ||
| g | | g | ||
| h | | h | ||
Line 316: | Line 317: | ||
| v | | v | ||
|- | |- | ||
!80Ex | !style="background: #eeeeee;" | 80Ex | ||
| w | | w | ||
| x | | x | ||
Line 334: | Line 335: | ||
| _ | | _ | ||
|- | |- | ||
!80Fx | !style="background: #eeeeee;" | 80Fx | ||
| 々 | | 々 | ||
| / | | / | ||
Line 352: | Line 353: | ||
| ± | | ± | ||
|- | |- | ||
!810x | !style="background: #eeeeee;" | 810x | ||
| × | | × | ||
| = | | = | ||
Line 370: | Line 371: | ||
| ◀* | | ◀* | ||
|- | |- | ||
!811x | !style="background: #eeeeee;" | 811x | ||
| ▶* | | ▶* | ||
| ○ | | ○ | ||
Line 388: | Line 389: | ||
| 7** | | 7** | ||
|- | |- | ||
!812x | !style="background: #eeeeee;" | 812x | ||
| 8** | | 8** | ||
| 9** | | 9** |
Revision as of 16:08, 29 June 2009
Data format
A string consists of one or more characters. The characters are generally multibyte and can be any of the following:
- 0x00: End of string/Padding
- 0x01: Signal start of single-byte section (see below). Can only appear at beginning of string.
- 0x10 0xXX: Unknown
- Values:
- 0x00: Only observed value
- 0x20 0xXX: Unknown
- Values:
- 0x00: Only observed value
- 0x32 0xXX 0xYYYYYYYY: Signal start of FFTA LZSS string. Can only appear at beginning of string.
- Values for X:
- 0x00: Only observed value (Changing appears to have no effect)
- Y is a big-endian representation of the size of the decompressed string
- 0x40 0xXX: Control character
- Values:
- 0x21 0xXX: Unknown
- Values: Unknown
- 0x25 0xXX: Look up party character's name[need verification]
- Values:
- 0x00: Marche
- 0x3C 0xXX: Unknown
- Values: Unknown
- 0x3E 0xXX: Custom-width space
- Values: Width of space, in pixels
- 0x53 0xXY [string] [string]: Display choice
- Values:
- Upper nibble: Set to 1, other values have odd behavior
- Lower nibble: 0 for first option selected by default, 1 for second option selected by default. Other values seem to be same as 0[need verification]
- 0x61: Wait for button press. Only works when message box extended[need verification]
- 0x63: Clear dialog box
- 0x6E: Newline
- 0x70: Display "Press button for next page" icon (and wait for input)
- 0x72 0xXX: Look up character names (CRNs)
- Values: See CRNs
- 0x73: Space
- 0x74 0xXX: Delay text for X/10 seconds
- 0x75: Unknown
- 0x77: Observed, purpose unknown
- 0x78: Unknown
- 0x79: Unknown
- Other values will crash the game. However, it is unknown if this is always the case.
- 0x44: Appears to exist, purpose unknown
- 0x8X 0xXX: Printed character
- Values (big-endian)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
800x | ぁ | あ | ぃ | い | ぅ | う | ぇ | え | ぉ | お | か | が | き | ぎ | く | ぐ |
801x | け | げ | こ | ご | さ | ざ | し | じ | す | ず | せ | ぜ | そ | ぞ | た | だ |
802x | ち | ぢ | っ | つ | づ | て | で | と | ど | な | に | ぬ | ね | の | は | ば |
803x | ぱ | ひ | び | ぴ | ふ | ぶ | ぷ | へ | べ | ぺ | ほ | ぼ | ぽ | ま | み | む |
804x | め | も | ゃ | や | ゅ | ゆ | ょ | よ | ら | り | る | れ | ろ | ゎ | わ | を |
805x | ん | ァ | ア | ィ | イ | ゥ | ウ | ェ | エ | ォ | オ | カ | ガ | キ | ギ | ク |
806x | グ | ケ | ゲ | コ | ゴ | サ | ザ | シ | ジ | ス | ズ | セ | ゼ | ソ | ゾ | タ |
807x | ダ | チ | ヂ | ッ | ツ | ヅ | テ | デ | ト | ド | ナ | ニ | ヌ | ネ | ノ | ハ |
808x | バ | パ | ヒ | ビ | ピ | フ | ブ | プ | ヘ | ベ | ペ | ホ | ボ | ポ | マ | ミ |
809x | ム | メ | モ | ャ | ヤ | ュ | ユ | ョ | ヨ | ラ | リ | ル | レ | ロ | ヮ | ワ |
80Ax | ヲ | ン | ヴ | 、 | 。 | ー | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
80Bx | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P |
80Cx | Q | R | S | T | U | V | W | X | Y | Z | a | b | c | d | e | f |
80Dx | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v |
80Ex | w | x | y | z | . | 「 | 」 | 『 | 』 | … | ? | ! | , | · | : | _ |
80Fx | 々 | / | ~ | ‘ | ’ | “ | ” | ( | ) | { | } | 【 | 】 | + | - | ± |
810x | × | = | < | > | ∞ | ♂ | ♀ | % | & | * | ※ | ─ | │ | ▲* | ▼* | ◀* |
811x | ▶* | ○ | △ | □ | ■ | ♪ | ; | ◎ | 0** | 1** | 2** | 3** | 4** | 5** | 6** | 7** |
812x | 8** | 9** | -** | *** |
- *Approximation
- **Fixed width (not fullwidth)
- ***The rest of the table appears to be filled with kanji
Single-byte mode
Any string that begins with the byte 0x01 signals that the rest of the string consists of single-byte characters. The single-byte character table is identical to the 0x80XX table, except each letter is shifted by one. For example, 0x80CC ('c') becomes 0xCD. A single-byte character string is terminated by a null byte.
ROM data
CRNs
CRN data starts at 0x0855128C. CRNs are densely packed, stored as strings, and pointers must be adjusted if lengths change. See below for additional info on pointers.
Default CRN list
- 0x00: CRN_NONE
- 0x01: CRN_DEF
- 0x02: Marche
- 0x03: Mewt
- 0x04: Ritz
- 0x05: Remedi
- 0x06: Cid
- 0x07: Doned
- 0x08: Montblanc
- 0x09: Babus
- 0x0A: Ezel
- 0x0B: Nono
- 0x0C: Shara
- 0x0D: Llendar
- 0x0E: Lyle
- 0x0F: Guinness
- 0x10: Colin
- 0x11: Leslaie
- 0x12: Mateus
- 0x13: Adrammelech
- 0x14: Ultima Crystal
- 0x15: Exodus Fruit
- 0x16: Famfrit
- 0x17: Judge
- 0x18: Mateus
- 0x19: Adrammelech
- 0x1A: Famfrit
- 0x1B: Littlevili
- 0x1C: CRN_RES6
- 0x1D: CRN_RES7
- 0x1E: Dabarosa
- 0x1F: Dolce
- 0x20: Warose
- 0x21: Raven
- 0x22: Hejaat
- 0x23: Batalise
- 0x24: Golitaire
- 0x25: Bishon
- 0x26: Steraiz
- 0x27: Gukko
- 0x28: Maliris
- 0x29: Sandy
- 0x2A: Cindy
- 0x2B: Mindy
- 0x2C: Kraken
- 0x2D: Tiamat
- 0x2E: Lich
- 0x2F: Glasm
- 0x30: Silverlock
- 0x31: Gutskor
- 0x32: Ogma
- 0x33: Reaker
- 0x34: Bladesman
- 0x35: Carot
- 0x36: Hanzou
- 0x37: Dark Knight
- 0x38: Buckles
- 0x39: Gagat
- 0x3A: Meow
- 0x3B: Mystery Box
- 0x3C: Odd Statue
- 0x3D: Magic Device
- 0x3E: Big Gabbana
- 0x3F: Lil Gabbana
- 0x40: Diaghilev
- 0x41: Kanan
- 0x42: Rayne
- 0x43: Lodion
- 0x44: Gerland
- 0x45: Lord Ghost
- 0x46: Gelato
- 0x47: Auggie
- 0x48: Belvay
- 0x49: Delia Wyrms
- 0x4A: Grissom
- 0x4B: Mombomb
- 0x4C: Celia
- 0x4D: Redy
- 0x4E: Queen Lamia
- 0x4F: Adamantoise
- 0x50: Ochu
- 0x51: Neochu
- 0x52: Dread Lord
- 0x53: Apanda
- 0x54: Archaedemon
- 0x55: Mamaflan
- 0x56: Fog
- 0x57: Grang
- 0x58: Vili
- 0x59: Haweh
- 0x5A: Ganderu
- 0x5B: Weaver
- 0x5C: Mintz
- 0x5D: Eldena
- 0x5E: Cheney
- 0x5F: Pallanza
- 0x60: Lini
- 0x61: Quin
- 0x62: Pam Le Fay
- 0x63: Delusiah
- 0x64: CRN_NAME071
- 0x65: CRN_NAME072
- 0x66: Don Brass
- 0x67: Leanan
- 0x68: Dredd
- 0x69: Reinhold
- 0x6A: Mike
- Other values are invalid by default
Pointers to CRNs
The CRN pointers are located at 0x085516D0 and are consecutive. There appear to be empty slots for additional CRNs.
References
Based on work from these sources: