Changes

Jump to navigation Jump to search

FF8/GameSaveFormat

2,066 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
| 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
| Countdown
|-
| style="background:rgb(255,255,204)" | 0x0CE8| style="background:rgb(255,255,204)" | 4 bytes| style="background:rgb(255,255,204)" | Unknown
|-
| 0x0CEC
| '''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
| '''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
| '''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
|-
| 0x0D33
| 1663 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