Resource icon

WRC Telemetry Patch 1.4

Login or Register an account to download this content
# WRC Telemetry

This is a patch for WRC 7/8/9/10/Generations and EA SPORTS WRC 23 that enables telemetry through shared memory.

Included you will find:
* `WrcInjectionPayload.dll` -- a replacement DLL for `PhysXCooking64_s.dll` or `APEX_Clothing_x64.dll`
* `DirtRally2.exe` -- pretends WRC is DiRT Rally 2.0 for use with dashboards and motion systems

## Installation for EA SPORTS WRC 23

1. Stop the game
2. Unzip `wrc-telemetry.zip` in `Steam\steamapps\common\EA SPORTS WRC`
3. Run `InstallWrc23.bat` (as regular user, NOT admin!)
4. Done

### Manual installation

1. Stop the game
2. Unzip `wrc-telemetry.zip` in `Steam\steamapps\common\EA SPORTS WRC\Engine\Binaries\ThirdParty\PhysX3\Win64\VS2015`
3. Rename `APEX_Clothing_x64.dll` to `APEX_Clothing_x64_org.dll`
4. Rename `WrcInjectionPayload.dll` to `APEX_Clothing_x64.dll`
5. Done

NOTE: The file `APEX_Clothing_x64_org.dll` must exist. It must be the original
`APEX_Clothing_x64.dll` from the latest version of the game.

## Installation for WRC 7/8/9/10/Generations

Unzip `wrc-telemetry.zip` in WRC's installation folder then run `InstallWrc10.bat`.

### Manual installation

1. Unzip `wrc-telemetry.zip` in WRC's installation folder
2. Rename `PhysXCooking64_s.dll` to `PhysXCooking64_s_org.dll`
3. Rename `WrcInjectionPayload.dll` to `PhysXCooking64_s.dll`

NOTE: The file `PhysXCooking64_s_org.dll` must exist. It must be the original
`PhysXCooking64_s.dll` from the latest version of the game.

## Usage

1. Install using the instructions above
2. (optional) Start `DirtRally2.exe` to pretend that WRC is DiRT Rally 2.0. This is necesarry unless
your dashboard/buttkicker/motion system includes support for this patch
3. Start your dashboard/buttkicker/motion system
4. Start WRC
5. Enjoy :)

### Usage with SimTools

SimTools does not include native support for this telemetry protocol (as of Jan 2021.) Instead use
the included DiRT Rally 2.0 emulator:

DirtRally2.exe /port 4123 /protocol simtools

SimTools doesn't start unless the game is "Patched". Follow the prompts issued by SimTools and select
the folder `Documents\My Games\DiRT Rally 2.0` when prompted (even if you don't have DiRT Rally 2.0
installed.)

### For use with SimHub

SimHub does not include native support for this telemetry protocol (as of Jan 2021.) Instead use
the included DiRT Rally 2.0 emulator:

DirtRally2.exe /protocol extradata3

SimHub will complain that "DiRT Rally 2.0 telemetry is not configured". Ignore these warnings.

## Will it break in the future?

Yes.

When Epic Games Launcher or Steam decides to update the game it will overwrite the patched DLL with an
unpatched copy. Run `InstallWrc10.bat` `InstallWrc23.bat` to fix the issue.

The patch is resilient to smaller changes in WRC. However, if major changes are made to WRC this
patch will stop working permanently.

## Is this legal?

Yes. This package includes no copyrighted code or other assets. IANAL.

## Telemetry protocol

```c++

#include <inttypes.h>

constexpr const wchar_t *SHARED_MEMORY_NAME =
L"Local\\WRC-8wSotWzFKAhBlbW10ZJBKaWMdWszbBXg";

#pragma pack(push, 1)

struct WheelIndex
{
static constexpr int FRONT_LEFT = 0;
static constexpr int REAR_LEFT = 1;
static constexpr int REAR_RIGHT = 2;
static constexpr int FRONT_RIGHT = 3;
};

struct WrcTelemetry
{
uint32_t sequence_number; // Odd while game is updating shared memory
uint32_t version; // Version of this struct

// Version 1:
int32_t gear; // Neutral = 1, First = 2, ...
float velocity[3]; // Left, up, forward [m/s]
float acceleration[3]; // Left, up, forward [m/s^2]
int32_t engine_idle_rpm; // [rpm]
int32_t engine_max_rpm; // [rpm]
int32_t engine_rpm; // [rpm]
float suspension_travel[4]; // It can move this much (FL, RL, RR, FR) [m]
float suspension_position[4]; // From zero to `suspension_travel` [m]
float unknown[4]; // (FL, RL, RR, FR) [?]
};

#pragma pack(pop)

```

## Known issues

* Lap time not available (compatibility value is guesstimated)
* Sector time/diff not available
* In game RPM meter does not match reported RPM value (game UI bug?)
* WRC 10: No telemetry during introduction session
* WRC 23: No effort was made to make the new EA SPORTS WRC 23 compatible with DiRT 2.0

## Changelog

Version 1.1:
* Semantic versioning
* Adds UDP packet rate limiting; use `/rate` flag to adjust
* Gear was off by one for DiRT Rally 2.0 compatibility
* RPM was off by factor 10 for DiRT Rally 2.0 compatibility

