FF8/String Encoding

From Final Fantasy Inside
< FF8
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.