AGI Specifications: Chapter 10 - Savegame Files
Savegame Files
Written by
10.1 Introduction
AGI saved game files are named as follows:
<gameId>SG.<num>
where <gameId> is the ID of the game, e.g. KQ1, SQ2, etc., and where <num> is a number starting at 1. The format of the saved game file was relatively consistent between versions 2.4XX and 2.9XX apart from one minor addition. The specification below currently focuses on the format used by that version range. The format of AGI v3 saved games has not yet been explored, but it is known that AGI v2.272 differs somewhat in format and almost certainly those versions prior to 2.272 will therefore be different as well.
The saved game file consists of six sections. The first section contains only the description of the saved game. We'll call this the header. The other five sections follow a high level format where the first two bytes give the length of the section and the remainder is the data for that section.
Note that the byte offsets for each section are specified as being from the start of that section and not the start of the file.
Where a numeric value is specified over multiple bytes, it is always little-endian, unless otherwise noted.
10.2 Saved Game Format
Header
Byte Meaning 0-30
Savegame description. This can be up to 30 printable characters, and is padded out with NUL (\0) bytes to a total of 31 bytes.
General State
Byte Meaning 0-1
Length of general state section.
2-8
Game ID("SQ2", "KQ3", "LLLLL", etc.), NUL padded.
9-264
Variables, 1 variable per byte
265-296
Flags, 8 flags per byte, starting with highest bit first.
297-300
Clock ticks since game started. 1 clock tick == 50ms.
301-302
Horizon.
WIP
WORK IN PROGRESS
Animated Objects
Byte Meaning 0-1
Length of animated objects section.
WIP
WORK IN PROGRESS
Inventory Objects
Byte Meaning 0-1
Length of inventory objects section.
WIP
WORK IN PROGRESS
Script Events
Byte Meaning 0-1
Length of script events section.
WIP
WORK IN PROGRESS
Scan Offsets
Byte Meaning 0-1
Length of scan offsets section.
WIP
WORK IN PROGRESS
< Previous: Chapter 9 - Sound ResourcesNext: Chapter 11 - Other Game Data >