Version 1.2:
* Adds support for WRC 10

Version 1.3
* Adds support for WRC Generations

Version 1.4:
* Adds support for EA SPORTS WRC 23

Latest updates

  1. Version 1.4

    Version 1.4: * Adds support for EA SPORTS WRC 23 No effort was made to make the new EA SPORTS...
  2. Version 1.3

    Changes in v1.3 Add support for WRC Generations Known issues Lap time not available...
  3. Version 1.2

    Changes in v1.2 Add support for WRC 10 Known issues WRC 10: No telemetry during introduction...

Latest reviews

Sooo first off let me say appreciate you taking the time to make this!

I noticed a couple of things wrong with this when trying to install for the EA app on windows 10.

Program files requires permissions to copy / replace files which causes the batch script to exit since the PAYLOAD was never copied to the TARGET.
Using admin mode (I know you said not to in the docs) resets the current working directory to the system32 folder.

Even if you manually perform the steps in the batch file you get this error in the event viewer when trying to boot the game:

Faulting application name: WRC.exe, version: 4.27.2.0, time stamp: 0x654eaa97
Faulting module name: VCRUNTIME140.dll, version: 14.36.32532.0, time stamp: 0xc94bf788
Exception code: 0xc0000005
Fault offset: 0x000000000000148c
Faulting process ID: 0x6568
Faulting application start time: 0x01da25e9eb8fdc4b
Faulting application path: C:\Program Files\EA Games\EA SPORTS WRC\WRC\Binaries\Win64\WRC.exe
Faulting module path: C:\Windows\SYSTEM32\VCRUNTIME140.dll
Report ID: 3aa48696-4fae-46c9-939a-b1af7b7c60ff
Faulting package full name:
Faulting package-relative application ID:

Hope this helps and you can resolve this soon :)
K
Premium
Cant seem to figure out how to install patch. Anyone have a video or a really really dumbed down instruction with pictures.
I suck at computers. :(
ciao a tutti ho una vecchia postazione dinamica che funziona con x-sim, funziona con dirtrally2 tramite la porta 20777. qualcuno sa come poter intervenire per far leggere a x.sim i dati di wrc 23?, capisco che trattasi di una domanda complicata ma cercavo uno spunto. grazie a tutti
This is only for STEAM USERS nice , Game DONT start from EA APP ...
it was working great momently fix but after the patch is not longer working someone has a clue
Gran trabajo ... Ea Wrc desde al aplicación Steam funciona bien , pero desde la aplicación ea no inicia el juego .
@Toose1970 SimHub would just be used with DR2 since this "hack" simulates everything in a way as if you run Dirt Rally 2 instead of WRC. Made it basically working for a colleague of
mine, but he as quite rally experienced motion user told that those received telemetry (only surge and sway) do not feel as correct as it may be expected. Anyways as proof of concept it is nice and EA / CM should better finalize their telemetry data info and implement its output. So all other motion system (besides of Dbox) and other necessary software (like SimHub) will finally be able to run with WRC23 !
Sorry for the dumb question but ive installed the patch for WRC23 game boots up ok, how do i get Simhub to work for the game when it's not listed?
Do not work, my game won't launch with the EA App version, :(
My game won't launch :(
(On EA App)
Works like a charm in WRC 23. Thank you very much for making this possible!

Would it be possible to add Telemetry support to Rennsport by simply dropping the WrcInjectionPayload.dll into the correct folder?
As both WRC 23 and Rennsport use Unreal Engine ...
thx very much!! Great job! Works perfectly with simtools (tested it with wrc 9 an wrc 23)!! <3
after the last WRC update I get the wrong shift warning if I use Simdashboard. The limiter turns on at about 6000
I do not get it to work for wrc 10. I have tried several times and the only thing that has happened is that I had to reinstall the game. Hope this gets an update that makes it work to make it easier to download.
Awesome and much better than expected. For Sim Commander you need to use Space Monkey:
https://github.com/PHARTGAMES/SpaceMonkey
If 1.0.5 doesn't work (like here) use the 1.0.4 version
Crack!
Thank you!
It works with Fanaleds using this:
DirtRally2.exe /port 30500 /protocol extradata3
Giving this 2 stars because it seems to largely work with WRC7/8/9 from everything I've read so far, however this completely broke my WRC10 and I am now unable to connect to the global leaderboards. Attempted to remove the files from the zip and validate my files via steam but still was unable to connect to the leaderboards after validations completed. Currently completely reinstalling the game in hopes that it fixes this issue, may be updating in the future.
Thank you @sim4all. Hopefully I'll be reading good news from @Wotever soon.
I am using simdashboard on android. It works fine with WRC7, but not at all with 10. I am using the latest 1.2 version of this telemetry program.

I'm not sure if it's simdashboard that needs to be updated (it's fully updated as it is) or there is a bug on my end. I've tried it several times and it's a no-go.
Author
motion4all
Downloads
6,711
File size
36.1 KB
Views
80,659
First release
Last update
User rating
4.26 star(s) 35 ratings
Top