Sonic the Hedgehog (1991, Sega Genesis / MegaDrive) C Port
- SDL2 (if
COMPILE_SDL2
is set to ON) - pkg-config (for builds that require static-linkage)
This project uses CMake, allowing it to be built with a range of compilers.
Switch to the terminal and cd
into this folder.
After that, generate the files for your build system with:
cmake -B build -DCMAKE_BUILD_TYPE=Release
MSYS2 users should append -G"MSYS Makefiles" -DPKG_CONFIG_STATIC_LIBS=ON
to this command, also.
You can also add the following flags:
Name | Function |
---|---|
-DBACKEND=SDL2 |
Use the SDL2 backend (default) |
-DREV01=ON |
Compile a REV01 ROM |
-DJAPANESE=ON |
Compile a Japanese ROM |
-DFIX_BUGS=ON |
Fix bugs that are blatant screw-ups that may harm performance (not gameplay bugs) |
-DLTO=ON |
Enable link-time optimisation |
-DPKG_CONFIG_STATIC_LIBS=ON |
On platforms with pkg-config, static-link the dependencies (good for Windows builds, so you don't need to bundle DLL files) |
-DMSVC_LINK_STATIC_RUNTIME=ON |
Link the static MSVC runtime library, to reduce the number of required DLL files (Visual Studio only) |
You can pass your own compiler flags with -DCMAKE_C_FLAGS
and -DCMAKE_CXX_FLAGS
.
You can then compile the executable with this command:
cmake --build build --config Release
This project is not endorsed by SEGA or Sonic Team.
Sonic Team - Original game
Sonic Retro - Sonic 1 Github Disassembly
Clownacy - Additional porting (compression algorithms)