.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.
2099528random_ivSeed state for the random number generator.
2099608cameraSaved camera position.
2099681720scenarioThe scenario proper: name, briefing, victory conditions, invasions, requests, prices. Its internal layout is not documented here.
2116884end_markerCloses the file.

Sources