Changes

Jump to navigation Jump to search

FF8/GameSaveFormat

4,688 bytes added, 01:13, 15 July 2019
no edit summary
== The save format ==By myst6re.
{| border="1" cellspacing="1" cellpadding The save format ="3" align="center" stylePC steam version: Offsets start from at 384 (0x0180). File is compressed with LZS.{| class="border: 1px solid black; border-collapse: collapse;wikitable"! style="background:rgb(204,204,204)" | Offset! style="background:rgb(204,204,204)" | Size! style="background:rgb(204,204,204)" | Data
|-
| 0x0000
| 0x0006
| 2 bytes
| '''Preview:''' Lead 1st character's current HP
|-
| 0x0008
| 2 bytes
| '''Preview:''' Lead 1st character's max HP
|-
| 0x000A
| 0x0024
| 1 byte
| '''Preview:''' Lead 1st character's level
|-
| 0x0025
|-
| 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)|-| 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 ===
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/>For each G-F:
{| borderclass="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;wikitable"! style="background:rgb(204,204,204)" | Offset! style="background:rgb(204,204,204)" | Size! style="background:rgb(204,204,204)" | Data
|-
| 0x00
| Experience
|-
| style="background:rgb(255,255,204)" | 0x10| style="background:rgb(255,255,204)" | 1 byte| style="background:rgb(255,255,204)" | Unknown
|-
| 0x11
|}
=== Characters ===
Squall, Zell, Irvine, Quistis, Rinoa, Selphie, Seifer, Edea.For each character:
{| borderclass="1" cellspacing="1" cellpadding="3" align="center" style="border: 1px solid black; border-collapse: collapse;wikitable"! style="background:rgb(204,204,204)" | Offset! style="background:rgb(204,204,204)" | Size! style="background:rgb(204,204,204)" | Data
|-
| 0x00
| Junctionned GFs
|-
| style="background:rgb(255,255,204)" | 0x5A| style="background:rgb(255,255,204)" | 1 byte| style="background:rgb(255,255,204)" | Unknown
|-
| 0x5B
| Junction mental defense
|-
| style="background:rgb(255,255,204)" | 0x6F| style="background:rgb(255,255,204)" | 1 byte| style="background:rgb(255,255,204)" | Unknown (padding?)
|-
| 0x70
| Exists
|-
| style="background:rgb(255,255,204)" | 0x95| style="background:rgb(255,255,204)" | 1 byte| style="background:rgb(255,255,204)" | Unknown
|-
| 0x96
| Mental Status
|-
| style="background:rgb(255,255,204)" | 0x97| style="background:rgb(255,255,204)" | 1 byte| 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?)
|}

Navigation menu