Difference between revisions of "FF8/GameSaveFormat"
< FF8
Jump to navigation
Jump to search
my_wiki>Myst6re |
|||
(11 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | + | By myst6re. | |
− | + | == The save format == | |
− | ! | + | PC steam version: Offsets start from at 384 (0x0180). File is compressed with LZS. |
− | ! | + | {| class="wikitable" |
− | ! | + | ! Offset |
+ | ! Size | ||
+ | ! Data | ||
|- | |- | ||
| 0x0000 | | 0x0000 | ||
Line 20: | Line 22: | ||
| 0x0006 | | 0x0006 | ||
| 2 bytes | | 2 bytes | ||
− | | '''Preview:''' | + | | '''Preview:''' 1st character's current HP |
|- | |- | ||
| 0x0008 | | 0x0008 | ||
| 2 bytes | | 2 bytes | ||
− | | '''Preview:''' | + | | '''Preview:''' 1st character's max HP |
|- | |- | ||
| 0x000A | | 0x000A | ||
Line 40: | Line 42: | ||
| 0x0024 | | 0x0024 | ||
| 1 byte | | 1 byte | ||
− | | '''Preview:''' | + | | '''Preview:''' 1st character's level |
|- | |- | ||
| 0x0025 | | 0x0025 | ||
Line 175: | Line 177: | ||
|- | |- | ||
| 0x0960 | | 0x0960 | ||
− | | | + | | 400 bytes |
− | | TODO | + | | Shops |
+ | |- | ||
+ | | 0x0AF0 | ||
+ | | 20 bytes | ||
+ | | Configuration | ||
+ | |- | ||
+ | | 0x0B04 | ||
+ | | 4 bytes | ||
+ | | Party (0xFF terminated) | ||
+ | |- | ||
+ | | 0x0B08 | ||
+ | | 4 bytes | ||
+ | | Known weapons | ||
+ | |- | ||
+ | | 0x0B0C | ||
+ | | 12 bytes | ||
+ | | Griever name (FF8 text format) | ||
+ | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x0B18 | ||
+ | | style="background: rgb(255,255,204)" | 2 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown (always 7966?) | ||
+ | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x0B1A | ||
+ | | style="background: rgb(255,255,204)" | 2 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x0B1C | ||
+ | | 4 bytes | ||
+ | | Amount of Gil | ||
+ | |- | ||
+ | | 0x0B20 | ||
+ | | 4 bytes | ||
+ | | Amount of Gil (Laguna) | ||
+ | |- | ||
+ | | 0x0B24 | ||
+ | | 2 bytes | ||
+ | | '''Limit Break''' Quistis | ||
+ | |- | ||
+ | | 0x0B26 | ||
+ | | 2 bytes | ||
+ | | '''Limit Break''' Zell | ||
+ | |- | ||
+ | | 0x0B28 | ||
+ | | 1 byte | ||
+ | | '''Limit Break''' Irvine | ||
+ | |- | ||
+ | | 0x0B29 | ||
+ | | 1 byte | ||
+ | | '''Limit Break''' Selphie | ||
+ | |- | ||
+ | | 0x0B2A | ||
+ | | 1 byte | ||
+ | | '''Limit Break''' Angelo completed | ||
+ | |- | ||
+ | | 0x0B2B | ||
+ | | 1 byte | ||
+ | | '''Limit Break''' Angelo known | ||
+ | |- | ||
+ | | 0x0B2C | ||
+ | | 8 bytes | ||
+ | | '''Limit Break''' Angelo points | ||
+ | |- | ||
+ | | 0x0B34 | ||
+ | | 32 bytes | ||
+ | | '''Items''' battle order | ||
+ | |- | ||
+ | | 0x0B54 | ||
+ | | 396 bytes | ||
+ | | '''Items''' 198 items (Item ID and Quantity) | ||
+ | |- | ||
+ | | 0x0CE0 | ||
+ | | 4 bytes | ||
+ | | Game time | ||
+ | |- | ||
+ | | 0x0CE4 | ||
+ | | 4 bytes | ||
+ | | Countdown | ||
+ | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x0CE8 | ||
+ | | style="background: rgb(255,255,204)" | 4 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x0CEC | ||
+ | | 4 bytes | ||
+ | | '''Battle:''' victory count | ||
+ | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x0CF0 | ||
+ | | style="background: rgb(255,255,204)" | 2 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x0CF2 | ||
+ | | 2 bytes | ||
+ | | '''Battle:''' battle escaped | ||
+ | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x0CF4 | ||
+ | | style="background: rgb(255,255,204)" | 4 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x0CF8 | ||
+ | | 4 bytes | ||
+ | | '''Battle:''' Tonberry killed count | ||
+ | |- | ||
+ | | 0x0CFC | ||
+ | | 4 bytes | ||
+ | | '''Battle:''' Tonberry Sr killed (yeah, this is a boolean) | ||
+ | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x0D00 | ||
+ | | style="background: rgb(255,255,204)" | 4 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x0D04 | ||
+ | | 4 bytes | ||
+ | | '''Battle:''' First "Bug" battle (R1 tip) | ||
+ | |- | ||
+ | | 0x0D08 | ||
+ | | 4 bytes | ||
+ | | '''Battle:''' First "Bomb" battle (Elemental tip) | ||
+ | |- | ||
+ | | 0x0D0C | ||
+ | | 4 bytes | ||
+ | | '''Battle:''' First "T-Rex" battle (Mental tip) | ||
+ | |- | ||
+ | | 0x0D10 | ||
+ | | 4 bytes | ||
+ | | '''Battle:''' First "Irvine" battle (Irvine's limit break tip) | ||
+ | |- | ||
+ | | 0x0D14 | ||
+ | | 8 bytes | ||
+ | | '''Battle:''' Magic drawn once | ||
+ | |- | ||
+ | | 0x0D1C | ||
+ | | 20 bytes | ||
+ | | '''Battle:''' Ennemy scanned once | ||
+ | |- | ||
+ | | 0x0D30 | ||
+ | | 1 byte | ||
+ | | '''Battle:''' Renzokuken auto | ||
+ | |- | ||
+ | | 0x0D31 | ||
+ | | 1 byte | ||
+ | | '''Battle:''' Renzokuken indicator | ||
+ | |- | ||
+ | | 0x0D32 | ||
+ | | 1 byte | ||
+ | | '''Battle:''' dream/Odin/Phoenix/Gilgamesh/Angelo disabled/Angel Wing enabled/???/??? | ||
+ | |- | ||
+ | | 0x0D33 | ||
+ | | 16 bytes | ||
+ | | Tutorial infos | ||
+ | |- | ||
+ | | 0x0D43 | ||
+ | | 1 byte | ||
+ | | SeeD test level | ||
+ | |- | ||
+ | | 0x0D44 | ||
+ | | 4 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x0D48 | ||
+ | | 4 bytes | ||
+ | | Party (last byte always = 255) | ||
+ | |- | ||
+ | | 0x0D4C | ||
+ | | 4 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x0D50 | ||
+ | | 2 bytes | ||
+ | | Module (1= field, 2= worldmap, 3= battle) | ||
+ | |- | ||
+ | | 0x0D52 | ||
+ | | 2 bytes | ||
+ | | Current field | ||
+ | |- | ||
+ | | 0x0D54 | ||
+ | | 2 bytes | ||
+ | | Previous field | ||
+ | |- | ||
+ | | 0x0D56 | ||
+ | | 3*2 bytes (signed) | ||
+ | | Coord X (party1, party2, party3) | ||
+ | |- | ||
+ | | 0x0D5C | ||
+ | | 3*2 bytes (signed) | ||
+ | | Coord Y (party1, party2, party3) | ||
+ | |- | ||
+ | | 0x0D62 | ||
+ | | 3*2 bytes | ||
+ | | Triangle ID (party1, party2, party3) | ||
+ | |- | ||
+ | | 0x0D68 | ||
+ | | 3*1 bytes | ||
+ | | Direction (party1, party2, party3) | ||
+ | |- | ||
+ | | 0x0D6B | ||
+ | | 1 byte | ||
+ | | ''Padding'' | ||
+ | |- | ||
+ | | 0x0D6C | ||
+ | | 4 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x0D70 | ||
+ | | 256 + 1024 bytes | ||
+ | | | ||
+ | [[FF8/Variables|Field vars]] | ||
+ | |- | ||
+ | | 0x1270 | ||
+ | | 128 bytes | ||
+ | | Worldmap (TODO) | ||
+ | |- | ||
+ | | 0x12F0 | ||
+ | | 128 bytes | ||
+ | | Triple Triad (TODO) | ||
+ | |- | ||
+ | | 0x1370 | ||
+ | | 64 bytes | ||
+ | | Chocobo World (TODO) | ||
|} | |} | ||
+ | <br /> | ||
− | === Guardian Forces === | + | === Guardian Forces === |
The checksum calculation starts here. | The checksum calculation starts here. | ||
− | There are 16 G-F: Quetzalcoatl, Shiva, Ifrit, Siren, Brothers, Diablos, Carbuncle, Leviathan, Pandemonia, Cerberus, Alexander, Doomtrain, Bahamut, Cactuar, Tonberry, Eden.<br/> | + | There are 16 G-F: Quetzalcoatl, Shiva, Ifrit, Siren, Brothers, Diablos, Carbuncle, Leviathan, Pandemonia, Cerberus, Alexander, Doomtrain, Bahamut, Cactuar, Tonberry, Eden.<br /> For each G-F: |
− | For each G-F: | ||
− | {| | + | {| class="wikitable" |
− | ! | + | ! Offset |
− | ! | + | ! Size |
− | ! | + | ! Data |
|- | |- | ||
| 0x00 | | 0x00 | ||
Line 200: | Line 419: | ||
| Experience | | Experience | ||
|- | |- | ||
− | | style="background:rgb(255,255,204)" | 0x10 | + | | style="background: rgb(255,255,204)" | 0x10 |
− | | style="background:rgb(255,255,204)" | 1 byte | + | | style="background: rgb(255,255,204)" | 1 byte |
− | | style="background:rgb(255,255,204)" | Unknown | + | | style="background: rgb(255,255,204)" | Unknown |
|- | |- | ||
| 0x11 | | 0x11 | ||
Line 237: | Line 456: | ||
|} | |} | ||
− | === Characters === | + | === Characters === |
− | Squall, Zell, Irvine, Quistis, Rinoa, Selphie, Seifer, Edea. | + | Squall, Zell, Irvine, Quistis, Rinoa, Selphie, Seifer, Edea. For each character: |
− | For each character: | ||
− | {| | + | {| class="wikitable" |
− | ! | + | ! Offset |
− | ! | + | ! Size |
− | ! | + | ! Data |
|- | |- | ||
| 0x00 | | 0x00 | ||
Line 311: | Line 529: | ||
| Junctionned GFs | | Junctionned GFs | ||
|- | |- | ||
− | | style="background:rgb(255,255,204)" | 0x5A | + | | style="background: rgb(255,255,204)" | 0x5A |
− | | style="background:rgb(255,255,204)" | 1 byte | + | | style="background: rgb(255,255,204)" | 1 byte |
− | | style="background:rgb(255,255,204)" | Unknown | + | | style="background: rgb(255,255,204)" | Unknown |
|- | |- | ||
| 0x5B | | 0x5B | ||
Line 371: | Line 589: | ||
| Junction mental defense | | Junction mental defense | ||
|- | |- | ||
− | | style="background:rgb(255,255,204)" | 0x6F | + | | style="background: rgb(255,255,204)" | 0x6F |
− | | style="background:rgb(255,255,204)" | 1 byte | + | | style="background: rgb(255,255,204)" | 1 byte |
− | | style="background:rgb(255,255,204)" | Unknown (padding?) | + | | style="background: rgb(255,255,204)" | Unknown (padding?) |
|- | |- | ||
| 0x70 | | 0x70 | ||
Line 391: | Line 609: | ||
| Exists | | Exists | ||
|- | |- | ||
− | | style="background:rgb(255,255,204)" | 0x95 | + | | style="background: rgb(255,255,204)" | 0x95 |
− | | style="background:rgb(255,255,204)" | 1 byte | + | | style="background: rgb(255,255,204)" | 1 byte |
− | | style="background:rgb(255,255,204)" | Unknown | + | | style="background: rgb(255,255,204)" | Unknown |
|- | |- | ||
| 0x96 | | 0x96 | ||
Line 399: | Line 617: | ||
| Mental Status | | Mental Status | ||
|- | |- | ||
− | | style="background:rgb(255,255,204)" | 0x97 | + | | style="background: rgb(255,255,204)" | 0x97 |
− | | style="background:rgb(255,255,204)" | 1 byte | + | | style="background: rgb(255,255,204)" | 1 byte |
− | | style="background:rgb(255,255,204)" | Unknown | + | | style="background: rgb(255,255,204)" | Unknown |
+ | |} | ||
+ | |||
+ | === Worldmap === | ||
+ | |||
+ | # TODO | ||
+ | |||
+ | === Triple Triad === | ||
+ | |||
+ | # TODO | ||
+ | |||
+ | === Chocobo World === | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Data | ||
+ | |- | ||
+ | | 0x00 | ||
+ | | 1 byte (bit field) | ||
+ | | Enabled / In world / MiniMog found / Demon King defeated / Koko kidnapped / Hurry! / Koko met / Event Wait off | ||
+ | |- | ||
+ | | 0x01 | ||
+ | | 1 byte | ||
+ | | Level | ||
+ | |- | ||
+ | | 0x02 | ||
+ | | 1 byte | ||
+ | | Current HP | ||
+ | |- | ||
+ | | 0x03 | ||
+ | | 1 byte | ||
+ | | Max HP | ||
+ | |- | ||
+ | | 0x04 | ||
+ | | 2 bytes | ||
+ | | Weapon (4 bit = 1 weapon) | ||
+ | |- | ||
+ | | 0x06 | ||
+ | | 1 byte | ||
+ | | Rank | ||
+ | |- | ||
+ | | 0x07 | ||
+ | | 1 byte | ||
+ | | Move | ||
+ | |- | ||
+ | | 0x08 | ||
+ | | 4 bytes | ||
+ | | Save count | ||
+ | |- | ||
+ | | 0x0C | ||
+ | | 2 bytes | ||
+ | | id related | ||
+ | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x0E | ||
+ | | style="background: rgb(255,255,204)" | 6 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x14 | ||
+ | | 1 byte | ||
+ | | Item Class A count | ||
+ | |- | ||
+ | | 0x15 | ||
+ | | 1 byte | ||
+ | | Item Class B count | ||
+ | |- | ||
+ | | 0x16 | ||
+ | | 1 byte | ||
+ | | Item Class C count | ||
+ | |- | ||
+ | | 0x17 | ||
+ | | 1 byte | ||
+ | | Item Class D count | ||
+ | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x18 | ||
+ | | style="background: rgb(255,255,204)" | 16 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x28 | ||
+ | | 4 bytes | ||
+ | | Associated save ID | ||
+ | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x2C | ||
+ | | style="background: rgb(255,255,204)" | 1 byte | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x2D | ||
+ | | 1 byte | ||
+ | | Boko Attack (star count: 0 = ChocoFire, 1 = ChocoFlare, 2 = ChocoMeteor, 3 = ChocoBocle) | ||
+ | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x2E | ||
+ | | style="background: rgb(255,255,204)" | 1 byte | ||
+ | | style="background: rgb(255,255,204)" | Unknown | ||
+ | |- | ||
+ | | 0x2F | ||
+ | | 1 byte | ||
+ | | Home walking | ||
|- | |- | ||
+ | | style="background: rgb(255,255,204)" | 0x30 | ||
+ | | style="background: rgb(255,255,204)" | 16 bytes | ||
+ | | style="background: rgb(255,255,204)" | Unknown (unused?) | ||
|} | |} |
Latest revision as of 01:13, 15 July 2019
By myst6re.
Contents
The save format
PC steam version: Offsets start from at 384 (0x0180). File is compressed with LZS.
Offset | Size | Data |
---|---|---|
0x0000 | 2 bytes | Checksum |
0x0002 | 2 bytes | Always 0x08FF |
0x0004 | 2 bytes | Preview: Location ID |
0x0006 | 2 bytes | Preview: 1st character's current HP |
0x0008 | 2 bytes | Preview: 1st character's max HP |
0x000A | 2 bytes | Preview: save count |
0x000C | 4 bytes | Preview: Amount of Gil |
0x0020 | 4 bytes | Preview: Total number of seconds played |
0x0024 | 1 byte | Preview: 1st character's level |
0x0025 | 1 byte | Preview: 1st character's portrait |
0x0026 | 1 byte | Preview: 2nd character's portrait |
0x0027 | 1 byte | Preview: 3rd character's portrait |
0x0028 | 12 bytes | Preview: Squall's name (0x00 terminated) |
0x0034 | 12 bytes | Preview: Rinoa's name (0x00 terminated) |
0x0040 | 12 bytes | Preview: Angelo's name (0x00 terminated) |
0x004C | 12 bytes | Preview: Boko's name (0x00 terminated) |
0x0058 | 4 bytes | Preview: Current Disk (0 based) |
0x005C | 4 bytes | Preview: Current save (last saved game) |
0x0060 | 68 bytes | Guardian Forces: Quetzalcoatl |
0x00A4 | 68 bytes | Guardian Forces: Shiva |
0x00E8 | 68 bytes | Guardian Forces: Ifrit |
0x012C | 68 bytes | Guardian Forces: Siren |
0x0170 | 68 bytes | Guardian Forces: Brothers |
0x01B4 | 68 bytes | Guardian Forces: Diablos |
0x01F8 | 68 bytes | Guardian Forces: Carbuncle |
0x023C | 68 bytes | Guardian Forces: Leviathan |
0x0280 | 68 bytes | Guardian Forces: Pandemonia |
0x02C4 | 68 bytes | Guardian Forces: Cerberus |
0x0308 | 68 bytes | Guardian Forces: Alexander |
0x034C | 68 bytes | Guardian Forces: Doomtrain |
0x0390 | 68 bytes | Guardian Forces: Bahamut |
0x03D4 | 68 bytes | Guardian Forces: Cactuar |
0x0418 | 68 bytes | Guardian Forces: Tonberry |
0x045C | 68 bytes | Guardian Forces: Eden |
0x04A0 | 152 bytes | Characters: Squall |
0x0538 | 152 bytes | Characters: Zell |
0x05D0 | 152 bytes | Characters: Irvine |
0x0668 | 152 bytes | Characters: Quistis |
0x0700 | 152 bytes | Characters: Rinoa |
0x0798 | 152 bytes | Characters: Selphie |
0x0830 | 152 bytes | Characters: Seifer |
0x08C8 | 152 bytes | Characters: Edea |
0x0960 | 400 bytes | Shops |
0x0AF0 | 20 bytes | Configuration |
0x0B04 | 4 bytes | Party (0xFF terminated) |
0x0B08 | 4 bytes | Known weapons |
0x0B0C | 12 bytes | Griever name (FF8 text format) |
0x0B18 | 2 bytes | Unknown (always 7966?) |
0x0B1A | 2 bytes | Unknown |
0x0B1C | 4 bytes | Amount of Gil |
0x0B20 | 4 bytes | Amount of Gil (Laguna) |
0x0B24 | 2 bytes | Limit Break Quistis |
0x0B26 | 2 bytes | Limit Break Zell |
0x0B28 | 1 byte | Limit Break Irvine |
0x0B29 | 1 byte | Limit Break Selphie |
0x0B2A | 1 byte | Limit Break Angelo completed |
0x0B2B | 1 byte | Limit Break Angelo known |
0x0B2C | 8 bytes | Limit Break Angelo points |
0x0B34 | 32 bytes | Items battle order |
0x0B54 | 396 bytes | Items 198 items (Item ID and Quantity) |
0x0CE0 | 4 bytes | Game time |
0x0CE4 | 4 bytes | Countdown |
0x0CE8 | 4 bytes | Unknown |
0x0CEC | 4 bytes | Battle: victory count |
0x0CF0 | 2 bytes | Unknown |
0x0CF2 | 2 bytes | Battle: battle escaped |
0x0CF4 | 4 bytes | Unknown |
0x0CF8 | 4 bytes | Battle: Tonberry killed count |
0x0CFC | 4 bytes | Battle: Tonberry Sr killed (yeah, this is a boolean) |
0x0D00 | 4 bytes | Unknown |
0x0D04 | 4 bytes | Battle: First "Bug" battle (R1 tip) |
0x0D08 | 4 bytes | Battle: First "Bomb" battle (Elemental tip) |
0x0D0C | 4 bytes | Battle: First "T-Rex" battle (Mental tip) |
0x0D10 | 4 bytes | Battle: First "Irvine" battle (Irvine's limit break tip) |
0x0D14 | 8 bytes | Battle: Magic drawn once |
0x0D1C | 20 bytes | Battle: Ennemy scanned once |
0x0D30 | 1 byte | Battle: Renzokuken auto |
0x0D31 | 1 byte | Battle: Renzokuken indicator |
0x0D32 | 1 byte | Battle: dream/Odin/Phoenix/Gilgamesh/Angelo disabled/Angel Wing enabled/???/??? |
0x0D33 | 16 bytes | Tutorial infos |
0x0D43 | 1 byte | SeeD test level |
0x0D44 | 4 bytes | Unknown |
0x0D48 | 4 bytes | Party (last byte always = 255) |
0x0D4C | 4 bytes | Unknown |
0x0D50 | 2 bytes | Module (1= field, 2= worldmap, 3= battle) |
0x0D52 | 2 bytes | Current field |
0x0D54 | 2 bytes | Previous field |
0x0D56 | 3*2 bytes (signed) | Coord X (party1, party2, party3) |
0x0D5C | 3*2 bytes (signed) | Coord Y (party1, party2, party3) |
0x0D62 | 3*2 bytes | Triangle ID (party1, party2, party3) |
0x0D68 | 3*1 bytes | Direction (party1, party2, party3) |
0x0D6B | 1 byte | Padding |
0x0D6C | 4 bytes | Unknown |
0x0D70 | 256 + 1024 bytes | |
0x1270 | 128 bytes | Worldmap (TODO) |
0x12F0 | 128 bytes | Triple Triad (TODO) |
0x1370 | 64 bytes | Chocobo World (TODO) |
Guardian Forces
The checksum calculation starts here.
There are 16 G-F: Quetzalcoatl, Shiva, Ifrit, Siren, Brothers, Diablos, Carbuncle, Leviathan, Pandemonia, Cerberus, Alexander, Doomtrain, Bahamut, Cactuar, Tonberry, Eden.
For each G-F:
Offset | Size | Data |
---|---|---|
0x00 | 12 bytes | Name (0x00 terminated) |
0x0C | 4 bytes | Experience |
0x10 | 1 byte | Unknown |
0x11 | 1 byte | Exists |
0x12 | 2 bytes | HP |
0x14 | 16 bytes | Complete abilities (1 bit = 1 ability completed, 9 bits unused) |
0x24 | 24 bytes | APs (1 byte = 1 ability of the GF, 2 bytes unused) |
0x3C | 2 bytes | Number of kills |
0x3E | 2 bytes | Number of KOs |
0x41 | 1 byte | Learning ability |
0x42 | 3 bytes | Forgotten abilities (1 bit = 1 ability of the GF forgotten, 2 bits unused) |
Characters
Squall, Zell, Irvine, Quistis, Rinoa, Selphie, Seifer, Edea. For each character:
Offset | Size | Data |
---|---|---|
0x00 | 2 bytes | Current HPs |
0x02 | 2 bytes | Max HPs |
0x04 | 4 bytes | Experience |
0x08 | 1 byte | Model ID |
0x09 | 1 byte | Weapon ID |
0x0A | 1 byte | STR |
0x0B | 1 byte | VIT |
0x0C | 1 byte | MAG |
0x0D | 1 byte | SPR |
0x0E | 1 byte | SPD |
0x0F | 1 byte | LCK |
0x10 | 2*32 bytes | Magics |
0x50 | 3 bytes | Commands |
0x53 | 1 byte | Padding or unused command |
0x54 | 4 bytes | Abilities |
0x58 | 2 bytes | Junctionned GFs |
0x5A | 1 byte | Unknown |
0x5B | 1 byte | Alternative model (Normal, SeeD, Soldier...) |
0x5C | 1 byte | Junction HP |
0x5D | 1 byte | Junction STR |
0x5E | 1 byte | Junction VIT |
0x5F | 1 byte | Junction MAG |
0x60 | 1 byte | Junction SPR |
0x61 | 1 byte | Junction SPD |
0x62 | 1 byte | Junction EVA |
0x63 | 1 byte | Junction HIT |
0x64 | 1 byte | Junction LCK |
0x65 | 1 byte | Junction elemental attack |
0x66 | 1 byte | Junction mental attack |
0x67 | 4 bytes | Junction elemental defense |
0x6B | 4 bytes | Junction mental defense |
0x6F | 1 byte | Unknown (padding?) |
0x70 | 16 * 2 bytes | Compatibility with GFs |
0x90 | 2 bytes | Number of kills |
0x92 | 2 bytes | Number of KOs |
0x94 | 1 byte | Exists |
0x95 | 1 byte | Unknown |
0x96 | 1 byte | Mental Status |
0x97 | 1 byte | Unknown |
Worldmap
- TODO
Triple Triad
- TODO
Chocobo World
Offset | Size | Data |
---|---|---|
0x00 | 1 byte (bit field) | Enabled / In world / MiniMog found / Demon King defeated / Koko kidnapped / Hurry! / Koko met / Event Wait off |
0x01 | 1 byte | Level |
0x02 | 1 byte | Current HP |
0x03 | 1 byte | Max HP |
0x04 | 2 bytes | Weapon (4 bit = 1 weapon) |
0x06 | 1 byte | Rank |
0x07 | 1 byte | Move |
0x08 | 4 bytes | Save count |
0x0C | 2 bytes | id related |
0x0E | 6 bytes | Unknown |
0x14 | 1 byte | Item Class A count |
0x15 | 1 byte | Item Class B count |
0x16 | 1 byte | Item Class C count |
0x17 | 1 byte | Item Class D count |
0x18 | 16 bytes | Unknown |
0x28 | 4 bytes | Associated save ID |
0x2C | 1 byte | Unknown |
0x2D | 1 byte | Boko Attack (star count: 0 = ChocoFire, 1 = ChocoFlare, 2 = ChocoMeteor, 3 = ChocoBocle) |
0x2E | 1 byte | Unknown |
0x2F | 1 byte | Home walking |
0x30 | 16 bytes | Unknown (unused?) |