Skip to content

MX Bikes Memory Reader Project (MXBMRP)

License

Notifications You must be signed in to change notification settings

thomas4f/mxbmrp

Repository files navigation

MX Bikes Memory Reader Project (MXBMRP)

mxbmrp MXBMRP displaying the Bike- Track and Server names on screen in MX Bikes Beta19b.

Your typical MX Bikes Discord voicechat:

NitroJack: What track is that?

DirtMcGirt: Dishwashougal, smth or other

XXPastranaXX: It's Washou ...

NitroJack: IS IT ON MODS!?

PicklePumper: Am I good for 12 hours? I usually play sim ...

XXPastranaXX: It's Washougal

BrrapBrody: Huh? MXB Disc? What's the password?

NitroJack: Dishwasher 2022? Spelled with an e or no?

Enough of that!

Enter MXBMRP, a project that reads specific memory addresses in MX Bikes to retrieve real-time game data. It then writes this data to a ReShade shader file, creating an in-game overlay that displays the information live, similar to MaxHUD).

Features

  • Real-Time Data: Reads game memory data such as bike, track, and server information.
  • Shader Integration: Outputs formatted data to a ReShade shader for in-game display.
  • Customizable: Change displayed content, background layer and update intervals.

Prerequisites

  • ReShade configured for MX Bikes, with Add-on support installed and with the AutoReload add-on enabled.

Installation

Download the latest .zip from releases, and decompress the archive to your desktop (or anywhere you like).

Configuration

Edit config.yaml for customizable settings, such as:

  • Text Display: Customize the text format with {Bike}, {Track}, {Server}, and {Password} placeholders.
  • Shader Path: Path to save the shader file (ensure it points to the ReShade shader directory).
  • Layer Image: Path to the image overlay for the shader.
  • Memory Addresses: Preconfigured for MX Bikes beta19; these can be adjusted if the game is updated.

The position of the HUD, text size and text colors can be adjusted from within ReShade.

Usage

  • Edit config.yaml according to the comments within the file.
  • Run mxbmrp.exe.
  • Ensure that the mxbmrp shader is enabled in ReShade.
  • Press CTRL + C to exit.

You only need to restart the program if you change its configuration. Restarting MX Bikes alone does not require a program restart.

Installation help

A short video on how to set things up:

mxbmrp.mp4

Caveats

This project uses specific memory addresses for reading game data. Due to variations, memory reading may not always be 100% accurate. Some values might be incorrect or unavailable during gameplay.

The provided memory addresses are configured for MX Bikes beta19b. If the game updates or if you use a different version, these addresses may need adjustment, as the data locations could shift with game updates.

Running and building the project from source

Note that this is optional, and that it assumes that you have Git, Python and Pip installed.

Running

git clone https://github.com/thomas4f/mxbmrp
cd mxbmrp
pip install -r requirements.txt
python src\main.py

Building

pip install pyinstaller
pyinstaller --onefile src\main.py --name mxbmrp.exe --distpath=. --workpath=build --specpath=build

Final notes

I created this project primarily out of an interest in exploring memory reading and integrating game data into a visual format.

It’s worth noting that this is hacky and not very elegant. If MaxHUD or similar tools implement equivalent functionality, they may provide a more seamless, stable, and fully integrated solution.

Turns out 🥑🥕🥦🥬 are very useful for testing, thanks!