Sonic CD Decompilation Guide


Requirements

  1. Git for Windows
  2. CMake - In the installer, select "Add CMake to the system PATH for all users".
  3. Visual Studio 2022 - In the installer, select the "Desktop development with C++" workload.
  4. Create a folder on C:\ for easy access. The folder name must not contain spaces.
    ❌ C:\Sonic CD   ✅ C:\SonicCD
  5. Open that folder (referred to as vcpkg from here on), click the address bar, type cmd, and press Enter. In the terminal, run:

    git clone https://github.com/microsoft/vcpkg

    Then create a second folder on C:\ (e.g. C:\SonicCD, no spaces) and run:

    git clone --recursive https://github.com/RSDKModding/RSDKv3-Decompilation

    Close the terminal when done.
  6. Inside the vcpkg folder, find and run bootstrap-vcpkg.bat. This will install vcpkg.

vcpkg & CMake Setup

Open a terminal from the vcpkg folder address bar (same as step 5) and run:

vcpkg.exe install glew sdl2 libogg libtheora libvorbis --triplet=x64-windows-static

Once finished, navigate to vcpkg\installed\x64-windows-static\include and copy those files into your SonicCD folder.

Open a terminal from the SonicCD folder and run:

cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=[YOUR VCPKG PATH]/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_PREFIX_PATH=[YOUR VCPKG PATH]/installed/x64-windows-static/

Replace [YOUR VCPKG PATH] with the full path to your vcpkg folder (e.g. C:/vcpkg). Then run:

cmake --build build --config release

If you get an error, make sure Visual Studio 2022 is installed with the Desktop development with C++ component (see step 3).

When complete, navigate to build\release - your .exe is there.


Getting the RSDK File

The decompilation still needs the original .rsdk data file. You can obtain it from:

Once you have the .rsdk file, copy it into build\release, run RSDKv3.exe, and enjoy!

For easy mod management, it's highly recommended to install the Sonic CD Mod Manager.

Recommended Mods

If you're looking for a Sonic CD experience similar to Sonic Forever/Absolute, try: