Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Save-game containers

SAVEGAME.SAV and per-map .TSG files store saved engine state in tagged chunks.

Overall Structure

[SVGM — save metadata]
[Image and state chunks — length-prefixed payloads]
[END — four-byte terminator]

Chunk lengths are big-endian. Numeric fields within the SVGM payload are little-endian. Chunks have no alignment padding.

OffsetSizeTypeEndianNameDescription
0x004[u8; 4]—nameFour-byte chunk identifier.
0x044u32BEdata_lengthPayload size, excluding the eight-byte header.
0x08data_length[u8]—dataChunk payload.

The terminal identifier is END , including its trailing space. It has no length field or payload. An empty chunk still has an eight-byte header with a zero length.

SVGM metadata

Version 1.31 uses a 272-byte metadata payload. Offsets below are relative to the payload, after the chunk header.

OffsetSizeTypeEndianNameDescription
0x004[u8; 4]—versionSave-format version text, 1.31.
0x044u32LEunknown_04Engine compatibility value.
0x084u32LEunknown_08Engine compatibility value.
0x0C128[u8; 128]—descriptionSlot display text, ending at the first NUL or the field boundary.
0x8C4u32LEworld_idCurrent world identifier, corresponding to WORLD.INI.
0x90128[u8; 128]—bitmap_filenameStored bitmap filename, ending at the first NUL or the field boundary.

The engine checks the version and compatibility values before restoring a save. The stored bitmap filename is separate from the THMB thumbnail and SCR3 screen-image chunks.

State chunks

Save containers include global state and per-world state. Object and script records depend on the corresponding RGM scene and runtime definitions. They are not replacement scene assets.

SMOB, SMRP, SMCO, and SMSH hold object, rope, code, and shell state, respectively. SVCM holds camera records, and SMFM holds family references. Other state chunks include SVGF, SMGR, SVRG, SVGV, SVG2, SVIT, SVCB, SVMV, and SVMD.

Temporary .TSG snapshots use the same container and metadata layout. Their image chunks can be empty. The engine can restore these snapshots during a world reload after initializing the player.

Save-slot directories

[SAVEGAME.NNN — slot directory]
  [SAVEGAME.SAV — current saved state]
  [Map-name.TSG files — other per-world snapshots]
  [LOGBOOK.TXT — journal content, when present]

The main save identifies the current world. The accompanying .TSG files retain state for other worlds. LOGBOOK.TXT contains game journal content; it is separate from the historical TXT tool reports described in Bundled support resources.

External References