The online racing simulator
SPR file header format : Live for Speed 0.6B
========================


TYPES :
=======

char : 1-byte ascii character
byte : 1-byte integer
word : 2-byte integer
int  : 4-byte integer, lowest byte first
time : 4 bytes [min | sec | 100ths | 1000ths]


FILE DESCRIPTION :
==================

num   unit    offset  description
---   ----    ------  -----------
6     char    0       LFSSPR              : do not read file if no match
1     byte    6       file version high   : ignore
1     byte    7       file version low    : ignore
1     byte    8       SPR version         : ignore
1     byte    9       reserved            : -
1     byte    10      reserved            : -
1     byte    11      qual mins           : qualifying time
1     byte    12      laps byte           : laps / hours (see NOTES)
1     byte    13      skill               : skill level (0,1,2,3,4)
1     byte    14      wind                : 0=off 1=weak 2=strong
1     byte    15      hotlap mode         : 0=no 1=yes 2=custom 3=invalid
8     char    16      LFS version         : text, ends 0
4     char    24      short track name    : e.g. BL2R
1     byte    28      added mass          : hotlap only
1     byte    29      intake restrict     : hotlap only
1     byte    30      abs enabled         : hotlap only
1     byte    31      0                   : -
32    char    32      track name          : text, ends 0
32    char    64      user name           : text, ends 0
32    char    96      car name            : text, ends 0
1     byte    128     config              : 1,2,3... (first config is 1)
1     byte    129     reversed            : 0=no 1=yes
1     byte    130     weather             : 0,1,2... (first weather is 0)
1     byte    131     number of drivers   : total cars in race
1     word    132     player flags        : driver settings (see NOTES)
1     byte    134     hlvc best lap       : the lap of the split times
1     byte    135     number of splits    : including lap time
1     time    136     split 1             : msht time (first check point)
1     time    140     split 2             : msht time
1     time    144     split 3             : msht time
1     time    148     split 4             : msht time
1     int     152     flags               : -
1     int     156     replay length       : centiseconds (0 if unknown)
32    char    160     local driver name   : including colours

The rest of the file is the actual SPR 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
------------
PIF_SWAPSIDE       1
PIF_RESERVED_2     2
PIF_RESERVED_4     4
PIF_AUTOGEARS      8
PIF_SHIFTER        16
PIF_RESERVED_32    32
PIF_HELP_B         64
PIF_AXIS_CLUTCH    128
PIF_INPITS         256
PIF_AUTOCLUTCH     512
PIF_MOUSE          1024
PIF_KB_NO_HELP     2048
PIF_KB_STABILISED  4096
PIF_CUSTOM_VIEW    8192
FGED GREDG RDFGDR GSFDG