You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
shfil 69cb133c57
Add direct links
2 years ago
.github/workflows add Vanilla config to premake and premake CI 2 years ago
.vscode .vscode/settings: fix include path 2 years ago
cmake cmake: install files ready for copying in game folder 2 years ago
codewarrior cw: remove extras folder 2 years ago
gamefiles Change joystick DB with latest offical one 2 years ago
src fix 2 years ago
utils/gxt Merge pull request #923 from IlDucci/master 2 years ago
vendor Update OpenAL 2 years ago
.clang-format Add basic clang format file 2 years ago
.gitattributes Add .gitattributes for better language stats 2 years ago
.gitignore make building with Codewarrior 7 possible 2 years ago
.gitmodules Move stuff to vendor 2 years ago
CMakeLists.txt Make cmake files more generic 2 years ago Separate Coding Style out into its own Document, and mention it from the Readme. 2 years ago Add direct links 2 years ago Fix 2 years ago
logo.png Changed outline to black 2 years ago
logo.svg Changed outline to black 2 years ago
premake-vs2015.cmd improvements (?) to premakefile 3 years ago
premake-vs2017.cmd improvements (?) to premakefile 3 years ago
premake-vs2019.cmd improvements (?) to premakefile 3 years ago
premake5.exe premake: add startrpoject; add lto option; fix copying of binary to gamedir; update premake5.exe 2 years ago
premake5.lua add Vanilla config to premake and premake CI 2 years ago
premake5Linux premake: add startrpoject; add lto option; fix copying of binary to gamedir; update premake5.exe 2 years ago

re3 logo

Build Status


The aim of this project is to reverse GTA III for PC by replacing parts of the game one by one such that we have a working game at all times.

How can I try it?

  • re3 requires game assets to work, so you must own a copy of GTA III.
  • Build re3 or download the latest nightly build (You must be logged in.)
  • (Optional) If you want to use optional features like Russian language or menu map, copy the files in /gamefiles folder to your game root folder.
  • Move re3.exe to GTA 3 directory and run it.

Latest standalone executables to download (Put content of selected archive into gamedir)

Building from Source

If you gonna use premake, then before starting you may want to point GTA_III_RE_DIR environment variable to GTA3 root folder, if you want executable to be moved there via post-build script.

Linux Premake

For Linux using premake, proceed: Building on Linux

Linux Conan

Obtain source code.

git clone
cd re3
git submodule init
git submodule update --recursive

Install python and conan, and then run build.

conan export vendor/librw librw/master@
mkdir build
cd build
conan install .. re3/master@ -if build -o re3:audio=openal -o librw:platform=gl3 -o librw:gl3_gfxlib=glfw --build missing -s re3:build_type=RelWithDebInfo -s librw:build_type=RelWithDebInfo
conan build .. -if build -bf build -pf package

For FreeBSD using premake, proceed: Building on FreeBSD


Assuming you have Visual Studio:

  • Clone the repo using the argument --recursive.
  • Run one of the premake-vsXXXX.cmd variants on root folder.
  • Open the project via Visual Studio

If you use 64-bit D3D9: We don't ship 64-bit Dx9 SDK. You need to download it from Microsoft if you don't have it(although it should come pre-installed after some Windows version)

If you choose OpenAL on Windows You must read Running OpenAL build on Windows.

There are various settings at the very bottom of config.h, you may want to take a look there. i.e. FIX_BUGS define fixes the bugs we've come across.

Did you notice librw? re3 uses completely homebrew RenderWare-replacement rendering engine; librw. librw comes as submodule of re3, but you also can use LIBRW enviorenment variable to specify path to your own librw.


Please read the Coding Style Document

Unreversed / incomplete classes (at least the ones we know)

The following classes have only unused or practically unused code left:

NameGrid.cpp - only on mobile (a player name grid, either a very early player name code ala GTA1 or a multiplayer leftover)
PedDebug.cpp - only on mobile (debug code)
HandlingMgr.cpp - debug functions from mobile
CFormationInfo - unused PedAI class that could be found on mobile
CVehicle::ProcessBikeWheel - early bike code (only on mobile)
CAutomobile::DebugCode - debug function from mobile
CBoat::DebugCode - debug function from mobile
CBoat::ModifyHandlingValue - debug function from mobile
CBoat::DisplayHandlingData - debug function from mobile
CStreaming::PrintRequestList - debug function from mobile
d3d8raster.c - only on PC (slight RW modification that we don't actually need)