Difference between pages "FF8/Menu mngrp bin" and "FF8/String Encoding"

From Final Fantasy Inside
< FF8(Difference between pages)
Jump to navigation Jump to search
my_wiki>Sebanisu
(Mapped Data: updated the description of playstation controls)
 
m (2 revisions imported)
 
Line 1: Line 1:
This file is an archive the contains 117 files. I created map by reading [[FF8/Menu_mngrphd_bin|mngrphd.bin]] and filling in data from [http://forums.qhimm.com/index.php?topic=17099.0 FF8 - mngrp.bin by JWP].
+
= String Encoding =
==Mapped Data==
+
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==
 +
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.
 
{| class="wikitable"
 
{| class="wikitable"
|-
+
! Starting Byte
! Pos
 
! Seek
 
 
! Size
 
! Size
! Filename
+
! Name
 
! Description
 
! Description
 
|-
 
|-
| 0
+
| 0x00
| 0x0
+
| 1
| 0x800
+
| NULL
| [[FF8/Menu_tkmnmes|tkmnmes1.bin]]
+
| End of string
| Encoded string archive
 
 
|-
 
|-
 +
| 0x02
 
| 1
 
| 1
| 0x800
+
| \n
| 0x1800
+
| Inserts new line
| [[FF8/Menu_tkmnmes|tkmnmes2.bin]]
+
Some areas ignore this character.
| Encoded string archive
 
 
|-
 
|-
 +
| 0x03
 
| 2
 
| 2
| 0x2000
+
| Name
| 0x2000
+
| When see 0x03??, in a string, it's usually a characters name.
| [[FF8/Menu_tkmnmes|tkmnmes3.bin]]
 
| Encoded string archive
 
 
|-
 
|-
| 3
+
| 0x05
| 0x4000
+
| 2
| 0xE000
+
| 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.
 
|-
 
|-
| 4
+
| 0x06
| 0x12000
+
| 2
| 0x1000
+
| Color
|
+
| 0x06?? used to show a change in formatting like color
|
 
 
|-
 
|-
| 5
+
| 0x0A
| 0x13000
+
| 2
| 0x6800
+
| Special_Value
| [[FF8/Menu_sp2#Content_of_face1.tex_and_face2.tex|face1.tim]]
+
| 0x0A?? can be a string or number value.
| Character portraits
+
Depending on which string you are reading it can be a different value.
 
|-
 
|-
| 6
+
| 0x0B
| 0x19800
+
| 2 or 3
| 0x6800
+
| Cursor_Locations
| [[FF8/Menu_sp2#Content_of_face1.tex_and_face2.tex|face2.tim]]
+
| Might be number of possible return values that determine whether this is 3 or 2 bytes.
| GF portraits
+
Like YES or NO questions will only be 2 bytes<br/>
 +
but screens with a list of multiple selections will will use 3 bytes.
 
|-
 
|-
| 7
+
| [http://forums.qhimm.com/index.php?topic=17120.msg243579#msg243579 0x0C]
| 0x20000
+
| 2
| 0x800
+
| SpellID
| magita.tim
+
| Used to place a name of a spell.
| Tutorial/Magazine background texture
 
|-
 
| 8
 
| 0x20800
 
| 0xE000
 
| start00_and_start01.tim
 
| Title screen logo
 
|-
 
| 9
 
| 0x2E800
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag00.tim]]
 
| Weapons Monthly, 1st Issue
 
|-
 
| 10
 
| 0x3B000
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag07.tim]]
 
| Pet Pals
 
|-
 
| 11
 
| 0x47800
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag00.tim]]
 
| Weapons Monthly, 1st Issue
 
duplicate of 0x2E800
 
|-
 
| 12
 
| 0x54000
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag01.tim]]
 
| Weapons Monthly, March Issue
 
|-
 
| 13
 
| 0x60800
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag02.tim]]
 
| Weapons Monthly, April Issue
 
|-
 
| 14
 
| 0x6D000
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag03.tim]]
 
| Weapons Monthly, May Issue
 
|-
 
| 15
 
| 0x79800
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag04.tim]]
 
| Weapons Monthly, June Issue
 
|-
 
| 16
 
| 0x86000
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag05.tim]]
 
| Weapons Monthly, July Issue
 
|-
 
| 17
 
| 0x92800
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag06.tim]]
 
| Weapons Monthly, August Issue
 
|-
 
| 18
 
| 0x9F000
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag08.tim]]
 
| Occult Fan I & II
 
|-
 
| 19
 
| 0xAB800
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag09.tim]]
 
| Occult Fan III & IV
 
|-
 
| 20
 
| 0xB8000
 
| 0xC800
 
