Hello everyone,
I have started a rather ambitious project: a decompilation of TDU1!
My current progress can be found on Github: https://github.com/opentestdriveunlimited/opentdu
What does it mean?
A decompilation project goal is to convert the assembly (machine code) of the shipped game into "readable" high level code (C++).
Why?
My main motivation is to provide a modern, cross-platform game client with quality of life improvement (e.g. remove framecapping for AI, remove WinAPI/D3D9 dependencies, fix existing security issues, etc.) as well as restoring cut content left in the game (e.g. pedestrians, boat tour, dirt system).
Roadmap
The goal is to get basic systems running first; then basic game modes (e.g. Sandbox or CarShowcase) and finally start working on FreeRide/implement the world streaming system/online/etc.
Stretch goals would be to have native mod support (directly integrated in the game), TDU2 asset support, state of the art rendering pipeline (move from the D3D9-era pipeline and use a fancy BRDF; photorealistic atmosphere rendering; etc.). But this is far far away, as decompiling a game is already a long term project (and a hobby project; I am not working full time on this!)
I will try to keep this thread alive with update/progress (so far I only have a blank window with a Vulkan context running; and I am actively moving and cleaning all my decompilation progress from Ghidra to my C++ project).