R.E.L.I.V.E.
An Open-Source Engine Replacement for Oddworld: Abe's Oddysee and Oddworld: Abe's Exoddus.
R.E.L.I.V.E. is a fan-made, open-source project that intends to become a fully compatible engine replacement for Oddworld Inhabitants' iconic first two games. The project's goals include fixing the original games' bugs and also eventually providing a modding / level creation interface, alongside of course making it possible to study or use the engine for new projects.
For more details, please check the project's website: https://aliveteam.github.io/
Function Keys
Key | Name |
---|---|
F5 | Quiksave (Exoddus only) |
F6 | Quikload (Exoddus only) |
F10 | Screen Filter |
F11 | Keep Aspect Ratio |
F12 | Fullscreen |
Contributing
Anyone who wishes to contribute is encouraged to join the project's Discord, where most of the communication happens.
By contributing to this project, the contributor agrees and accepts that their code will be licensed under a GPL-compatible license (most likely the MIT/Expat license) in the future.
Building R.E.L.I.V.E.
Cloning
Since the project uses third-party repositories for some of its functions, you need to clone the project using the --recursive
flag.
git clone --recursive https://github.com/AliveTeam/alive_reversing.git
build
in your repository root! .gitignore
is configured to ignore this folder. This helps to prevent polluting the commits with binaries.
Regardless of your platform, you need to create a folder called Build on Windows using MSYS2 + MinGW
- Obtain MSYS2 and follow the installation instructions on the main page
- Open a MSYS2 shell, and install SDL2 via
pacman -S mingw-w64-SDL2 mingw-w64-x86_64-SDL2
- Open a MinGW x64 shell and
cd build && cmake .. -G"MinGW Makefiles" && make -j$(nproc)
Build on Windows using `msbuild`
SDL and CMake is required to build the project.
cd build
cmake -S .. -B . -DSDL2_DIR=PATH_TO_YOUR_SDL2_DIRECTORY
msbuild /p:Configuration=Debug;Platform=Win32 relive.sln /m
Build on Windows using Visual Studio 2017
SDL is required to build the project.
- Launch VS2017.
- Goto
File
->Open
->CMake
. Then choose theCMakeLists.txt
from the root of this cloned git repository. - Select
CMake
->Change CMake settings
->CMakeLists.txt
. - Choose
x86-debug
and clickselect
. - This will open
CMakeSettings.json
, edit the linecmakeCommandArgs
to contain-DSDL2_DIR=PATH_TO_YOUR_SDL2_DIRECTORY
, set your build directory tobuild
and then clickgenerate
in the top yellow warning bar. - Invoke
CMake
->Build all
to build the project.
Build on Linux
- Install SDL2 using your package manager.
cd build
cmake -S .. -B .
make -j$(nproc)
- You'll find your executable in the
Source
folder underrelive
. - You can optionally install the package using
make install
or create a Debian-compatible package usingcpack -G DEB
.
Testing
Hook Manager
For testing we provide an application called Hook Manager, which lets you freely change whether specific functions use the original code or the rewritten one. This lets you figure out whether bugs are the result of errors in the rewrite or whether they are part of the original game.
The hook manager can be downloaded from this link. You also need a patched executable for the game of your choice, which you can download here.
To use the manager you need to do the following:
You need to obtain the .map and .dll files for whichever game you want to debug. You can do this in one of two ways:
- Set the
AO_ROOT
andAE_ROOT
environment variables to their respective game's install folders. - Compile R.E.L.I.V.E. using the
msbuild
method. - Your .map and .dll files will be placed in the install folders.
OR:
- Download the .map and DLL files from AppVeyor:
- Visit AppVeyor
- Click on whichever platform you need.
- Click on Artifacts on the top right corner of the page.
- Download
build\RELIVE_Binaries_Full_Debug_[ARCHITECTURE]_[BUILDNUMBER].zip
.
- Drop the .map and DLL files from the build folder into the respective game's installation folder.
Regardless of which way you chose, this is how you finalize the process:
- Drop the respective game's patched exe into their installation folder.
- Start the hook manager.
- Select the checkbox for the function(s) you want to check for bugs.
- To start the game with the changes you've made you need to click on the "Save and Launch" icon.