User:Unmaker/Savegame format

Header
40 bytes in size.

General level parameters
10 bytes in size.

Player blocks
Each player block is 280 bytes in size, padded to 4 bytes. First block is always present; the rest are saved only if corresponding player is currently in game. When loading player data, Doom does not actually check for connected network nodes, simply placing and setting up map things according to the saved game's contents. (TODO: what actually happens after loading?)

The following is the binary contents of the player_t structure for the first player. Following player blocks, if any, are offset by 0x118 each.

Level state block
(current sectors, lines geometry) TODO

Mobj block
(mobj thinkers?) TODO

Thinker block
(sector thinkers?) TODO