/ReHUD

A custom overlay for RaceRoom Racing Experience built using Electron.NET.

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

ReHUD

ReHUD

GitHub release (latest by date including pre-releases) GitHub all releases Quality Gate Status

ReHUD is a custom, configurable, easy-to-use and easy-to-extend HUD for RaceRoom Racing Experience.

I started this project because more and more bugs began to appear in OtterHud, the hud I was using up until now, and an amazing one.


Current Features

  • MoTeC dash (speed, gear, revs, etc.)
  • Tire temp and tire wear status
  • Fuel calculator
  • Input meter
  • Damage viewer
  • Radar
  • Position bar
  • Live delta
  • Position bar
  • TV tower
  • Session status
  • Pit timer
  • Live rake visualizer
  • DRS and P2P indicators
  • Live on-track relative display*
  • Settings window:
    • Element scale and rearrangement*
    • Layout presets*
    • General settings*

* work in progress

Planned Features

  • Manual rolling start
  • Input graphs
  • Advanced telemetry

Installation

  1. Go to the latest release.
  2. Download and run the installer.
  3. Done!

Note: If you're updating from a previous version, you can simply run the new installer and it will update the app, no need to uninstall the previous version.

Usage

Once you've installed the app, you will find a desktop shortcut to it, or you can manually find it by searching for "ReHUD" in the windows search menu. Run it with either of the above options, and you're good to go. The overlay is now running and will show up whenever you enter a session in RaceRoom.

To change the position and scale of hud elements, go to the "Layout" tab in the settings window and choose "Edit". Now you will be able to move elements by dragging them with your mouse, and scale them by scrolling over them. After entering edit mode, a list of HUD elements with checkboxes will be activated. Enabling/disabling each HUD element will show/hide it and reset its position.
Once you're done with your changes, choose "Save" to apply them or "Cancel" to undo.

It is recommended to set the "In Game Overlays" setting of RaceRoom under Settings->GAMEPLAY->HUD to "Essentials only", as I currently do not plan to re-implement RaceRoom's essentials.

Please note that you must run RaceRoom in borderless-windowed or windowed mode as the HUD cannot appear on top of fullscreen apps.

Layout Presets

You can save and load layout presets to easily switch between different layouts. To create a new preset, go to the "Layout" tab in the settings window and click on the "+" button. To rename a preset, choose it, click on the "Edit" button, modify the name and click on "Save". To delete a preset, click on the trash can icon next to it. All presets are saved in the Documents/ReHUD/layoutPresets folder as .json files. You shouldn't modify these files manually, but if you really want to, do it while the app is not running.

Replay Preset

The replay preset is a special preset that is automatically loaded when you enter a replay. To mark a preset as the replay preset, choose it, click on the "Edit" button and toggle the "Replay Preset" toggle. Note that only one preset can be marked as the replay preset at a time, and that the replay preset will be automatically unmarked if you mark another preset as the replay preset.

Preset Command Line Argument

You can also load a preset by passing the --preset <preset name> command line argument to the app. This can be useful if you want to create a shortcut to the app that loads a specific preset. For example, if you want to run ReHUD and automatically load the "Race" preset, you can run the following command:

$ ReHUD.exe /args --preset=Race

Screenshots



Bug Reporting

Since v0.3.1-beta, the settings window contains a "Show Log File" button. If you encounter a bug/issue, create a new issue, fill in the template and attach the log file to it. This will help identifying the issue and fixing it as soon as possible.

Contribution

Any contribution to the project will be highly appreciated! Feel free to open a new issue or pull request, and I'll do my best to review them and provide my own feedback.

Developer Notes

This section is only relevant if you want to contribute to the project, or if you want to build the app yourself. If you just want to use the app, you can ignore this section.

Electron.NET

This project is built using Electron.NET, which is a .NET wrapper for Electron. This means that the app is built using C# and .NET, but is run using Electron. This allows for a lot of flexibility and ease of development, as well as the ability to use any npm package in the app. However, Electron.NET is not updated very often - which means that I had to manually add some features to it, such as display names. To develop ReHUD locally, you need to use my fork of Electron.NET (and specifically the ReHUD/main branch) which can be found here.

Special Thanks

  • Tobias Naumann - for being an early tester and providing me with a lot of great feedback.
  • Rich Weatherill - for designing the ReHUD icon.
  • OtterNas3 - for creating OtterHud - the inspiration for this project and an amazing HUD for RaceRoom.
  • Rich Evans - for helping with the development and introducing significant performance improvements.
  • Colin Blankenburg - for helping with the development and doing lots of testing.