Skip to content

AltronMaxX/reVC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

124 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reVC logo

Build Status

English | Русский

Intro

In this repository you'll find the fully reversed source code for GTA VC.

It has been tested and works on Windows and Linux (amd64).
Rendering is handled either by original RenderWare (D3D8) or the reimplementation librw (D3D9, OpenGL 2.1 or above, OpenGL ES 2.0 or above).
Audio is done with MSS (using dlls from original GTA) or OpenAL.

We cannot build for PS2 or Xbox yet. If you're interested in doing so, get in touch with us.

How can I try it?

  • reVC requires game assets to work, so you must own a copy of GTA Vice City.
  • Build reVC or download the latest build from repository actions.
  • Extract the downloaded zip over your GTA VC directory and run reVC. Download reVC gamefiles from this repository.

Screenshots

screen_ 1613087332 screen_ 1613086852 screen_ 1613086989 screen_ 1613087193

Improvements

We have implemented a number of changes and improvements to the original game. They can be configured in core/config.h. Some of them can be toggled at runtime, some cannot.

  • Skip phone calls by using Enter/Exit car button
  • Autosaves after mission
  • Fixed the game running on Linux with Wayland
  • Fixed vigilante mission text for VCPD Cheetah
  • Added shortcut from airport to Sunshine Autos
  • Increased draw distance and ped/vehicle spawn limit (WIP)
  • Discord Rich Presence
  • Fixed a lot of smaller and bigger bugs
  • User files (saves and settings) stored in GTA root directory
  • Settings stored in reVC.ini file instead of gta_vc.set
  • Debug menu to do and change various things (Ctrl-M to open)
  • Debug camera (Ctrl-B to toggle)
  • Rotatable camera
  • XInput controller support (Windows)
  • No loading screens between islands ("map memory usage" in menu)
  • Rendering
    • Widescreen support (properly scaled HUD, Menu and FOV)
    • PS2 MatFX (vehicle reflections)
    • PS2 alpha test (better rendering of transparency)
    • Xbox vehicle rendering
    • Xbox world lightmap rendering (needs Xbox map)
    • Xbox ped rim light
    • Xbox screen rain droplets
    • More customizable colourfilter
  • Menu
    • More options
    • Controller configuration menu
    • ...
  • Can load DFFs and TXDs from other platforms, possibly with a performance penalty
  • ...

To-Do

The following things would be nice to have/do:

  • Backport swimming and wall climbing from San Andreas (Maybe)
  • Some additions to freeroam_main.scm
  • Fix flying objects on game map
  • Port modloader (Maybe)
  • Improve Russian text + add ability to switch audio from English to Russian

Modding

Asset modifications (models, texture, handling, script, ...) should work the same way as with the original game for the most part.

Mods that make changes to the code (dll/asi, CLEO, limit adjusters) will not work. Some things these mods do are already implemented in reVC (much of SkyGFX, GInput, SilentPatch, Widescreen fix), others can easily be achieved (increasing limits, see config.h), others will simply have to be rewritten and integrated into the code directly. Sorry for the inconvenience.

Building from Source

When using premake, you may want to point GTA_VC_RE_DIR environment variable to GTA Vice City root folder if you want the executable to be moved there via post-build script.

Clone the repository with git clone --recursive -b miami https://github.com/AltronMaxX/reVC.git. Then cd reVC into the cloned repository.

Linux Premake

For Linux using premake, proceed: Building on Linux

Windows

Assuming you have Visual Studio 2026:

  • Run one of the premake-vs2026.cmd variants on root folder.
  • Open build/reVC.sln with Visual Studio and compile the solution.

Microsoft recently discontinued its downloads of the DX9 SDK. You can download an archived version here: https://archive.org/details/dxsdk_jun10

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

ℹ️ premake has an --lto option if you want the project to be compiled with Link Time Optimization.

ℹ️ There are various settings in config.h, you may want to take a look there.

ℹ️ reVC uses completely homebrew RenderWare-replacement rendering engine; librw. librw is included as a submodule, but you also can use LIBRW environment variable to specify path to your own librw.

If you feel the need, you can also use CodeWarrior 7 to compile reVC using the supplied codewarrior/reVC.mcp project - this requires the original RW34 libraries, and the DX8 SDK. The build is unstable compared to the MSVC builds though, and is mostly meant to serve as a reference.

Contributing

As long as it's not linux/cross-platform skeleton/compatibility layer, all of the code on the repo that's not behind a preprocessor condition(like FIX_BUGS) are completely reversed code from original binaries.

We don't accept custom codes, as long as it's not wrapped via preprocessor conditions, or it's linux/cross-platform skeleton/compatibility layer.

We accept only these kinds of PRs;

  • A new feature that exists in at least one Vice City release or supported platform variant
  • Game, UI or UX bug fixes (if it's a fix to original code, it should be behind FIX_BUGS)
  • Platform-specific and/or unused code that's not been reversed yet
  • Makes reversed code more understandable/accurate, as in "which code would produce this assembly".
  • A new cross-platform skeleton/compatibility layer, or improvements to them
  • Translation fixes, for languages original game supported
  • Code that increase maintainability

We have a Coding Style document that isn't followed or enforced very well.

License

We don't feel like we're in a position to give this code a license.
The code should only be used for educational, documentation and modding purposes.
We do not encourage piracy or commercial use.
Please keep derivative work open source and give proper credit.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors