Difference between revisions of "AGI/Specifications/Savegame"
(add clock ticks) |
(note about endianness) |
||
Line 2: | Line 2: | ||
This is a '''WORK IN PROGRESS'''; do not rely on this information, and please [[User:Dsymonds|let Dave know]] if you're going to be changing this in any significant way. | This is a '''WORK IN PROGRESS'''; do not rely on this information, and please [[User:Dsymonds|let Dave know]] if you're going to be changing this in any significant way. | ||
---- | ---- | ||
Where a numeric value is specified over multiple bytes, it is always ''little-endian'', unless otherwise noted. | |||
Revision as of 08:14, 6 January 2007
This is a WORK IN PROGRESS; do not rely on this information, and please let Dave know if you're going to be changing this in any significant way.
Where a numeric value is specified over multiple bytes, it is always little-endian, unless otherwise noted.
Header (40 bytes)
Bytes 0-30 (31 bytes) Savegame description. This can be up to 30 printable characters, and is padded out with NUL (\0) bytes to a total of 31 bytes.
Bytes 31-32 (2 bytes) Unknown (0xE1 0x05); maybe a savegame version number?
Bytes 33-39 (7 bytes) Game ID ("SQ2", "KQ3", "LLLLL", etc.), NUL padded.
Game state
Bytes 40-295 (256 bytes) Variables, 1 variable per byte
Bytes 296-327 (32 bytes) Flags, 8 flags per byte
Bytes 328-331 (4 bytes) Clock ticks since game started, little-endian. 1 clock tick == 50ms.
...
Bytes 556-1515 (960 bytes) 24 strings, each 40 bytes long. Actually, I'm not positive that it's all 24 strings; it could only be 12 strings in some versions!
Other bits
Bytes 2334-? (? bytes) Inventory object names, each NUL terminated.