Skip to content

Latest commit

 

History

History
92 lines (61 loc) · 4.3 KB

File metadata and controls

92 lines (61 loc) · 4.3 KB

recvx-decomp

Build Status Code Progress Data Progress

About

Important

Issues and pull-requests that are clearly AI-generated will be automatically turned down. Click here to read up on our stance in regards to the use of LLMs for contributions.

recvx-decomp is a reverse-engineering project for Resident Evil: Code Veronica X which has the goal of reconstructing the source code of the game by decompiling the MIPS in the PS2 ELF back to C. The project currently only works with the US release (SLUS-20184), with plans to add support for more regions in the future.

Currently, the engine and gameplay systems are decompiled, as well as the CRI ADXT (Jan 26th, 2001) lib employed by the game. Enemy AI and GFX code is still incomplete. Testing is done by repackaging the retail disc with our own compiled ELF using a script, and trying out the results on PCSX2.

Groundwork has been made for decompiling the Dreamcast and GameCube releases of Code Veronica; see the Resources section on this page for some links. Once the project is completed, there will be many potential uses of the code, including and beyond porting.

Building

First clone the repository:

git clone --recursive https://github.com/AshfordFamily/recvx-decomp.git

Next, place your copy of the SLUS_201.84 file from inside the game disc into the config folder.

For this part of the setup, you can use a dev container (or not):

Dev Container route

If you're using an IDE that supports dev containers such as Visual Studio Code, you can simply open up the repo as a container (you'll need to have Docker or Podman installed on your machine to use this feature).

Manual route

Install splat with the following command:

pip install -r config/requirements.txt

Follow these instructions after performing the step of one of the two routes above:

Use this command to setup objdiff:

python compile.py --setup

Once done, you should see a newly-generated objdiff.json project file and a config/asm folder.

From now on, to build this project you just need to run the compile script each time:

python compile.py

Note: if you're using Linux, wibo is needed in order to run mwccps2.exe. A small prompt with install steps for it will appear if the script can't find wibo in your path.

You can repackage CVX's disc image with the compiled ELF to see the decompiled code in action. You need to put your ISO dump of the game's DVD on the iso folder, and extract its contents there:

python mkiso.py -m extract --iso iso/RE_CVX.iso

Then repackage the ISO:

python mkiso.py -m insert

If the process is successful, there should be a new file called RECVX_NEW.iso that you'll be able to use to test the project with a PS2 emulator or a modded console.

Resources

Related decomp projects:

AshfordFamily's org avatar fan art was designed by fishiiarts_.

Disclaimer

recvx-decomp is licensed under CC0 1.0 Universal, which allows for commercial use of the project's code. However, for commercializing ports of the game to modern platforms we still very much recommend contacting Capcom first for a proper publishing deal.