Difference between revisions of "AGI/Specifications/Savegame"
m (→Game state) |
(more formatting tweaks, plus more info) |
||
Line 7: | Line 7: | ||
=== Header (40 bytes) === | === Header (40 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. | ||
''' | '''31-32''' (2 bytes) Unknown (0xE1 0x05); maybe a savegame version number? | ||
''' | '''33-39''' (7 bytes) Game ID ("SQ2", "KQ3", "LLLLL", etc.), NUL padded. | ||
=== Game state === | === Game state === | ||
''' | '''40-295''' (256 bytes) Variables, 1 variable per byte | ||
''' | '''296-327''' (32 bytes) Flags, 8 flags per byte | ||
''' | '''328-331''' (4 bytes) Clock ticks since game started. 1 clock tick == 50ms. | ||
... | ... | ||
Line 30: | Line 30: | ||
'''356-555''' (200 bytes) ? Controller map (50 controllers, 4 bytes each) | '''356-555''' (200 bytes) ? Controller map (50 controllers, 4 bytes each) | ||
''' | '''556-1515''' (960 bytes) 24 strings, each 40 bytes long. | ||
'''1516-1521''' (6 bytes) ? Text colours | |||
=== Other bits === | === Other bits === | ||
''' | '''2334-?''' (? bytes) Inventory object names, each NUL terminated. |
Revision as of 08:29, 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)
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.
31-32 (2 bytes) Unknown (0xE1 0x05); maybe a savegame version number?
33-39 (7 bytes) Game ID ("SQ2", "KQ3", "LLLLL", etc.), NUL padded.
Game state
40-295 (256 bytes) Variables, 1 variable per byte
296-327 (32 bytes) Flags, 8 flags per byte
328-331 (4 bytes) Clock ticks since game started. 1 clock tick == 50ms.
...
344-345 (2 bytes) ? 1 => player_control
346-347 (2 bytes) Current PICTURE
...
356-555 (200 bytes) ? Controller map (50 controllers, 4 bytes each)
556-1515 (960 bytes) 24 strings, each 40 bytes long.
1516-1521 (6 bytes) ? Text colours
Other bits
2334-? (? bytes) Inventory object names, each NUL terminated.