| [[FF8/Menu_sp2#Content_of_mc00.tex-mc09.tex|mc00.tim]]
 
| Card textures for menus
 
|-
 
| 21
 
| 0xC4800
 
| 0xC800
 
| [[FF8/Menu_sp2#Content_of_mc00.tex-mc09.tex|mc01.tim]]
 
| Card textures for menus
 
|-
 
| 22
 
| 0xD1000
 
| 0xC800
 
| [[FF8/Menu_sp2#Content_of_mc00.tex-mc09.tex|mc02.tim]]
 
| Card textures for menus
 
|-
 
| 23
 
| 0xDD800
 
| 0xC800
 
| [[FF8/Menu_sp2#Content_of_mc00.tex-mc09.tex|mc03.tim]]
 
| Card textures for menus
 
|-
 
| 24
 
| 0xEA000
 
| 0xC800
 
| [[FF8/Menu_sp2#Content_of_mc00.tex-mc09.tex|mc04.tim]]
 
| Card textures for menus
 
|-
 
| 25
 
| 0xF6800
 
| 0xC800
 
| [[FF8/Menu_sp2#Content_of_mc00.tex-mc09.tex|mc05.tim]]
 
| Card textures for menus
 
|-
 
| 26
 
| 0x103000
 
| 0xC800
 
| [[FF8/Menu_sp2#Content_of_mc00.tex-mc09.tex|mc06.tim]]
 
| Card textures for menus
 
|-
 
| 27
 
| 0x10F800
 
| 0xC800
 
| [[FF8/Menu_sp2#Content_of_mc00.tex-mc09.tex|mc07.tim]]
 
| Card textures for menus
 
|-
 
| 28
 
| 0x11C000
 
| 0xC800
 
| [[FF8/Menu_sp2#Content_of_mc00.tex-mc09.tex|mc08.tim]]
 
| Card textures for menus
 
|-
 
| 29
 
| 0x128800
 
| 0xC800
 
| [[FF8/Menu_sp2#Content_of_mc00.tex-mc09.tex|mc09.tim]]
 
| Card textures for menus
 
|-
 
| 30
 
| 0x135000
 
| 0x11800
 
| PSX_Controller00.tim
 
| Field controls tutorial image
 
|-
 
| 31
 
| 0x146800
 
| 0x11800
 
| PSX_Controller01.tim
 
| World map controls tutorial image
 
|-
 
| 32
 
| 0x158000
 
| 0x11800
 
| PSX_Controller02.tim
 
| Battle controls tutorial image
 
|-
 
| 33
 
| 0x169800
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag10.tim]]
 
| Triple Triad tutorial
 
|-
 
| 34
 
| 0x176000
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag11.tim]]
 
| Triple Triad tutorial
 
|-
 
| 35
 
| 0x182800
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag12.tim]]
 
| Triple Triad tutorial
 
|-
 
| 36
 
| 0x18F000
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag13.tim]]
 
| Battle tutorial
 
|-
 
| 37
 
| 0x19B800
 
| 0xC800
 
| [[ff8/Menu_mag_textures|mag14.tim]]
 
| Battle tutorial
 
|-
 
| 38
 
| 0x1A8000
 
| 0x3000
 
| [[ff8/Menu_mag_textures|mag15.tim]]
 
| Battle tutorial
 
|-
 
| 39
 
| 0x1AB000
 
| 0x800
 
|-
 
| 40
 
| 0x1AB800
 
| 0x1000
 
|-
 
| 41
 
| 0x1AC800
 
| 0x1000
 
|-
 
| 42
 
| 0x1AD800
 
| 0x800
 
|-
 
| 43
 
| 0x1AE000
 
| 0x800
 
|-
 
| 44
 
| 0x1AE800
 
| 0x800
 
|-
 
| 45
 
| 0x1AF000
 
| 0x800
 
|-
 
| 46
 
| 0x1AF800
 
| 0x800
 
|-
 
| 47
 
| 0x1B0000
 
| 0x800
 
|-
 
| 48
 
| 0x1B0800
 
| 0x800
 
|-
 
| 49
 
| 0x1B1000
 
| 0x800
 
|-
 
| 50
 
| 0x1B1800
 
| 0x800
 
|-
 
| 51
 
| 0x1B2000
 
| 0x800
 
|-
 
| 52
 
| 0x1B2800
 
| 0x800
 
|-
 
| 53
 
| 0x1B3000
 
| 0x800
 
|-
 
| 54
 
| 0x1B3800
 
| 0x800
 
|-
 
| 55
 
| 0x1B4000
 
| 0x800
 
|-
 
| 56
 
| 0x1B4800
 
| 0x800
 
|-
 
| 57
 
| 0x1B5000
 
| 0x800
 
|-
 
| 58
 
| 0x1B5800
 
| 0x800
 
|-
 
| 59
 
| 0x1B6000
 
| 0x800
 
|-
 
| 60
 
| 0x1B6800
 
| 0x800
 
|-
 
| 61
 
| 0x1B7000
 
| 0x800
 
|-
 
| 62
 
| 0x1B7800
 
| 0x800
 
|-
 
| 63
 
| 0x1B8000
 
| 0x800
 
|-
 
| 64
 
| 0x1B8800
 
| 0x800
 
|-
 
| 65
 
| 0x1B9000
 
| 0x800
 
|-
 
| 66
 
| 0x1B9800
 
| 0x800
 
|-
 
| 67
 
| 0x1BA000
 
| 0x800
 
|-
 
| 68
 
| 0x1BA800
 
| 0x800
 
|-
 
| 69
 
| 0x1BB000
 
| 0x800
 
|-
 
| 70
 
| 0x1BB800
 
| 0x800
 
|-
 
| 71
 
| 0x1BC000
 
| 0x800
 
|-
 
| 72
 
| 0x1BC800
 
| 0x800
 
|-
 
| 73
 
| 0x1BD000
 
| 0x800
 
|-
 
| 74
 
| 0x1BD800
 
| 0x800
 
|-
 
| 75
 
| 0x1BE000
 
| 0x4800
 
|-
 
| 76
 
| 0x1C2800
 
| 0x4000
 
|-
 
| 77
 
| 0x1C6800
 
| 0x4800
 
|-
 
| 78
 
| 0x1CB000
 
| 0x4000
 
|-
 
| 79
 
| 0x1CF000
 
| 0x2800
 
|-
 
| 80
 
| 0x1D1800
 
| 0x4800
 
|-
 
| 81
 
| 0x1D6000
 
| 0x1000
 
|-
 
| 82
 
| 0x1D7000
 
| 0x800
 
|-
 
| 83
 
| 0x1D7800
 
| 0x800
 
|-
 
| 84
 
| 0x1D8000
 
| 0x800
 
|-
 
| 85
 
| 0x1D8800
 
| 0x800
 
|-
 
| 86
 
| 0x1D9000
 
| 0x800
 
|-
 
| 87
 
| 0x1D9800
 
| 0x800
 
|-
 
| 88
 
| 0x1DA000
 
| 0x800
 
|-
 
| 89
 
| 0x1DA800
 
| 0x800
 
|-
 
| 90
 
| 0x1DB000
 
| 0x800
 
|-
 
| 91
 
| 0x1DB800
 
| 0x800
 
|-
 
| 92
 
| 0x1DC000
 
| 0x800
 
|-
 
| 93
 
| 0x1DC800
 
| 0x800
 
|-
 
| 94
 
| 0x1DD000
 
| 0x800
 
|-
 
| 95
 
| 0x1DD800
 
| 0x800
 
|-
 
| 96
 
| 0x1DE000
 
| 0x800
 
|-
 
| 97
 
| 0x1DE800
 
| 0x800
 
|-
 
| 98
 
| 0x1DF000
 
| 0x800
 
|-
 
| 99
 
| 0x1DF800
 
| 0x800
 
|-
 
| 100
 
| 0x1E0000
 
| 0x800
 
|-
 
| 101
 
| 0x1E0800
 
| 0xC800
 
|-
 
| 102
 
| 0x1ED000
 
| 0xC800
 
|-
 
| 103
 
| 0x1F9800
 
| 0xC800
 
|-
 
| 104
 
| 0x206000
 
| 0xC800
 
|-
 
| 105
 
| 0x212800
 
| 0xC800
 
|-
 
| 106
 
| 0x21F000
 
| 0x800
 
|-
 
| 107
 
| 0x21F800
 
| 0x800
 
|-
 
| 108
 
| 0x220000
 
| 0x800
 
|-
 
| 109
 
| 0x220800
 
| 0x800
 
|-
 
| 110
 
| 0x221000
 
| 0x800
 
|-
 
| 111
 
| 0x221800
 
| 0x1800
 
|-
 
| 112
 
| 0x223000
 
| 0x2000
 
|-
 
| 113
 
| 0x225000
 
| 0x800
 
|-
 
| 114
 
| 0x225800
 
| 0x800
 
|-
 
| 115
 
| 0x226000
 
| 0x1800
 
|-
 
| 116
 
| 0x227800
 
| 0x800
 
|-
 
| 117
 
| 0x228000
 
| 0x800
 
 
|}
 
|}

Latest revision as of 01:12, 15 July 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
but screens with a list of multiple selections will will use 3 bytes.

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