RaceTools v2.49 released

Happy New Year!

With each new year comes a new version of RaceTools. Last year’s version will not work in 2015. To continue using RaceTools you must download the latest version (v2.49). See the download page for the latest version of the software.

New license keys are being distributed to teams who have renewed their software license for 2015. If you don’t receive your software license key by January 1st, please contact me for more information.

Here is a look back at what has changed in the software in 2014. Not all changes apply to all versions.


2014 12 17 – hide Oval Layouts from non-IndyCar versions

2014 12 02 – update Expiry Date to 12 31 2015


2014 09 16 – fix extra TLabels for TrapSpeed sections. Caused by resetting the Labels Array in DrawCompareLaps and recreating labels for trap speed sections


2014 08 22 – remove Side-By-Side spacing based on dynamic scaling, fix cars being offset by too large an amount

2014 08 22 – set rank earlier in getRaceInfo to before UpdateClassRank, move UpdateClassRank to end of GetRaceInformation routine to set ClassRank correctly


2014 08 17 – add Announcements to the bottom of the track map to display the latest announcement.

– add Pit Status for INDYCAR version, Pits Closed on Yellow, Pit Status via $A RaceControl messages

2014 08 15 – fix setting ID when selecting Car to set Fuel In Car in Pit Stop Window table. Lookup based on ‘Nr’ column instead of index within Scoreboard which is wrong if not showing all cars in Pit Stop table


2014 08 13 – exclude INVALIDATED laps from Average Laptime

– exclude Laptime<FLapTime from Average Laptime

– add PIC to TimeCards for MultiClass versions


2014 07 29 – hide Add Class option from non-multiclass versions

– add ‘CarNr’ export to Lap Times export (was not implemented)

2014 07 29 – add CK to list of Session Results fields and to the default columns

– add definition of columns to missing descriptions in Session Results column editor, default hint is column name instead of ‘N/A’

2014 07 28 – add DeleteEmptyPitLaneLaps to eliminate false pit stops that are triggered by a Pit In crossing without an associated pit out crossing.


2014 07 24 – add LapTimes logging to export laptimes for multiple cars


2014 07 12 – track FuelEconomy setting changes and only recalculate if value changed. Prevent exiting fields from updating FuelEconomy figures

2014 07 12 – fix Series.Transparency to 0 if GraphLineWidth>0 to re-enable lines between points.


2014 07 11 – classify ‘SB’ as Logical section instead of physical section for IOWA Speedway layout.

2014 07 06 – ignore $X flag time for current flag. Calculate current flag time using $F flag message from MLP feed, otherwise the flag time doubles

fixes flag times (GreenTime, YellowTime, RedTime)

2014 07 03 – use tblSessionLog[SessionCode] to set SessionCode in DatabaseToCompetitor (LoadSession) instead of tblSessionInfo[SessionCode] because sometimes the database includes the next session in the SessionInfo table before it is closed. Loading the database loads the empty session.

fall back to use tblSessionInfo if tblSessionLog[SessionCode] is not available


2014 06 26 – fine tune spacing between cars for Spacing and Side-By-Side modes

2014 06 24 – fix print map subtitle of Best Lap to match actual comparison. Set ID2 correctly.

2014 06 08 – add Live Rank option to Running Order to display Projected Rank Live in place of Rank, and Projected Class Rank in place of PIC, useful during races to show actual on track position instead of SF position

– add ProjClassRank to track live PIC/projected PIC

– set ProjClassRank in SortProjRank

– add Leader On Track option to Track map to highlight the actual leader on track and not the leader at the SF line. Perhaps I will find a way to highlight both.

2014 06 08 – clear TrackTemperatures before populating with $W record

– populate full $W fields if available (ambient temperature, barometric pressure, wind speed, wind direction, humidity)


2014 06 03 – add SortColumnTitles option to Session Results popup menu to sort the fields in alphabetical order (instead of default groupings)

– adjust order of column titles

2014 05 30 – add Track Temperatures to track map

– add TOD= option to Replay Until function

