Difference between revisions of "FF8/String Encoding"
< FF8
Jump to navigation
Jump to search
my_wiki>Sebanisu (Started stream encoding entry. still more to do but wanted to start special characters.) |
my_wiki>Sebanisu m (formatted header) |
||
Line 1: | Line 1: | ||
− | [https://sourceforge.net/p/ifrit/code-0/HEAD/tree/trunk%20ifrit-code-0/Resources/textformat.ifr | + | = String Encoding = |
− | + | FF8 strings are converted to byte arrays.[https://sourceforge.net/p/ifrit/code-0/HEAD/tree/trunk%20ifrit-code-0/Resources/textformat.ifr 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== | ==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. | 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. | ||
Line 14: | Line 13: | ||
| NULL | | NULL | ||
| End of string | | End of string | ||
+ | |- | ||
+ | | 0x02 | ||
+ | | 1 | ||
+ | | \n | ||
+ | | Inserts new line | ||
+ | Some areas ignore this character. | ||
|- | |- | ||
| 0x03 | | 0x03 |
Revision as of 18:58, 22 April 2019
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 |
0x0C | 2 | SpellID | Used to place a name of a spell. |