No description
Find a file
Eidolon c2c3ae63a7 Merge branch 'wallspike-crash-fix' into 'master'
Add player pointer check in wall spike bounce

Closes #397

See merge request kart-krew-dev/ring-racers!78
2025-10-26 20:59:39 -05:00
.circleci Let stop building a NONET build of Kart 2022-09-24 15:56:42 +00:00
.gitlab Edit Default.md 2025-10-17 10:05:32 +00:00
android SRB2 2.1 release 2014-03-15 13:11:35 -04:00
assets Remove shaders.pk3 from wad list 2025-03-16 15:39:32 -05:00
cmake Add netgame voice chat 2024-12-13 17:12:14 -06:00
custom-git-commands git-build: ring bell after build completes 2024-04-08 17:16:23 -07:00
debian-template Fix Debian (.deb) build from making (Project_root)/bin/Linux 2022-03-18 19:36:45 +00:00
deployer Fix deployer defaults 2020-08-15 11:29:53 -04:00
docs Update copyright years to 2025 2025-02-13 15:32:26 -06:00
scripts Use custom macOS 10.15 triplets for macOS uni build 2024-04-15 08:01:20 -05:00
src Add player pointer check in wall spike bounce 2025-10-26 20:37:51 -05:00
thirdparty Disable libfmt unicode support for annoying windows reasons 2025-09-17 16:57:54 -05:00
tools Update copyright years to 2025 2025-02-13 15:32:26 -06:00
.clang-format clang-format: really avoid return type alone on line 2023-02-10 07:17:38 -08:00
.editorconfig Add srb2::io streams abstraction 2022-12-30 21:15:44 -06:00
.gitattributes merge changes to make vcpkg caches smaller 2025-03-10 01:39:35 +00:00
.gitignore .gitignore: add CMakeUserPresets.json 2022-12-17 21:23:07 -08:00
.gitlab-ci.yml Merge public master 2025-02-12 19:59:38 -06:00
.travis.yml Merge branch 'master' into the-scary-22-merge 2020-08-12 20:59:09 -04:00
alias-bootstrap.sh alias-bootstrap.sh: rewrite git build alias for new build system 2024-04-05 22:09:33 -07:00
Android.mk SRB2 2.1 release 2014-03-15 13:11:35 -04:00
appveyor.yml Backport 2021 SRB2 makefile overhaul 2021-11-25 03:56:23 -08:00
CMakeLists.txt Add cpptrace in I_Error on windows, minidumps, stricter warnings, optimized drawers in debug 2025-09-25 16:08:09 -05:00
CMakePresets.json Add cpptrace in I_Error on windows, minidumps, stricter warnings, optimized drawers in debug 2025-09-25 16:08:09 -05:00
comptime.bat comptime.bat: Put @echo off back in 2016-03-14 20:36:37 -05:00
comptime.sh build: this script needs bash, not ash 2016-05-09 20:08:35 -04:00
debian_template.sh Implement deployer scripts for Travis -- OSX and Linux package building [Kart merge] 2018-12-30 15:41:58 -05:00
LICENSE SRB2 2.1 release 2014-03-15 13:11:35 -04:00
LICENSE-3RD-PARTY.txt Add rnnoise denoiser 2025-09-16 16:57:21 -05:00
README.md List opus build dependency in README 2025-09-13 15:51:53 -04:00
srb2.png Icons + other tweaks to rebranding 2022-05-20 19:42:34 -04:00
srb2banner.png Icons + other tweaks to rebranding 2022-05-20 19:42:34 -04:00
vcpkg-configuration.json merge changes to make vcpkg caches smaller 2025-03-10 01:39:35 +00:00
vcpkg.json Add cpptrace in I_Error on windows, minidumps, stricter warnings, optimized drawers in debug 2025-09-25 16:08:09 -05:00

Dr. Robotnik's Ring Racers

Dr. Robotnik's Ring Racers logo

Dr. Robotnik's Ring Racers is a kart racing video game originally based on the 3D Sonic the Hedgehog fangame Sonic Robo Blast 2, itself based on a modified version of Doom Legacy.

Ring Racers' source code is available to users under the GNU General Public License version 2.0 or higher.

Disclaimer

Dr. Robotnik's Ring Racers is a work of fan art made available for free without intent to profit or harm the intellectual property rights of the original works it is based on. Kart Krew Dev is in no way affiliated with SEGA Corporation. We do not claim ownership of any of SEGA's intellectual property used in Dr. Robotnik's Ring Racers.

Development

Building from Source

Ring Racers is built using a compatible C++ toolchain (GCC, MinGW, Clang and Apple Clang as of this writing), CMake, and Microsoft vcpkg. The compiler and runtime libraries must support the ISO C++17 standard and ISO C11 standard.

On Linux platforms, you will need the following libraries available on the system.

  • libcurl
  • zlib
  • libpng
  • libogg
  • libvorbis
  • libvpx
  • libyuv
  • SDL2
  • libopus

On Windows and macOS, you will need to install vcpkg instead to build these dependencies alongside the game.

To configure and build the game, there are CMake presets (declared in CMakePresets.json). These presets require the ninja build script tool in addition to cmake and your C++ toolchain. Here is a non-exhaustive list of them:

  • ninja-debug: non-optimized, assertions enabled
  • ninja-develop: optimized, assertions enabled
  • ninja-release: optimized
  • ninja-x86_mingw_static_vcpkg-debug
  • ninja-x86_mingw_static_vcpkg-develop
  • ninja-x86_mingw_static_vcpkg-release
  • ninja-x64_osx_vcpkg-debug
  • ninja-x64_osx_vcpkg-develop
  • ninja-x64_osx_vcpkg-release
  • ninja-arm64_osx_vcpkg-debug
  • ninja-arm64_osx_vcpkg-develop
  • ninja-arm64_osx_vcpkg-release

These presets depend on the VCPKG_ROOT environment variable being specified before the first run of the cmake command. Their build directories are pre-configured as subdirectories of build/.

After all prerequisites are set-up, configure and build using the following commands, adjusting according to your target system:

cmake --preset ninja-x86_mingw_static_vcpkg-develop
cmake --build --preset ninja-x86_mingw_static_vcpkg-develop

Contributing

We welcome external contributions from the community. If you are planning on making a large feature you intend to contribute to the project, please consider reaching out to us in the Kart Krew Dev public Discord server so we can coordinate with you.

Our primary source repository is hosted on gitlab.com. The Github repository is a mirror of this. If you submit a Pull Request to the Github repository, please keep in mind that we do not consistently monitor that mirror and may not see your request.

All contributions must be made available under the GPL General Public License version 2.0, or public domain. Integrations for third party code must be made to code which is compatibly licensed.