FF8/String Encoding

From Final Fantasy Inside
< FF8
Revision as of 01:12, 15 July 2019 by BukTop (talk | contribs) (2 revisions imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

String Encoding

FF8 strings are converted to byte arrays.Char Table Some of which aligns to the grid of text in the texture if you -32 from the value. Some values are 1 byte = 2 characters, most are 1 byte = 1 character. There are also special bytes that use up 1-3 bytes.

Special Bytes

These bytes are points where things are inserted or a change in formatting. Some just say to ignore this string unless the player unlocked something.

Starting Byte Size Name Description
0x00 1 NULL End of string
0x02 1 \n Inserts new line

Some areas ignore this character.

0x03 2 Name When see 0x03??, in a string, it's usually a characters name.
0x05 2 Icon 0x05?? used to draw a symbol from icons.tex, like controller buttons.

On PC it draws the letter of keyboard keys assigned to the controls.

0x06 2 Color 0x06?? used to show a change in formatting like color
0x0A 2 Special_Value 0x0A?? can be a string or number value.

Depending on which string you are reading it can be a different value.

0x0B 2 or 3 Cursor_Locations Might be number of possible return values that determine whether this is 3 or 2 bytes.

Like YES or NO questions will only be 2 bytes
but screens with a list of multiple selections will will use 3 bytes.

0x0C 2 SpellID Used to place a name of a spell.