REC files contain records of complete OMF matches. These files can be produces with the original OMF.EXE by using the parameter REC. They can also be played by using the parameter PLAY <filename>.
The file contains the information for two pilots, a match configuration header and then a variable amount of 7 bytes long event descriptors.
The file starts with the following block, repeating twice (once for each pilot).
Offset | Length | Type | Description |
---|---|---|---|
0 | 428 | int | Pilot information block (See .TRN format for details) |
428 | 1 | int | Unknown |
429 | 2 | int | Unknown |
431 | 144 | char[] | 48 color palette |
575 | 20 | char[] | Unknown |
595 | 1 | int | Has photo ? |
596 | ? | ? | Photo sprite. If previous field was 1, there will be a standard sprite here. Otherwise the pilot data will end. |
The configuration header is always exactly 32 bytes in size, and contains configuration information for the match, such as hyper mode flag etc.
Offset | Length | Type | Description |
---|---|---|---|
0 | 4 | int | Score for Player 1 |
4 | 4 | int | Score for Player 2 |
8 | 1 | int | Unknown |
9 | 1 | int | Unknown |
10 | 1 | int | Unknown |
11 | 2 | int | Throw Range % |
13 | 2 | int | Hit Pause |
15 | 2 | int | Block Damage % |
17 | 2 | int | Vitality % |
19 | 2 | int | Jump Height % |
21 | 2 | int | Unknown |
23 | 2 | int | Unknown |
25 | 2 | int | Unknown |
27 | high 4 bits | int | Stage (0 - Stadium, 1 - Danger Room, 2 - Power Plant, 3 - Fire Pit, 4 - Desert) |
27 | 1 bit | flag | Defensive Throws |
27 | 1 bit | flag | Rehite Mode |
27 | 2 bits | int | Knockdowns (0 - None, 1 - Kicks, 2 - Punches, 3 - Both) |
28/29 | high 2 bits | unknown | Unknown |
28/29 | 2 bits | int | Rounds to Win |
28/29 | 1 bit | flag | Hazards Enabled |
28/29 | 2 bits | unknown | Unknown |
28/29 | 3 bits | int | Player 1 Power |
28/29 | 2 bits | unknown | Unknown |
28/29 | 3 bits | int | Player 2 Power |
28/29 | 1 bit | int | Unknown |
30 | 1 | flag | Hyper Mode |
31 | 1 | int | Unknown |
Event descriptor section starts after the configuration section, and continues until the end of the file. The descriptors themselves are 7 bytes long. There may also be so called “long” descriptors, which will be 14 bytes in length.
Descriptor format:
Offset | Length | Type | Description |
---|---|---|---|
0 | 4 | udword | Current game tick |
4 | 1 | ubyte | Extra data flag |
5 | 1 | ubyte | Player ID |
6 | 1 | ubyte | Action flags |
7 | 7 | char[] | Extra data. This only exists if extra flags > 2. |