Sonic-Nexus-Decompilation
Sonic-Nexus-Decompilation copied to clipboard
a Decompilation of the 2008 Retro-Sonic Engine Demo of Sonic Nexus
RSDKv2 Decompilation
A complete decompilation of the Retro-Sonic Engine v2.
Without assets from the Sonic Nexus 2008 demo, this decompilation will not run. You can download the game here.
Additional Tweaks
- Added a built in mod loader, allowing to easily create and play mods.
- There is now a
settings.inifile that the game uses to load all settings, similar to Sonic Mania. - The dev menu can now be accessed from anywhere by pressing the
ESCkey if enabled in the config. - The
F12pause,F11step over & fast forward debug features from Sonic Mania have all been ported and are enabled ifdevMenuis enabled in the config.
How to Build
This project uses CMake, a versatile building system that supports many different compilers and platforms. You can download CMake here. (Make sure to enable the feature to add CMake to the system PATH during the installation!)
Get the source code
In order to clone the repository, you need to install Git, which you can get here.
Clone the repo, using:
git clone --recursive https://github.com/RSDKModding/RSDKv2-Decompilation
Getting dependencies
Windows
To handle dependencies, you'll need to install Visual Studio Community (make sure to install the Desktop development with C++ package during the installation) and vcpkg (You only need to follow 1 - Set up vcpkg).
After installing those, run the following in Command Prompt (make sure to replace [vcpkg root] with the path to the vcpkg installation!):
[vcpkg root]\vcpkg.exe install sdl2 libogg libvorbis --triplet=x64-windows-static(If you're compiling a 32-bit build, replacex64-windows-staticwithx86-windows-static.)
Finally, follow the compilation steps below using -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_PREFIX_PATH=[vcpkg root]/installed/x64-windows-static/ as arguments for cmake -B build.
- Make sure to replace each instance of
[vcpkg root]with the path to the vcpkg installation! - If you're compiling a 32-bit build, replace each instance of
x64-windows-staticwithx86-windows-static.
Mac
- Clone the repo, follow the instructions in the depencencies readme for Mac to setup dependencies, then build via the Xcode project.
Linux
Install the following dependencies: then follow the compilation steps below:
- pacman (Arch):
sudo pacman -S base-devel cmake sdl2 libogg libvorbis - apt (Debian/Ubuntu):
sudo apt install build-essential cmake libsdl2-dev libogg-dev libvorbis-dev - rpm (Fedora):
sudo dnf install make gcc cmake sdl2-devel libogg-devel libvorbis-devel zlib-devel - apk (Alpine/PostmarketOS)
sudo apk add build-base cmake sdl2-dev libogg-dev libvorbis-dev - Your favorite package manager here, make a pull request
Compiling
Compiling is as simple as typing the following in the root repository directory:
cmake -B build
cmake --build build --config release
The resulting build will be located somewhere in build/ depending on your system.
The following cmake arguments are available when compiling:
- Use these by adding
-D[flag-name]=[value]to the end of thecmake -B buildcommand.
RSDKv2 flags
FORCE_CASE_INSENSITIVE: Forces case insensivity when loading files. Takes a boolean, defaults tooff.RETRO_MOD_LOADER: Enables or disables the mod loader. Takes a boolean, defaults toon.RETRO_ORIGINAL_CODE: Removes any custom code. A playable game will not be built with this enabled. Takes a boolean, defaults tooff.RETRO_SDL_VERSION: Only change this if you know what you're doing. Switches between using SDL1 or SDL2. Takes an integer of either1or2, defaults to2.
Unofficial Branches
Follow the installation instructions in the readme of each branch.
- For the Nintendo Switch, go to LittlePlanetCD's fork.
- For WebAssembly, go to Jdsle's fork.
Because these branches are unofficial, we can't provide support for them and they may not be up-to-date.
Other Platforms
Currently the only supported platforms are the ones listed above, however the backend uses libogg, libvorbis, & SDL2 to power it, so the codebase is very multiplatform. If you're able to, you can clone this repo and port it to a platform not on the list.
Contact:
Join the Retro Engine Modding Discord Server for any extra questions you may need to know about the decompilation or modding it.