################################################################################
Live for G15 V0.9.3
29. Dezember 2007
################################################################################

IMPORTANT: PLEASE DON'T FORGET TO UPDATE THE PATH TO YOUR LFS INSTALLATION
           IN THE FILE "configuration.txt"

Requirements:
 - Live for Speed S2 Alpha 0.5Y or above
 - Logitech G15 Gaming Keyboard (V1 or V2)
 - .NET Framework 2.0
 - LCDFonts installed

Features:
------------------------------------------------------
-  Gauge-Display (for race, qualification and practice)
------------------------------------------------------
   o RPM of engine (analog + digital)
   o Speed (digital)
   o Pit speed limiter indicator
   o Selected gear
   o Shiftlight indicator
   o turbo manifold pressure (in bar)

   Note: The Insim car speed is a floating number and is always rounded to the 
         largest integer less than or equal to its floating value (math: floor 
         function, same as it is done in LFS). I.e. a speed of 49.999mph is 
         displayed as 49mph. Therefore: Consider this when pitting, :-)

------------------------------------------------------
- Race-Information (for race mode only)
------------------------------------------------------
   o Current fuel level (precision: 2 decimal places)
   o Display of average fuel consumption per lap
   o Number of laps to go based on current fuel level and average fuel 
     consumption
   o Display of driver in front / behind
   o Display of position in race
   o Display of race distance / duration
   o "live"-timing of gap to driver in front / behind
   o Pitstop warn indicator (fuel empty)
   o Recommended amout of fuel for pitstop

   Note "Pitstop warn indication": 
     
     - Indicator gets activated when crossing start/finish line, if at the end 
       of this lap a pitstop has to be done. Instead of the own race position 
       the literal "PIT" will appear (alternating with the recommended 
       refuel amount).

   Note "Remommended amout of fuel":
   
     - Based on the average fuel consumption, the fuel left on board and the 
       remaining race distance at the beginning of each lap the recommended 
       refuel amount is calculated and displayed (right bottom of race details).
       
       If the distance is given in number of laps (e.g. 10 laps race), the 
       remaining race distance is calculated by subtracting the number of laps 
       already done from the overall number of laps in the race. Thereby the 
       calculation of the remaining race distance does not consider the fact, 
       that you might be already one or more laps down to the race leader and 
       therefore your personal race distance might be a bit shorter.
     
       For timed races (i.e. race mode is hour) the remaining number of laps to 
       go is calculated based on your average lap time and the remaining race 
       time.
       
       When calculating the recommended fuel amount a buffer of 1% is added. 
       Accordingly the fuel left at the end of race should be 
       approximately 1-2%.

     - Following formats for the recommended refuel amount are possible:
     
            ---%      No calculation so far (outlap)
            ----      No refuel necessary
            <nnn>%    Calculation done, <nnn>% refuel amount necessary
                      at the next pitstop to finish the race.
            +<nnn>L   Calculation done, last pitstop mustn't be done earlier
                      than after <nnn> laps from now, otherwise another 
                      additional pitstop is necessary
            +pit      Even if filling up the car at least one additional pitstop
                      is necessary

################################################################################
------------------------------------------------------
- Laptimes (for race, qualification and practice)
------------------------------------------------------
   o LL: Last lap - sector times and laptime
   o BL: Best lap - sector times and laptime
   o BP: Best possible lap - sector times and laptime
   o CL: Current lap - sector times and laptime

   Note "best possible lap":
   
     - The best possible laptime is a summation of the best sector times
       driven on that track. Therefore this laptime should be regarded
       as "theoretical" laptime.
     
   Note "file laptimes.csv":

     - The times of the best lap (BL) and the best possible lap (BP) are saved
       to the file "laptimes.csv" and vice versa read from when restarting the 
       LiveForG15 application.
       
       Each record within the file has following format:
       
       Column 1    : Carname
       Column 2    : Trackname (short)
       Columns 3-6 : Sectortimes of the best possible lap (BP) 
       Columns 7-10: Splittimes and laptime of the best lap (BL)
       
       This file is updated after each completed lap.
        
################################################################################
Installation:
################################################################################
 
 - Install ".NET Framework 2.0"
 - Extract "LCDFonts.zip" into temp. directory and install them via 
   Control panel/Fonts (Install New Fonts from the File menu)
 - Extract "LiveForG15.zip" into any folder
 - Update insim port in "configuration.txt" if required (default is 29999) 
 - Update installation directory of LFS (default is "D:\Spiele\LiveForSpeed") 
   in "configuration.txt"
 
################################################################################
Usage:
################################################################################

Start of the application:

 - Start LFS with the commandline option /insim=<port> (where <port> in the 
   port number specified in the "configuration.txt")
   
   Example: LFS.exe /insim=29999

   Alternative: Within LFS type T and enter "/insim 29999"     
   
 - Run 'Live for G15.exe'
 - Press LCD-Key 3 on the keyboard to connect to LFS

Errormessages:

 - log4j messages can be found in file "LFS.log" and should be provided when 
   reporting issues.
 
LCD Keys:

Key 1: Switches between different screens (availability depends on race mode)
Key 2: No function
Key 3: Connects/Disconnects the application from LFS
Key 4: Closes "Live for G15"

################################################################################
Links:
################################################################################

LFSLib 0.16b by sdether (http://www.claassen.net/geek/lfs/)
DotNetLCD by "Is mise le meas" (http://www.g15mods.com/tools.html)
.NET Framework 2.0 by Microsoft (http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=de)

################################################################################
Change history:
################################################################################

v0.9.3 301207 by Wulle
- fixed: LFS configuration file is now read using ANSI-encoding.
- fixed: recommended refuel amount now considers tank might not have more than
         100% load

v0.9.2 291207 by Wulle
- fixed: best possible lap laptime was only displayed after one driven lap
- fixed: only resetting all players when going self into pits (before: every player
         pitted lead to a reset)
- fixed: unsychnronized access to internal attribute might cause enumeration exception

v0.9.1 291207 by Wulle
- fixed: outlap overwrote bestlap times

v0.9 291207 by Wulle
- added screen 'laptimes' for race,quali and practice
- persistence of laptimes in file "laptimes.csv"
- added special character workaround (see "known bugs")
- added display of turbo manifold pressure on gauge screen

v0.8 251207 by Wulle
- re-enabled race information display
- added recommended refuel amount feature to race information

v0.7 161207 by Wulle (based on orignal version of Kamel)
- disabled all screens but the gauge display
- switched to LFSLib 0.16b supporting LFS 0.5X or above

