Duke Nukem 3D 1.0 and 1.1 use a 9 byte main header:
address
0x0000 long 0x0004 byte 0x0005 byte 0x0006 byte 0x0007 word The first entry in the header (number of game tics) may be zero in version 1.1 recordings. This should mean, that there is more than one level recorded.
All word or long values in DMO files are Intel ordered
(lowest byte first, little endian).
Duke Nukem 3D 1.3D uses a 24 byte main header:
address
0x0000 long 0x0004 byte 0x0005 byte 0x0006 byte 0x0007 byte 0x0008 short 0x000A short 0x01 with /m (nomonsters), 0x00 else0x000C long 0x01 with /t1 (respawn monsters), 0x00 else0x0010 long 0x01 with /t2 (respawn items), 0x00 else0x0014 long 0x01 with /t3 (respawn inventory), 0x00 else
Redneck Rampage uses a 543 byte main header:
address
0x0000 long 0x0004 byte 0x6C, it may be a version0x0005 byte 0x00, unknown0x0006 byte 0x00, unknown0x0007 byte 0x0008 byte 0x0009 byte 0x000A byte 0x000B byte 0x00, unknown0x000C byte 0x01 with /m (nomonsters), 0x00 else0x000D byte 0x00, unknown0x000E long 0x01 with /t1 (respawn monsters), 0x00 else0x0012 long 0x01 with /t2 (respawn items), 0x00 else0x0016 long 0x01 with /t3 (respawn inventory), 0x00 else0x001A long 0x01 with /a (player AI for fake players), 0x00 else0x001E char[0x201] The episode (better: volume) number is one of the 0x00 bytes in the
header.
The players name is a `\0' terminated string. The maximum number of characters for the name is 512.