📈 GH Trending Explorer 🎲 Surprise me

← all repos

Mortify7612 / RallisportChallenge2-decomp

git clone https://github.com/Mortify7612/RallisportChallenge2-decomp.git v0.6.0-windows · 5d ago

Recompilation of DICE's 2004 Rallisport Challenge 2 for Linux and Windows.

+1
stars, 24h · #10,092
+51
stars, 7 days · #2,347
+51
stars, 30 days · #11,437
56
★ total · +51% this week
1
forks · 11 open issues

Star history (as recorded here)

2026-10-20 · 50 ★ 2026-10-22 · 56 ★
LanguageC
License—
Created2026-10-15 (7d ago)
Last push2d ago
Watchers1
OwnerUser

Links

README excerpt
# RalliSport Challenge 2 — static recompilation
A native PC build of *RalliSport Challenge 2* (Xbox, NTSC, title `0x4D530039`),
made by statically recompiling the original executable with the
xboxrecomp toolkit. Linux first;
the Windows build is cross-compiled and so far tested under Wine.
**No game data is included.** You need your own copy of the game. The lifted
C code is generated locally from your `default.xbe` and is not part of this
repository either.
## Demo
## Prebuilt binaries
Releases
have ready-built Linux (x86-64) and Windows (x64) packages. They contain the
compiled program only, with the code translated from the game's executable
built in, but no game data. Put your game files in a `game` folder next to
the program, then start `run.sh` (Linux) or `rsc2.exe` (Windows).
- The Linux binary is built on an up-to-date Arch-based system and needs
 glibc 2.43+, SDL2, the Vulkan loader, glslang 16, SPIRV-Tools, libepoxy and
 OpenSSL 3. On other distributions, build from source.
- The Windows binary only needs a GPU driver with Vulkan 1.3.
## What works
- Boot, intro movies, menus, profiles, career, stage loading and racing.
- Vulkan renderer at up to 6x internal resolution, with the game's own
 16:9 widescreen mode, and frame rates above 60 (the game keeps time by the
 clock).
- Optional extras the original never had: MSAA, anisotropic filtering and
 ambient occlusion.
- Sound through SDL2: per-voice resampling, speaker mixdown, and the game's
 per-environment I3DL2 reverb (tunnels, forest, valleys, in the car).
- Keyboard and SDL game controllers, with rumble.
- A pre-game launcher for resolution, aspect ratio, GPU, display mode, frame
 rate limit, audio and controls.
## Layout
| Path | What |
|---|---|
| `xboxrecomp/` | The recompilation toolkit (v0.13.1, MIT) with this project's runtime work: Linux platform layer, NV2A Vulkan renderer, audio, input, kernel fixes. |
| `rsc2/` | The game project: entry point, hand-written overrides, launcher, build files, tools. |
| `rsc2/config/` | Function seeds and trace lists for the recompiler. |
| `addr2func.py` | Maps guest addresses to recompiled functions (debugging). |
## Building (Linux)
Needs CMake 3.20+, Ninja, a C11 compiler (GCC or Clang), Python 3, SDL2
2.0.18+, OpenSSL, libepoxy, the Vulkan headers and loader, `glslc` and
glslang.
1. Put your game files in `RalliSport2/` and copy its `default.xbe` to
 `xboxrecomp/game_files/default.xbe`.
2. Make the Python environment the recompiler runs in:
 [code] 
3. Generate the lifted C from your XBE (writes `rsc2/src/recomp/`):
 [code] 
4. Configure and build:
 [code] 
5. Run:
 [code] 
The launcher opens first; its settings are saved to
`~/.config/rsc2/settings.ini`. `rsc2/run.sh --no-launcher` skips it,
`--launcher` brings it back when "Show at startup" is off. Any `RECOMP_*`
variable set by hand overrides the saved setting.
`rsc2/RUNNING.md` has the keyboard map, the Windows
cross-build and more of the runtime switches.
## Credits and licences
- xb