CONTFRM.GD8 / EDATA.CSR Documented

Caesar's screen data files: CONTFRM.GD8 and EDATA.CSR

The Forum is a painting with eight figures in it, each an advisor, and a click on a figure opens his screen. Which pixel belongs to which figure is not in the code; it is in a 1,000-byte file. The map of the Empire gets the position of each province's marker from a second one.

Used by Caesar

CONTFRM.GD8, 1,000 bytes

Loaded whole by the Forum screen. The shapes of the non-zero regions match the painted figures exactly.

OffsetSizeTypeFieldDescription
01000u8[25][40]click mapA grid of 40 columns by 25 rows, each cell covering 8 × 8 pixels of the 320 × 200 Forum picture (NEWFORUM.VPX). A cell is 0 or the number of a figure. The engine takes the cell under the mouse, (x / 8) + (y / 8) × 40, and a non-zero value v calls the far pointer at 4v in a table of eight handlers, one per advisor.

EDATA.CSR, 320 bytes

The values are byte-swapped relative to everything else in the game: stored big-endian, read as little-endian words and swapped.

OffsetSizeTypeFieldDescription
0200u16 pair[50]province markersFor each of the 50 provinces, two big-endian words: x and y. The map draws a marker at x − 8, y − 32 (and 10 more in x for province 39).
200120bytesnot readThis build never loads them. What they were for is not known.

Sources