proTyres gives you all the feedback you need about the tyres in one compact app, it’s only about the tyres, nothing else!
Inspired by the AC app Tyres and the work and concept of the brilliant apps like Sidekick (by Topuz) and Tire PSI helper (by sacredaardvark). All pressures, temperatures and wear behavior are read from AC car data including curve files, for every car and each compound. Open source and mod cars is supported as well, please see text file in archive for details.
Color coding for temperature and pressures are close to AC standards. It’s all automatic, no user input needed.
So what could I expect and don’t expect?
How it looks after a bit of driving in standard configuration and a short overview of the main layout:
So how does it differ from AC Tyres?
Let’s see these two examples where proTyres and Tyres is compared side by side, using similar scale size:
(each part of the tyre is visualized, dirty level bar is visible in the
wear bar as an transparent overlay, see pic below)
The python interface do not provide the instant contact temperature, so instead each part of the tyre gets its own box together with average in the center box. Visual representation of “flat spots” is not possible at the moment.
The thermal average is the shown value in main app (75% core + 25% average ring temperature). Colors of the boxes correspond to temperature grip level of the current compound, blue to red equals to 98-100-98% optimal grip.
Temp range indicator overlay shown in IMO boxes, this bar indicate where the current ring average is within the working range of the compound.
Pressure and wear indicators and settings
Pressure and wear is also visualized with two separate bars for each tyre.
Difference from optimal pressure is shown under actual pressure. Two horizontal lines shows when actual pressure is approximate within 2 psi from its target.
Colors of the wear bar is the same as Tyres with one difference regarding what the height of the bar actually represent:
- In Tyres -> height of the bar is virtual KM
- proTyres -> height of the bar is wear in 3 levels from none to high (green, yellow and red corresponding to levels 100, 98 and 96% )
Virtual KM is how far the tyre has traveled and could be more or less than actual distance depending on compound and driving style, this value is at the moment not available in the python interface.
Top right picture above shows the compact pressure label display mode.
For each compound there is possible to set an front and rear pressure offset from the ideal pressure that is saved with the current track temperature index as reference. White, red and blue color of the spinner text reflects the value compared to saved reference value (if any).See ini description for possible options.
One thing to remember is that all temperatures and pressures are target values on track, when leaving pit values may be incorrect.
Tyre slip during braking
During braking there is an three level indicator of how much each tyre is slipping indicated by a color box (yellow/orange/red). The behavior of the red indicator is very similar to AC damage red tyre indicator:
However, you will notice that it will also indicate when slipping on curbs, gravel and other surfaces as well, so red do not always mean you have damaged the tyre.
There is three different sensitivity levels (High/Medium/Low) that are set as default for Practice, Qualify and Race sessions. It can also be switch of completely, see description of INI settings for options. The indicator switch off can be either delayed (default, similar to AC) or without any delay (Direct).
This EOL level thing, what is that?
The app estimate the distance possible with decent grip levels on your current tyre set, it adapts to track conditions and driving style. The information is not directly available from AC, so it is an estimated end of life based on wear curve and other parameters.
Lets look a bit more in detail on the EOL level bar
For each track and tyre condition, the app needs to adapt to the wear rate and it starts when wear levels drops below 100%. This is then saved on car basis to be reused whenever the compound is used under similar conditions.
This is of great value, but I need more!
Press the info button for more details on the estimated values.
When in pit, an PitBoard is shown with information about the current tyre compound, when entering pitlane on an used set, laps to go is shown instead. It also shows an heads up regarding EOL calibrations.
PitBoard sign behavior can be setup thru INI setting and is session based as well.
Optionally, extra wear info can be activated for the PitBoard sign, this will show an scaled wear (green-yellow-red) 0-100% and number of laps done. This information will stay static until you leave pitlane, even if the tyres are changed during the pitstop.
Edit your settings INI file:
verbose_log = Extend
(this will enable log and result to py_log and console)
extend_info = True
(this will show above info in the PitBoard as well
This is to much information, less is more!
Sometimes you need to focus on driving and not the app, the default display mode "Extend" can be replaced with the following ones:
You can toggle thru the modes using the green "Display Mode Button". With INI setting you can skip certain modes and/or set different default display modes for practice, qualify and race session. See INI options below for even more customization.
What about the options?
To create a default configuration delete existing ini and start the app, edit the config.ini and change the options to your personal liking:
(read config_readme.txt for more details and examples)
range 1.0 - 3.0scale_font
range 0.5 - 1.5background
Standard -> default backgroundconfig_menu_mode
Plain -> plain black background (recomended for VR)
None -> no background
Close -> Menu is closed when leaving pitlane, open is manualdisable_button
Auto -> Menu is open/closed when in pitlane
Manual -> No automatic open/close of menu
(If Close or Auto is used, menu will be closed when not in pitlane)
None, Display, Config, Info, Allbw_buttons
(disable buttons, combinations possible i.e DisplayInfo)
If Config is disabled, pressure offsets is also disabled. For no button mode, use Auto, then button is not visible.
False -> use button with colorsuse_op_font
True -> use black & white buttons
False -> default font is usedop_font
True -> optional font is used, optional setting for VR users
font name, italic (0/1), bold (0/1)verbose_log
please see ini file for suggestion, must be available in AC fonts
None (False) -> only errors is shown in console and py_log.txtdebug
Standard (True) -> informative and errors is shown in console and py_log.txt
Extend -> same as Standard but also tyre set info in console and py_log.txt
False -> do not load debugWindow
True -> load debugWindow, can be shown from app menu in-game
Standard, Extend, ExtendNoWear, CompactStandard, CompactExtend, CompactExtendNoWeardisplay_disabled
(default display mode for respective session mode)
None, Standard, Extend, Compact, Wear, NoWear
(block selected display modes)
False -> no indication of new tyretemp_bar_mode
True -> indicate new tyre status, resets at wear level 100%
None -> no temp range bartop_tyre_mode
StandardRing -> average ring temp as range bar overlay in IMO box
False -> tyre ring temp is top/bottom for front/reardirty_bar_tyre
True -> tyre ring temp is always on top
False -> dirty bar is an overlay in wear baravg_peak_mode
True -> dirty bar is an overlay in average temp box
False -> thermal average is always showncenter_bar
True -> if IMO is overheating, highest temp is shown in avg box
False -> all bars is from bottom and upshow_brake_slip
True -> all bar is from center and out
Off > no brake slip indicator in any sessionbrake_sense_practice, qualify, race, other
Direct -> indicate brake slip in four levels according to session
Delayed -> same as direct but switch off is delayed and max slip is retained
High -> Yellow and Orange trigger with little slip
Medium -> Trigger levels approximate half of High setting
Low -> Trigger levels approximate ten times High setting
Off -> Indicator turned off for current session
Red indicator is not affected by any sensitivity level except for Off
Use psi, bar or kPa, affects actual and diff value. Note that AC pit options and pressure offsets is psi onlyaverage_seconds
rolling average in seconds, 0-30s, default is 5soffset_fallback
Temp (False) -> every temp range and compounds needs to be set manuallyoffset_temp_range
Track -> same as 'Temp' (no fallback) but offsets also bound to track
TempOnly (True) -> nearest saved offset for used compound will be used, if switching to another compound without any saved values, previous settings will be kept. (to save the values, the spinner needs to be clicked)
TrackTemp -> fallback as 'TempOnly', but offsets also bound to track, when used, first track closest in range will be used for fallback
TrackOnly -> fallback as 'TrackTemp', but fallback limited to current track
temperature interval for saved offset valuesbar_standard
(index reference for offset values, default 5.0 mean 0.0,5.0,10.0,15.0 and so on, to use one offset for all temps use value 100.0)
Auto -> pressure scale is dynamic 6/10/16psi depending on difflabel_practice
Scale6, Scale10, Scale16 -> fixed scale 6/10/16psi
(regardless of scale setting, marker ranges is always 2psi)
Standard -> psi, absolut and diff pressure is shown
Compact -> only diff pressure is shown
None -> no level lines in wear barmasked
Standard -> show black level lines in wear bar
Color -> show black/yellow/red level lines in wear bar
False -> new tyres will show some wear before it goes to no wear, depending on tyre it takes a few corners to a few laps (AC default behavior)
True -> new tyres show no wear from start
None -> no level lines in eol barshow_info
Standard -> show black level lines in eol bar
Color -> show black/yellow/red level lines in eol bar
False -> info labels default closedshow_gain
True -> info labels default open
False -> hide this value in the info popupdisable
True -> show eol gain, for the tyre enthusiast
False -> estimated end of life indicator is availible
True -> disable eol function and used resources is not checked, new tyre and masked wear and pressure offsets functionality is then not possible
None, NewTyre, NewCompound, PitLaneclose_seconds
(when to show pitboard for each session)
close delay in seconds, range 0-15s, default is 5sinfo_open
False -> Info button will not show PitBoard when outside pitlaneextend_info
True -> Info button shows PitBoard when outside pitlane
Only -> Info button will only show PitBoard and not info label when outside pitlane
False -> no extra info is shown on pitboard
True -> extra tyre set info is shown on pitboard
After start of session, press home to show console and you will get an conflict error message if combination not possible.
Example on different layouts:
There is an debug window available and a short notice in the console after loading compound data (press home key), here is also error messages displayed (if any). Messages are also saved in py_log.txt
Unpack all files into your Assetta Corsa main folder (keep the structure in the zip).
If you have any questions, wishes or problems let me know here or in the AC forum thread http://www.assettocorsa.net/forum/index.php?threads/protyres-v1-0-0-it’s-all-about-the-tyre.43361/
User B-RIDDICK at the AC forum supplies
many INI & LUT packs for mod cars
Save the pack folder in your "\apps\python\proTyres\cars_mod" folder.
- fix for some tyre compound behavior that made masked wear and new tyre indicator reset to early affecting visual display and initial eol estimate (only a few known)
- fix for tyre and eol data not reset correct when some Challenge sessions was restarted
- new ini & lut pack for all cars from AC 1.15.2 (not any known changes)
- support for different front/rear performance curves, only a few known mod cars have this
- fix for tyre wear pitboard info was sometimes not reset after changed or restarted session
- fix for pitboard sometimes not shown during race session
- log info for session mode/init updated
- minor code tweaks
- updated ini&lut pack for all AC & DLC cars version 1.15
- optional log tyre wear (green-yellow-red scaled 0-100%) writes to py_log.txt after tyre change or enter pitlane, default is off
- optional show extra tyre wear info on PitBoard as well (if optional logging is used), default is off
- support for different front/rear wear curves, only a very few cars and specific compounds have this
- background pictures supplied in different base scales for improved visuals when scaling the app
- fix for some track/pitbox combinations resulting in 1 extra lap count for 2nd and further tyre changes
- fix for some compounds missing data for high wear in lut file messing up EOL display
- fix for pitboard sometimes not updated if compound was changed during pitstop
- changed default brake slip sensitive for "Practice, Qualify, Race" to "High, High, Medium", will not affect existing setups
- minor visual fix for high grip marker in eol bar affecting a few cars
- minor code tweaks
- INI description updated and description of error codes added
- optional three level brake slip/lockup indicator min/mid/high (yellow/orange/red) with session based sensitive levels (Off/Low/Medium/High) and different modes (Off/Direct/Delayed), update rate 30Hz
- updated ini&lut pack for all AC 1.14.4 cars
- optional PitBoard with compound summary, session display modes None, NewTyre, NewCompound, PitLane, closes when leaving pitlane
- optional EXTEND display mode without wear bars, when active all dirt levels is shown in eol bar, selection can be set by INI
- optional text scale, range 0.5-1.5, font scale is applied after app scale, min size is still standard 10px
- standard backgrounds and graphic details updated
- debugWindow resources not loaded by default, can be enabled again by INI
- eol gain table tweak
- fix for instant load of compound data if changed during pitstop (for instant PitBoard details)
- fix for tyre lap counter when session changes, sometimes it did not reset correct
- fix for eol marker and labels could sometimes get placed outside app boundaries
- shared memory reference updated to 1.14.3 and some other minor code tweaks
- updated ini&lut pack for all AC 1.14.3 cars (not any known changes)
- index added to INI configuration error information
- INI description updated and examples added to readme text
- updated (new) ini&lut pack for AC 1.14.1, some cars was missing compound data in 1.14.0
- extended check for Nordschleife Tourist, depending on start pitbox, sometimes km fix could be missed (messing up eol gain)
- very little tweak eol gain calculation
- fix for app forced visible even if deactivated in app selection bar, even if not activated, app will need to init to keep correct behavior of pit/track condition
- updated ini&lut files for all AC cars to version 1.14.0 (only a few has changed) and new RTR DLC
- fix for broken lut handling on a few cars (currently known Race Sim Studio)
- fix for broken session reset when km fix was applied
- fix when race end to practice session, sometimes current tyre set was not reset correct (not checked)
- fix for eol color bar & markers, was sometimes not on the correct position & color
- workaround for United Racing Design (URD) mod cars wrong parameter configuration, for it to detect tyre compound correct you need to click less than 1 click/second when changing from hard to soft, that due to missing info from the URD cars. change from hard/soft in pitstop will not be detected. compound soft(s) or hard (h) is not indicated in the app summary (or in the AC pitstop app as well)
- 1 to 7-point dynamic eol, improves estimated end of life (adapts automaticly from previous 1-point format)
- fix if race is started on track and session is restarted, tyre laps/eol data was not reset correct
- fix for a few high wear compounds, sometimes eol could behave strange on 2nd run
- fix if km is reset on track messing up eol (example Nordschleife Tourist)
- fix for info eolgain, not so relevant value was shown, also shown in compact mode as well (if enabled)
- fix if tyre is overheated and out of lut range, gfx could sometimes freeze until cooldown within lut range
- pitpos is now not forced set if session changes but jump to pit does, improves new street tyre detection
- optional non verbose logging in console and pt_log.txt (only errors is shown)
- add debug info for pit position init
- fix when standing long time in pit or long countdown before race, newtyre could sometimes be reset
- fix when session (usually race) is started on track, position of pitbox is saved if entered later during session or by jump from menu
- optional black & white color mode for buttons
- optionaly bound pressure offsets from ideal target to current track (still temp based)
- optional fallback is now Temp (False), TempOnly (True), Track, TrackTemp or TrackOnly
- fix when changing compounds, sometimes wrong offset was selected
- fix when selecting compound quick back to previous, selection could get stuck on 'n/a'
- fix for some mod cars compounds not reaching 100% wear, delaying the newtyre overlay behavior (one known)
- fix for non pitlane track configurations (example Nordschleife Tourist), tyre change not detected correct
- new init of lib, previous code was sometimes incompatible with some installations (russian confirmed)
- sim_info updated according to AC 1.13.2, warning if older version loaded by previous app and is not up to date
(python seems to share this info and if an older version is loaded before proTyres it could cause app to fail)
- if app not visible, no background activity (previous EOL calculations was always active)
- readme INI updated and protyres version added to py_log
- fix of non vital app loading error
- fix for eol range bar not stable even after tuning (buffert had wrong init values)
- fix for some mod cars new tyre overlay flicker in pit (currently known Race Sim Studio)
- new tyre detection flexible sync time, could maybe reduce cpu usage non pit (less than 1%)
- fix for zero range optimal temp used by some mod cars (currently known RSS)
optimal temp range now expands around single entry according to lut file (example RSS +/- 0.2% grip)
(ERROR division by zero)
- added more track condition when modifying pressure offsets
- added config_readme.txt with description of all INI parameters
v1.0.8 170404 hotfix
- temp range was read from INI but not used during save correct
- ini and lut files from AC 1.13.2
- optional temp range bar overlay in IMO box, ring average in optimal range
- optional display mode for pressure bar, Auto or fixed Scale, for Standard and Compact display modes
- optional display mode for pressure labels, Standard or Compact for each session type
- optional ideal pressure offset front/rear configurable for each car/compound
- saved offsets uses track temp as reference for pressure offset, default range +/-2.5 degree/offset
- optional pressure offset fallback to closest temp range or previous used compound settings
- optional rolling average for pressure, 0-30s, defaults to 5s
- debug updated with offset info
- config menu behavior auto, close and manual
- disable button option is any of "None, Display, Config, Info, All" (i.e 'DisplayInfo' for only Config button)
(disable config button will disable offset functions, use auto for no button mode)
- optional show IMO ring overheat temp in AVG box
- optional start with eol info labels open
- info and config labels keeps old status when changing display mode
- minor tweak eol gain and mask during replay/pause/low speed
- background cleanup, Standard as before, Plain is now AC standard type (very similar to previous), None is no background
- disable display modes is now "None, Compact, Extend, Standard"
- new ini structure for better overview and future new options
- enhanced ini section code and other minor visual and code tweaks
- ini and lut files from AC 1.13
- extended error message for folder fallback and tyres.ini not found
- console messages written to py_log as well
- wear and eol bar marker has seperate option
- optional color mode for wear and eol marker
- new tyre detection in general tweaked for slicks/street conditions
- tyre compound with no initial scrub cycle (street) shows as new until wear starts
- fix for detect new tyres when enter pit-box
- fix for detect new street tyres during pit-stop
(at least one tyre must not be new to detect change of street tyres during pit-stop,
this is pit-stop limits only, pit-box, compound and session change is not affected)
- pit-stop info added to debug window
- new tyre not shown at all if tyre wear is disabled
- fix for rare wear curve in some mod cars (1 known)
- workaround fix for single tyre mod car with missing tyres.ini option (a few known)
(tyres.ini needs to edited to make it work as well)
- tyres.ini checked for valid file format, section and option content before access
(will not fix the error but better error handler when loading mod cars with broken ini files)
- parameters not sensitive to case
- some minor code and visual tweaks
- fix for rare wear lut double km entry in a few mod cars (1 known car)
- new estimated end of life (EOL) indicator for tyres
- standard, compact or extend display mode
- display and info button to toggle thru display modes
- selectable default display modes for practice, qualify and race
- ini and lut files from AC 1.12.6
- optional top box mode, rear tyres displayed same as top
- optional new tyre overlay
- optional font use for VR users
- optional marker for wear and eol indicator
- optional folder for mod cars, some cars included
- final folder fallback to content/car/data folder for open ini mod cars
- none, plain or standard background
- modified icon for debug
- improved pit box and new tyre detection
- move pin to standard position (top right)
- minor visual and code tweaks
- fix for error when reading a few of the curve files
- new Average Temperture in center and as displayed value, core moved to bottom
- new tyres detected and wear indicator is optionally masked
- optionally show dirty level in of mid tyre instead of wear bar
- show pressures as psi, bar or kPa (abs and diff)
- debug, new tire indicated by '|'
- car data for AC 1.12.2
- initial release
- car data for AC 1.12.1
No FPS drops whatsoever has been noted with the main app, your mileage may vary