Skip to content

Conversation

@M4X1K02
Copy link
Contributor

@M4X1K02 M4X1K02 commented Dec 30, 2025

This PR implements support for DiRT Rally 2.0 via its UDP telemetry interface.

Key Changes:

  • DiRT Rally 2.0 Integration: Added full mapping for DR2.0 using the 'extradata=3' UDP specification.
  • Telemetry Mapping: Implemented conversion from DR2.0's raw floating-point data to SimAPI's universal SimData structure, including:
    • RPM scaling and gear mapping.
    • World velocity and position extraction.
    • Euler angle derivation (Yaw/Pitch/Roll) from forward and right vectors.
    • Suspension, wheel speed, and brake temperature mapping.
  • Improved UDP Robustness: Refined the simd daemon's UDP handling and logging for better stability with high-frequency telemetry sources.
  • Tooling: Added a view_telemetry utility in tests/ to facilitate live debugging of telemetry data.
  • Build System: Modernized CMake build instructions for better generator-agnostic usage.

Implementation Details:

  • include/dirt2data.h: Defines the 66-float UDP packet structure.
  • simapi/mapping/dirt2mapper.c: Core mapping logic.
  • simapi/simmapper.c: Integrated process detection and initialization for DR2.0.
  • simd/: Enhanced logging and UDP listener stability.

@Spacefreak18 Spacefreak18 merged commit 3410864 into Spacefreak18:master Dec 30, 2025
2 checks passed
@Spacefreak18
Copy link
Owner

This was amazing! Dirt Rally was probably the most requested sim that I didn't have implemented!

@M4X1K02
Copy link
Contributor Author

M4X1K02 commented Dec 30, 2025

nice! 😊
I could also include the code for dirt rally 1 and just reuse the mappings from dr2.
though as i don't have the game i can't test...

@Spacefreak18
Copy link
Owner

there's up to dirt rally 4 too isn't there. the same code can be used, we just need to add code to pick up the exe for all of them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants