📈 GH Trending Explorer 🎲 Surprise me

← all repos

pablocpas / OpenCMR2

git clone https://github.com/pablocpas/OpenCMR2.git v1.5.2 · 2d ago

Native SDL3 port of Colin McRae Rally 2.0 built from the CMR2Decomp decompilation. No game data included.

+2
stars, 24h · #11,061
+~7
stars, 7 days · #15,109
+79
stars, 30 days · #8,912
79
★ total · +7% this week
3
forks · 8 open issues

Star history (as recorded here)

2026-10-20 · 76 ★ 2026-10-23 · 79 ★
LanguageC++
LicenseGPL-3.0
Created2026-10-10 (12d ago)
Last pushtoday
Watchers1
OwnerUser

GitHub topics

Links

README excerpt
# OpenCMR2
OpenCMR2 is a work-in-progress native port of **Colin McRae Rally 2.0** (PC, 2000)
to modern platforms, built on the CMR2Decomp
decompilation. It runs the original game code natively on Linux, Windows,
macOS and Android. There is no emulation and no Wine or DirectX wrapper: DirectDraw,
Direct3D 7, DirectSound, DirectInput, DirectPlay and Bink are replaced with
SDL3, the SDL GPU API (Vulkan, Direct3D 12, Metal) or OpenGL 3.3 and the
port's own code.
https://github.com/user-attachments/assets/3c7322dc-576b-4fb0-8d6a-4d17de6fe17d
*Colin McRae Rally 2.0 running on Linux with OpenCMR2.*
> [!WARNING]
> This repository contains no game assets. You need your own copy of the
> original PC version of Colin McRae Rally 2.0 to play.
## Status
Everything tested so far works: the intro videos, the menus, the stages and
network races over LAN. The project is still in development, so you may find
bugs. If you do, please report them.
The game code follows CMR2Decomp, and its progress is brought into the port
as it is made.
| Platform | Architecture | Status |
| --- | --- | --- |
| Linux | x86-64 | Plays stages and matches the original physics |
| Linux | i686 | Plays stages, reference build with the original memory layout |
| Linux | ARM64 | Builds and passes the tests, gameplay not yet tested |
| Windows | x86-64 | Plays stages and matches the original physics (tested under Wine) |
| macOS | ARM64 | Builds and passes the tests, gameplay not yet tested |
| Android | ARM64, x86-64 | Plays stages with on-screen controls (Android 10 or later, Vulkan) |
### Features
* Native SDL3 platform layer for windowing, input, audio and files, with saves
 and settings in the user directory
* SDL GPU renderer (Vulkan, Direct3D 12, Metal) reproducing the Direct3D 7
 fixed-function pipeline in shaders, and an OpenGL 3.3 renderer with the same
 shaders for GPUs without Vulkan or Direct3D 12 (Linux and Windows)
* Fullscreen on the desktop resolution or a resizable window, switched with
 Alt+Enter
* Keyboard, mouse and gamepads through SDL3, and on-screen controls on Android
* Bink intro and country videos with a built-in decoder
* Multiplayer over LAN and the internet using UDP instead of DirectPlay
* Folder dialog on first launch to locate the game installation
* In-race HUD scaled with the screen and kept at its edges on wide screens,
 with a configurable size
* Fixes for some original bugs, such as German in the language menu loading
 Spanish
The improvements of SilentPatch
are built in as well:
* Widescreen resolutions up to the desktop resolution, with the correct
 perspective instead of a stretched picture
* Configurable field of view
* High and variable frame rates without changing the game speed or the
 physics, verified against the original game
## Approach
The game code in `game/` comes from CMR2Decomp and is kept as close to the
original as possible. Every change the port needs is marked with a `PORT:`
comment. The rest of the port (`src/`) implements the platf