.map Partially documented

The Caesar III scenario format

A Caesar III scenario is not a container with a table of contents. It is ten fixed-size blocks written back to back in a known order, none of them compressed — which makes it the easiest file in the whole series to take apart.

Used by Caesar III

Nobody has published a specification for this format. What exists is Julius's reimplementation, which reads and writes the original files exactly, so its loader is the closest thing to one. Everything below is read off that code rather than inferred from files.

The whole scenario is ten chunks in a fixed order with no headers, no lengths and no markers between them. Every chunk is uncompressed — unlike a savegame, where most are not.

Chunks, in order

Sizes in bytes. Offsets are cumulative and implied by the order, since nothing in the file records them.

OffsetSizeTypeFieldDescription
052488uint16[]graphic_idsTwo bytes per tile.
5248826244uint8[]edgeOne byte per tile.
7873252488uint16[]terrainTwo bytes per tile.
13122026244uint8[]bitfieldsOne byte per tile.
15746426244uint8[]randomOne byte per tile.
18370826244uint8[]elevationOne byte per tile.
2099528—random_ivSeed state for the random number generator.
2099608—cameraSaved camera position.
2099681720—scenarioThe scenario proper: name, briefing, victory conditions, invasions, requests, prices. Its internal layout is not documented here.
2116884—end_markerCloses the file.

Sources