MPR file header format for LFS S2 (from 0.5X) ============================================= TYPES : ======= char : 1-byte ascii character byte : 1-byte integer word : 2-byte integer int : 4-byte integer, lowest byte first FILE DESCRIPTION : ================== num unit offset description --- ---- ------ ----------- 6 char 0 LFSMPR : do not read file if no match 1 byte 6 game version : ignore 1 byte 7 game revision : ignore 1 byte 8 MPR version : ignore 1 byte 9 immediate start : joined a game already running 1 byte 10 reserved : - 1 byte 11 reserved : - 1 int 12 rules : - 1 int 16 flags : - 1 byte 20 laps byte : laps / hours (see notes) 1 byte 21 skill : skill level (0,1,2,3,4) 1 byte 22 wind : 0=off 1=weak 2=strong 1 byte 23 num players : players at start of race 8 char 24 LFS version : text, ends 0 4 char 32 short track name : e.g. BL2R 1 int 36 start time (UTC) : seconds since 00:00 1/1/1970 32 char 40 track name : text, ends 0 1 byte 72 config : 1,2,3... (first config is 1) 1 byte 73 reversed : 0=no 1=yes 1 byte 74 weather : 0,1,2... (first weather is 0) 1 byte 75 num finished (NF) : players in results table 1 int 76 0 : - NF result 80 RESULT INFO : (see below) RESULT INFO : size 80 bytes per finished player 24 char 0 player name : text, ends 0, no colours 8 char 24 number plate : text, NOTE : NO ZERO AT END 4 char 32 short car name : text, ends 0 24 byte 36 lfs user name : text, ends 0 1 word 60 laps done : total laps completed 1 word 62 player flags : driver settings (see NOTES) 1 byte 64 confirm flags : penalties (see NOTES) 1 byte 65 number of stops : pit stops count 1 word 66 penalty seconds : penalty time added 1 int 68 overall time : milliseconds 1 int 72 best lap time : milliseconds 1 byte 76 0 : - 1 byte 77 start position : 0 = unknown, 1 = pole, etc. 1 byte 78 handicap mass : kg 1 byte 79 intake restriction : % The rest of the file is the actual MPR data NOTES : ======= Laps Byte (lb) has various meanings : --------- 0 : practice 1-99 : number of laps... laps = lb 100-190 : 100 to 1000 laps... laps = (lb - 100) * 10 + 100 191-238 : 1 to 48 hours... hours = lb - 190 Player Flags ------------ LEFT HAND DRIVE 1 GEAR CHANGE CUT 2 GEAR CHANGE BLIP 4 AUTO SHIFT 8 SHIFTER 16 RESERVED 32 BRAKING HELP 64 AXIS CLUTCH 128 RESERVED 256 AUTO CLUTCH 512 MOUSE 1024 KB NO HELP 2048 KB STABILISED 4096 Confirmation Flags ------------------ MENTIONED 1 CONFIRMED 2 PENALTY_DT 4 <-- disqualified PENALTY_SG 8 <-- disqualified PENALTY_30 16 CONF_PENALTY_45 32 CONF_DID_NOT_PIT 64 <-- disqualified