Difference between revisions of "Final Fantasy Tactics Advance:Strings"

From Data Crystal
Jump to navigation Jump to search
m
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{subpage|game=Final Fantasy Tactics Advance}}
 
=Data format=
 
=Data format=
 
A string consists of one or more characters. The characters are ''generally'' multibyte and can be any of the following:
 
A string consists of one or more characters. The characters are ''generally'' multibyte and can be any of the following:
Line 45: Line 46:
 
: Values (big-endian)
 
: Values (big-endian)
  
{| style="border: 1px solid; border-collapse: collapse; text-align: center;" cellspacing="0" cellpadding="3" border="1"
+
{| style="border: 1px solid #aaaaaa; border-collapse: collapse; text-align: center;" cellspacing="0" cellpadding="3" border="1"
  !
+
|- style="background: #ccccff;"
 +
  !style="background: #8888cc;" |
 
  !0
 
  !0
 
  !1
 
  !1
Line 64: Line 66:
 
  !F
 
  !F
 
  |-
 
  |-
  !800x
+
  !style="background: #ccccff;" | 800x
 
  |ぁ
 
  |ぁ
 
  |あ
 
  |あ
Line 82: Line 84:
 
  |ぐ
 
  |ぐ
 
  |-
 
  |-
  !801x
+
  !style="background: #ccccff;" | 801x
 
  |け
 
  |け
 
  |げ
 
  |げ
Line 100: Line 102:
 
  |だ
 
  |だ
 
  |-
 
  |-
  !802x
+
  !style="background: #ccccff;" | 802x
 
  |ち
 
  |ち
 
  |ぢ
 
  |ぢ
Line 118: Line 120:
 
  |ば
 
  |ば
 
  |-
 
  |-
  !803x
+
  !style="background: #ccccff;" | 803x
 
  |ぱ
 
  |ぱ
 
  |ひ
 
  |ひ
Line 136: Line 138:
 
  |む
 
  |む
 
  |-
 
  |-
  !804x
+
  !style="background: #ccccff;" | 804x
 
  |め
 
  |め
 
  |も
 
  |も
Line 154: Line 156:
 
  |を
 
  |を
 
  |-
 
  |-
  !805x
+
  !style="background: #ccccff;" | 805x
 
  |ん
 
  |ん
 
  |ァ
 
  |ァ
Line 172: Line 174:
 
  |ク
 
  |ク
 
  |-
 
  |-
  !806x
+
  !style="background: #ccccff;" | 806x
 
  |グ
 
  |グ
 
  |ケ
 
  |ケ
Line 190: Line 192:
 
  |タ
 
  |タ
 
  |-
 
  |-
  !807x
+
  !style="background: #ccccff;" | 807x
 
  |ダ
 
  |ダ
 
  |チ
 
  |チ
Line 208: Line 210:
 
  |ハ
 
  |ハ
 
  |-
 
  |-
  !808x
+
  !style="background: #ccccff;" | 808x
 
  |バ
 
  |バ
 
  |パ
 
  |パ
Line 226: Line 228:
 
  |ミ
 
  |ミ
 
  |-
 
  |-
  !809x
+
  !style="background: #ccccff;" | 809x
 
  |ム
 
  |ム
 
  |メ
 
  |メ
Line 244: Line 246:
 
  |ワ
 
  |ワ
 
  |-
 
  |-
  !80Ax
+
  !style="background: #ccccff;" | 80Ax
 
  |ヲ
 
  |ヲ
 
  |ン
 
  |ン
Line 262: Line 264:
 
  |9
 
  |9
 
  |-
 
  |-
  !80Bx
+
  !style="background: #ccccff;" | 80Bx
 
  | A
 
  | A
 
  | B
 
  | B
Line 280: Line 282:
 
  | P
 
  | P
 
  |-
 
  |-
  !80Cx
+
  !style="background: #ccccff;" | 80Cx
 
  | Q
 
  | Q
 
  | R
 
  | R
Line 298: Line 300:
 
  | f
 
  | f
 
  |-
 
  |-
  !80Dx
+
  !style="background: #ccccff;" | 80Dx
 
  | g
 
  | g
 
  | h
 
  | h
Line 316: Line 318:
 
  | v
 
  | v
 
  |-
 
  |-
  !80Ex
+
  !style="background: #ccccff;" | 80Ex
 
  | w
 
  | w
 
  | x
 
  | x
Line 334: Line 336:
 
  | _
 
  | _
 
  |-
 
  |-
  !80Fx
+
  !style="background: #ccccff;" | 80Fx
 
  | 々
 
  | 々
 
  | /
 
  | /
Line 352: Line 354:
 
  | ±
 
  | ±
 
  |-
 
  |-
  !810x
+
  !style="background: #ccccff;" | 810x
 
  | ×
 
  | ×
 
  | =
 
  | =
Line 370: Line 372:
 
  | ◀*
 
  | ◀*
 
  |-
 
  |-
  !811x
+
  !style="background: #ccccff;" | 811x
 
  | ▶*
 
  | ▶*
 
  | ○
 
  | ○
Line 388: Line 390:
 
  | 7**
 
  | 7**
 
  |-
 
  |-
  !812x
+
  !style="background: #ccccff;" | 812x
 
  | 8**
 
  | 8**
 
  | 9**
 
  | 9**
Line 518: Line 520:
 
===Pointers to CRNs===
 
===Pointers to CRNs===
 
The CRN pointers are located at 0x085516D0 and are consecutive. There appear to be empty slots for additional CRNs.
 
The CRN pointers are located at 0x085516D0 and are consecutive. There appear to be empty slots for additional CRNs.
 +
 +
=Names of Characters=
 +
Start at &H566A00, All Single Byte.
  
 
=References=
 
=References=

Latest revision as of 00:59, 5 June 2016

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.

Names of Characters

Start at &H566A00, All Single Byte.

References

Based on work from these sources: