[REL] TinyPedal - open source overlay APP for rF2 (Radar,Pedal,FFB,Deltabest,Relative,Fuel calculator)

Discussion in 'Other' started by svictor, Mar 14, 2022.

Tags:
  1. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,000
    Likes Received:
    6,744
    TinyPedal
    [​IMG]
    Project homepage: https://github.com/s-victor/TinyPedal

    TinyPedal is a Free and Open Source telemetry overlay application for racing simulation.

    Currently supports rFactor 2 and Le Mans Ultimate.

    Requirements
    TinyPedal requires The Iron Wolf’s rF2 Shared Memory Map Plugin from Download section of following page:
    https://github.com/TheIronWolfModding/rF2SharedMemoryMapPlugin

    The plugin file rFactor2SharedMemoryMapPlugin64.dll should be placed in:
    1. For rFactor 2, it is rFactor 2\Bin64\Plugins folder.
    2. For Le Mans Ultimate, it is Le Mans Ultimate\Plugins folder.
    This plugin also comes with some of the popular rF2/LMU Apps, check corresponding game's plugins folder first to see if it was installed already.

    In-game setup:
    1. Enabled rFactor2SharedMemoryMapPlugin64 plugin in game option. For Le Mans Ultimate, user may have to manually enable plugin by editing CustomPluginVariables.JSON file (set " Enabled" value to 1 ) under Le Mans Ultimate\UserData\player folder. After plugin enabled, must restart game to take effect.
    2. Set game display mode to Borderless or Windowed mode. Fullscreen mode is not supported.
    If there is an error with "missing vcruntime140" or something, it is likely due to missing vcruntime, try install "Microsoft Visual C++ 2015 Redistributable".

    Quick Start
    1. Download latest TinyPedal version from Releases page, extract and run tinypedal.exe.
      Alternatively, run TinyPedal from source, see Run from source section for details.
      For Linux user, please follow Running on Linux section for instruction.

    2. A tray icon will appear at system tray. If not shown, check hidden tray icon. Right Click on tray icon will bring up context menu.

    3. Launch game, overlay will appear once vehicle is on track, and auto-hide otherwise. Auto-hide can be toggled On and Off by clicking Auto Hide from tray menu.

    4. Overlay can be Locked or Unlocked by clicking Lock Overlay from tray menu. While Unlocked, click on overlay to drag around.

    5. Widgets can be Enabled or Disabled by clicking Config and open main window from tray menu.

    6. To quit APP, Right Click on tray icon and select Quit; or, click Overlay menu from main window and select Quit.
    User Guide
    https://github.com/s-victor/TinyPedal/wiki

    Special thanks to:
    The Iron Wolf for the permission to use rF2 Shared Memory Map Plugin in TinyPedal.
    Tony Whitley for pyRfactor2SharedMemory library.

    Widget overview:
    pedal.png

    fuel.png

    gear.png

    laphistory.png

    radar.png
    standings.png

    trackmap.png

    Changelog:
    https://github.com/s-victor/TinyPedal/blob/master/docs/changelog.txt

    Troubleshooting:
    1. If you have encountered gsync issue while using Tinypedal, try disable fullscreen optimizations for the rfactor2.exe (solution provided by @manashttu)
     

    Attached Files:

    Last edited: Mar 28, 2024
  2. ThomasJohansen

    ThomasJohansen Registered

    Joined:
    Dec 27, 2019
    Messages:
    977
    Likes Received:
    2,297
    @svictor
    just curious, what values do you look at to define this?
    I would love to make my own indicator for this in my simhub overlay.
     
  3. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,000
    Likes Received:
    6,744
    If you mean how to find the exact amount offset for ride height, then it is unfortunate that the game does not provide such info through sharedmemory plugin. TinyPedal simply requires user to provide known offset to do subtraction.

    However, there is a few way to find near accurate ride height offset:
    1. The easiest method is to load vehicle in DevMode (assume mod is not encrypted), then find a flat ground, press down both Ctrl+Shift, and you can get the actual ride height offset reading.

    2. Find a way to detach all 4 wheels and land on a flat surface. This is actually hard to do than it appears, but it can be done.
     
    Last edited: Apr 3, 2022
  4. ThomasJohansen

    ThomasJohansen Registered

    Joined:
    Dec 27, 2019
    Messages:
    977
    Likes Received:
    2,297
    oh boy... crazy, alternative and yet ingenious way to solve the mystery.
    Such a shame the api lacks this kind of information. Specially bottoming, it's one of those things you cant feel in a sim.
     
    yashiman, svictor and Corti like this.
  5. ebeninca

    ebeninca Registered

    Joined:
    Sep 7, 2016
    Messages:
    776
    Likes Received:
    556
    Amazing, great job, something I had been waiting since the end of dx9 support.

    - Would be interesting to have the driver position in class on the relative screen.
    - And add an option to autostart with windows.
     
    Last edited: Mar 15, 2022
    svictor likes this.
  6. EmanueleMarra15

    EmanueleMarra15 Registered

    Joined:
    Nov 29, 2020
    Messages:
    11
    Likes Received:
    4
    finally a hud done right, thanks !!
    I hope that the helicopter ride and the delta will be added
     
    svictor likes this.
  7. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,000
    Likes Received:
    6,744
    Thanks, glad you liked it, and delta best & and car radar is on todo list, will see how things progress.
     
  8. Vance Le Garde

    Vance Le Garde Registered

    Joined:
    Oct 5, 2010
    Messages:
    223
    Likes Received:
    31
    So this wont work in VR ? Great job though.
     
    svictor likes this.
  9. zxd1997

    zxd1997 Registered

    Joined:
    Sep 26, 2019
    Messages:
    306
    Likes Received:
    281
    it's a software overlay on the screen, so I don't think it could run on VR
     
    Vance Le Garde and svictor like this.
  10. Manfredk2

    Manfredk2 Guest

    In combination with CrewChief it should also be usable in VR
     
  11. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,000
    Likes Received:
    6,744
    v1.1.0 update - Delta best now available!
    upload_2022-3-21_16-48-32.png

    Download link: see newer 1.1.3 version.

    This update adds full support for "delta best". The new Delta best widget not only automatically records player's best laptime, compares delta time, but also stores best laptime data which can be auto-loaded in future session, or to be shared and used by other players.

    How it works:
    The APP saves best laptime data every time player goes back to garage screen (ESC), and auto-reloads best laptime data when player is on track.
    Best laptime data is stored as csv data file inside deltabest subfolder.
    Each file is named based on format: [full track name] - [vehicle class name].csv

    As long as there is a matching file, the previous best laptime and delta time info will be auto-loaded. This can be very useful for quickly getting back into a practice session or doing hotlap, and the file can be shared & used by other players (similar to ghost car).

    To remove a best laptime data, first make sure you are not on track (ESC to garage screen), then simply delete the corresponding file from deltabest subfolder.

    Known limitation: Currently cutting track will not invalidate best laptime recording. This issue will mostly affect point to point tracks as they have alternative sector/finish detection, which could result wrong best laptime being saved. (hopefully will find a good solution to this issue soon)
    This issue was fixed in version 1.1.3.


    Other changes:
    upload_2022-3-21_17-17-8.png
    Timing widget now displays "estimated laptime", which accurately sync with delta best data, and has 3 different layouts.

    Customization guide is updated with large amount new adjustable options for new & old widgets:
    https://github.com/s-victor/TinyPedal/blob/master/docs/customizations.md

    The APP now automatically creates backup for config.json file in case of invalid or out-dated values.

    There are also many other improvements, see changelog.

    Changelog:
    TinyPedal 1.1.0 (2022-03-21)
    ----------------------------
    * [New]Delta best widget
    - Show delta best based on personal best laptime.
    - Show delta bar with customizable range, size and color.
    - Record, save, and load player's best laptime data automatically.
    - Best laptime file is stored in "deltabest" folder, and can be
    used by other players.
    - 2 different layouts.

    * Core
    - Add "deltatime" module, which runs in separated thread at 60fps.
    - Add "delta_timing" switch in config.json.
    - Add auto-backup function for config.json.
    - Restructured "readapi" module.
    - Sort all widgets and references in alphabetical order.

    * Timing widget
    - Add delta estimated laptime.
    - Add 3 different layouts.
    - Now reads timing data from deltatime module.

    * Temperature widget
    - Add color swap setting in config.json, which swaps heat map color
    between font & background color.

    * Fuel widget
    - Now reads mLapStartET from "Telemetry" which has higher accuracy.

    * Wear widget
    - Add unit "bar" for tyre pressure.
     
    Last edited: Mar 22, 2022
    jayarrbee36, kados, Corti and 3 others like this.
  12. EmanueleMarra15

    EmanueleMarra15 Registered

    Joined:
    Nov 29, 2020
    Messages:
    11
    Likes Received:
    4
    absolute top, they will make you a saint. hahaha THANK YOU
     
    svictor likes this.
  13. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,000
    Likes Received:
    6,744
    v1.1.3 update - Add laptime validating

    Download: https://github.com/s-victor/TinyPedal/releases/tag/v1.1.3

    Now APP will validate laptime. Any invalid laptime will no longer be saved as best laptime.
    Delta best now fully works under any track or condition. Whether cutting track, or running with point to point track, best laptime will be properly validated and saved.

    Changelog:
    TinyPedal 1.1.3 (2022-03-22)
    ----------------------------
    * Core
    - Add laptime validating function for "deltatime" module.
    Invalid laptime will no longer be saved as best laptime.
    Delta best now fully works under any track or condition.

    * Misc
    - Fixed a few typo in README.md & previous changelog.
    - Added missing contributors.md reference to build_py2exe.py.
     
    marmagas, yashiman, nolive721 and 5 others like this.
  14. nolive721

    nolive721 Registered

    Joined:
    Jan 2, 2016
    Messages:
    400
    Likes Received:
    205
    Tried it last night and it’s working great just need to learn how to resize widgets

    the FFB meter next to pedals input is very accurate and will replace my self created simhub overlay for sure

    thanks so much
     
    svictor likes this.
  15. nolive721

    nolive721 Registered

    Joined:
    Jan 2, 2016
    Messages:
    400
    Likes Received:
    205
    any chance to do widget size tweaking directly on screen, with the mouse button for example like in RRE, or clicking some widget corners like in AC?

    sorry, getting old and tweaking numbers in file you know:p
     
  16. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,000
    Likes Received:
    6,744
    Thanks for the suggestion.

    Unfortunately, direct resize is not possible atm, and is unlikely to be added. I understand the inconvenience of manual editing (I too wish things to be easy), but there are some fundamental limitation to the GUI stuff that used by the APP, and the actual underlying stuff works very differently comparing to other games that natively support HUD, which also renders in total different ways.

    Adding it would also introduce a lot functions and variables that multiply complicity of the APP code, which is a big concern for performance and resources, as there are many decisions that made to keep the APP simple and run fast without eating extra resources.

    Nevertheless, I do wish to improve the way of handling customization in the future.

    PS: also many options in config.json provide a lot flexible combinations to size & position.

    Here is a few tips for quickly edit config.json and resize widget:
    1. If a widget has "font_size" option, then widget size is determined by font_size (increase font_size value will also increase widget size).
    2. Any other widget size is controlled by "***_scale" value. For example, change scale value from 1.0 to 2.0 means the size is doubled.
    3. You can use find > replace all in notepad to quickly change all font_size to desired size.
    For example, search following keyword:
    "font_size": 15,
    and replace with:
    "font_size": 20,
    which would make most widgets larger.

    Hope helps.
     
    Last edited: Mar 23, 2022
    atomed, nolive721 and Corti like this.
  17. nolive721

    nolive721 Registered

    Joined:
    Jan 2, 2016
    Messages:
    400
    Likes Received:
    205
    Oh I hope I was not sounding like a lazy 50yrs old man not willing to spend few minutes to edit a file.

    thanks a lot for having taken the time to provide these hints, I promise to test that during the weekend

    I can easily imagine you doing this APP on your private time so I also hope I didn't sound too much pushy with my request for updates on these widgets. sorry again if you took it the wrong way:oops:
     
    Last edited: Mar 24, 2022
    Seven Smiles and svictor like this.
  18. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,000
    Likes Received:
    6,744
    Thanks, no worries, I will definitely seek any opportunities and possibilities to improve the app. There are still a lot of ideas haven't yet realized, time will tell.
     
    nolive721 likes this.
  19. Flatspotter

    Flatspotter Registered

    Joined:
    Oct 7, 2010
    Messages:
    384
    Likes Received:
    124
    Thank you for this wonderful tool! I love that you can easily turn things on or off, reposition and resize them.

    One question: Is it possible to have the Delta Best widget compare my time to the fastest driver on track instead of my own fastest lap? While it's very useful to see where I'm gaining or losing time compared with myself, it would help me more to see how I compare to the fastest car.

    Thanks again!
     
    Corti and svictor like this.
  20. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,000
    Likes Received:
    6,744
    Thanks for the idea.

    In theory, it should be possible. However, to put coding difficulty aside, that would require APP to constantly record everyone's laptime on server (since delta time data isn't provided by game, has to be recorded in real-time), then constantly saving and comparing each one's laptime data to pick a best server laptime to be able to compare with yourself, all those process would likely be a great performance hit.

    Alternatively, only select and record one player that you know he is going to set a fastest laptime, which would also require to create a window or menu for selecting player. Also player index can change if one player leaves server, so probably will have side effects.
     
    Last edited: Mar 30, 2022
    atomed and Corti like this.

Share This Page