– thicken start/finish line (3 lines wide)


2014 05 21 – fix Tow Filter (functionality removed when refreshdisplay optimized to use sorted lists instead of database. Functionality restored.

– add Upload Logfile to quickly upload current logfile


2014 05 16 – update QStatus strings

– make SessionFilter case insensitive

– update SessionFilter field in Configuration window

2014 05 16 – add ALT+T as short cut for Tow Filter

– check for Delta(n) and SR(n) fields before accessing them to resolve missing fields (due to track configuration changes) in BestLap/BestSplits/BestTrap reports

2014 05 14 – add ‘Tow Filter Enabled’ to caption when applicable

– add version, EventName, TrackName to caption


2014 05 13 – update applyTowFilter to properly use TowTimeLines setting

– call SortNTScoreboard (Non-Tow Scoreboard) after processing Completed Lap Message

– fix rendering of Best Lap map with Tow-Filter enabled (reference NTScoreboard instead of SessionInfo.NonTowP1ID)

2014 05 12 – rename INDYLIGHTS version to MRTI

– check for Indy Lights registry for team/key pair, save as MRTI team/key for backwards compatibility


2014 05 11 – add Section_OT field for each section to track OT usage within a section

– display Section OT usage with Red font.

2014 05 11 – fix delete all pit stops function (Range Error)

– fix logging of OT_Status in sectiontimes

2014 05 06 – fix TimeGeargetHeartBeat to handle timed races with no LapsToGo values.

– fixes display of Total Laps, LapsToGo and Pit Stop Windows for timed races with no distance entered.

2014 05 05 – add Package and Send Files to make it easy to send log and configuration files for debugging purposes

2014 05 04 – use SectionType instead of comparing section names for Live Section title and field management. Custom sections may be named anything. Check for SectionType=TrapSpeed instead of section naming convention

– use FindSectionID to determine if FastestSplits title is a section name instead of specific section naming convention

2014 05 03 – change Excel Export Diff to TeamCar-Leader to get positive values

2014 05 03 – set TLabel.Transparent = false to show background color in configuration window

2014 05 02 – break up zip file into path and filename

– disable mnuCloseFile when replay file finished.

– log flag times in announcement window.


2014 05 01 – set sgdSessionResults.RowCount to number of competitors displayed (eliminate extra rows when lines needed decreases, ie. showing single class in multi-class mode).

– add LD@Y to RunningOrder for all IMSA versions, populate LapsDownAtCaution when Y flag first seen.

– change Safety Car (SC) color in Running Order to clRed from clYellow to match color of car on track map

– refresh frmRunningOrder.PopupMenuPopup if new classes added to run.

2014 04 26 – add ContrastFont to setting font color within PrintGrid

– add Print option to SessionResults table (popup menu)

2014 04 25 – add logic to set Sn sections as logical instead of physical sections if SnA and SnB exist

– add mnuFlipWithTrackMap to SessionResults to swap positions of Session Results and Track Map.


2014 04 24 – add Diff to Live Excel Export

2014 04 23 – sdd TireType to graph options to display tire type color for point

2014 04 21 – add support for $M broadcast messages, $U track timeline distances, and $D deleted lap notices

2014 04 14-20

– update RIS/WEC version

– update Import CSV

– update RIS module

– fix Pit Stop Report

– add frmMain.SetFocus to OnHide of popup windows to return program focus to main program window.

2014 04 11 – LapTimes Report – fix display of lap times with SortByLaptime enabled (was missing fastest lap)

2014 04 11 – add QuickSort logic to TimeGear code

2014 04 10 – LapTimes Report – fix display of drivername to use NrRow with and without ShowAverages enabled

– LapTimes Report – add logic to display drive of lap selected in multiclass version instead of current driver

– LapTimes Report – fix lookup of car number with/without mnuShowAverages. Fixes inserting bad car numbers by misinterpreting laptimes as car numbers

2014 04 07 – optimize RefreshDisplay to use Competitors list instead of database, reduced calculation time from 2->20 seconds to < 0.1 seconds.

– fix logic for filtering which cars to display in the LiveSections and Pit Stop tables

– if Show All Cars selected, show all cars within the selected classes

– If Show All Cars not selected, only show selected cars and team cars in the selected classes

– If Exclude Other Classes selected, ignore Selected Class list and only display cars that are in the Team Car Class.

2014 04 04 – add InDriver to Pit Stop Report for MultiClass (multi-driver) version

2014 03 29 – add wildcard session filtering

2014 03 28 – trap GetTrackMap error on launch. Try to reload if first attempt fails.

2014 03 14 – check pnlTop.Height to make sure pgMain is visible. Fixes problem when a configuration with a taller screen is loaded on a smaller screen and cannot access the pgMain section

2014 03 12 – add bookmark code to disable scrolling of table to last record to TimeLineAudit

2014 03 07 – update F1 – Best Splits layout when track configuration changes.

2014 02 24 – highlight Status in Session Results when cars in pit

– set default class colors for P, GTLM, PC, GTD, ST and GS classes if the ClassColors.ini file is not found

2014 02 11 – update Laps To Go in SessionStatus for Timed Race mode.

– test BehindLeader for ‘L’ not ‘LAP’ as some versions set BehindLeader as ‘xL’ not ‘x LAPS’

– remove references to SessionCode[2], use SessionType to test for Session Type

– fix setting of StartDate for multi-day (past midnight) sessions when the software is launched on the second date

2014 01 25 – add Current Flag Time type to display time of current flag, used to display time since last flag change

2014 01 24 – don’t resize TrapSpeed columns with every refresh, only if manually refreshed

– trap Refresh errors

2014 01 20 – add option to include Class Leaders when ExcludeOtherClasses selected

– Add PlayUntilFlag option to pause Replay based on ElapsedTime, Lap #, or Flag Status

2014 01 18 – add option to highlight LSP and LD columns to help with Lap Down Wave By rule

– add option to highlight LSP and LD only under caution

– add option to highlight LSP and LD only for Team Class

2014 01 17 – add Class filters (ExcludeOtherClasses, Class submenus to select classes to display

2014 01 17 – fix setting for StartTime in eRMON to always be >0, fix calculation of StintReport after midnight

2014 01 14 – fix loadSession, read ‘last’ sessioncode

– do not clear trackmap in ClearData

2013 12 28 – filter out sessionlog records where Driver OR Number is NULL in DriverPerformanceReport


RaceTools – Session Results Columns

The Session Results table can be configured to display any combination of over 30 different fields (over 60 in IndyCar/MRTI versions, over 45 in IMSA/WEC versions).

Here is a list of the available fields, not all of which are applicable depending on the series, session type and track type:

IndyCar Session Results Fields
IMSA Session Results Fields
IMSA Session Results Fields

Click on the field to get a more detailed description of the field.

Click on the field to get a detailed description.
Click on the field to get a detailed description.

CK – Check box to select competitor for other reports.
P – Position
Nr – Car Number
Name – Driver Name
FL – Fast Lap
FastTime – Fast Lap Time
BestSpeed – Fast Lap Speed
LapTime – Last Lap Time
LastTime – Last Lap Time
Laps – Laps Completed
LastSpeed – Last Lap Speed
Pace – Last Lap Delta to P1
± FLT – Delta to Fast Lap Time
Gap – Delta to preceding car
Gap SPD – Delta in speed to preceding car
GapOnTrack – Delta to previous car on track, time behind previous car
GapToNext – Delta to next car on track, time ahead of next car
ElapsedTime – ElapsedTime of last S/F crossing
PTS – Points if race ended with current results
PTime – Previous Fast Lap Time
± PT – Delta to Previous Fast Lap Time
PIC – Place In Class
CLASS – Class Name
STINT – Elapsed Time of Current Stint
Diff – Delta to P1
Diff SPD – Delta to P1 in speed
Gap2Us – Gap to Team Car
Pits – Number of Pit Stops made
LSP – Laps Since Pit
LapsDown – Laps down to P1
OR – Overall Rank
BestTime – Best Overall Lap Time
Status – Competitor Status
St – Start Position
Led – Number of Laps Led
P2P – Push To Pass
Tire – Current Tire Type on Car
LPit – Lap of Last Pit Stop
Outing Laps – Visual display of laps since last pit
MSP – Distance since Pit Stop
ThisPit – Pit Lane time for current or latest pit stop
LastPit – Pit Lane time for previous pit stop
QWU – Oval Qualfying Warm Up Lap Time/Speed
QL1 – Oval Qualfiying Lap 1 Time/Speed
QL2 – Oval Qualfiying Lap 2 Time/Speed
QL3 – Oval Qualfiying Lap 3 Time/Speed
QL4 – Oval Qualfiying Lap 4 Time/Speed
QTotal – Oval Qualifying Total Lap Times or Average Lap Speed
QLTime – Oval Qualifying Average Lap Time
QSpeed – Oval Qualifying Average Lap Speed
QStatus – Qualifying Status
QLaps – Number of Qualifying Laps Completed
QRank – Qualfying Rank
QAttempt – Oval Qualifying Attempt Number
QDay – Oval Qualifying Day of attempt
QTarget – Lap Time required to match each competitor for current qualifier
QTotal+ – Projected Qualifying Total Time or Average Speed
Tow FL – minimum Gap On Track for Fast Lap, used to guage tow factor of Fast Lap
Tow LL – minimum Gap On Track for Last Lap, used to guage tow factor of Last Lap
Proj. – Projected Lap Time/Speed
P+ – Projected Rank based on Projected Lap Time/Speed
NTFLap – Non-Tow Fast Lap
NTFTime – Non-Tow Fast Lap Time
NTFSpeed – Non-Tow Fast Lap Speed
NTR – Non-Tow Rank
Team – Team Name
Engine – Engine Supplier
MaxL – Maximum Laps possible for competitor based on Time Remaining/Leader Laps
L2G – Maximum Laps To Go for competitor based on Time Remaining/Leader Laps
RollAvg – Rolling Lap Average, average of last x number of laps
BP – Best Position in session
CLSDiff – Gap to class leader
CLSGap – Gap to previous car in class
Optimal – Optimal Lap Time
LP+ – Live Projected Rank, including Projected Lap Times of active competitors
TackGap2Us – Gap to team car on track
BehindUsOnTrack – time ahead of team car on track
AheadUsOnTrack – time behind of team car on track

RaceTools – Layouts

RaceTools allows you to save and restore custom layouts with quick links to predefined, commonly used layouts. Specifically, there are quick links to Race, Qualifying and Practice layouts. IndyCar versions get to choose Road versus Oval layouts.

Layout Menu

These custom layouts use a special file naming template: <application name>_<SessionType>_<TrackType>.ini.
<application name> is the name of the program, usually INDYCAR_TSModule, IMSA_TSModule, MRTI_TSModule or WEC_TSModule.
<SessionType> is either ‘Race’, ‘Qualifying’ or ‘Practice’
<TrackType> is either ‘Road’ or ‘Oval’ (for INDYCAR and MRTI versions).
ie. ‘IMSA_TSModule_PracticeRoad.ini‘ is the filename for the Practice Layout for the IMSA version of RaceTools. ‘INDYCAR_TSModule_QualifyingOval.ini‘ is the filename for the Oval Qualifying Layout for the INDYCAR version of RaceTools. ‘WEC_TSModule_RaceRoad.ini‘ is the Race Layout for the WEC version of RaceTools.

If you select the Layout/Auto option, RaceTools will automatically load the correct layout when the session changes.

Once you have organized the layout of the software to your satisfaction, select the Layout/Save option to save the layout to a file. You can name it anything you’d like or use the above filenaming convention to make it the default layout for the different session types.

To transfer the layout to other computers on your team, just copy the .ini file(s) to each machine where they can be loaded and modified.