No description
Find a file
Eidolon 6af003771d Add SRB2_ASSERT, srb2::NotNull<T>
Add SRB2_ASSERT, superceding I_Assert

This assertion macro always expands to a call of srb2::do_assert, which
is overloaded with two templates: one which applies if the provided
Level is less than or equal to the SRB2_ASSERTION_LEVEL, and one which
is a no-op. When optimizations are enabled, this will verifiably remove
the evaluation of the expression in all cases, instead of evaluating the
expression and doing nothing with it.

Add srb2::NotNull wrapper utility

This is meant to be used in places where pointers are used as
parameters. It can be used with any pointer-like type, not just raw
pointers. During construction of NotNull, the pointer will be asserted
not-null in debug and paranoia builds, and in release optimizations with
no assertions, the code decays gracefully to standard pointer-passing.
2022-12-30 23:49:29 -06:00
.circleci Let stop building a NONET build of Kart 2022-09-24 15:56:42 +00:00
android
assets cmake: Remove asset hashing, CMAKE_ASSETS_DIR 2022-11-27 02:44:10 -08:00
cmake cmake: configure config.h to build directory 2022-12-28 16:04:50 -06:00
debian-template
deployer
doc
extras Speed Pads are now a TERRAIN effect 2022-10-11 02:26:54 -04:00
libs
src Add SRB2_ASSERT, srb2::NotNull<T> 2022-12-30 23:49:29 -06:00
thirdparty Add tcbrindle's C++20 std::span impl (tcb::span) 2022-12-28 16:28:04 -06:00
tools
.clang-format Add srb2::io streams abstraction 2022-12-30 21:15:44 -06:00
.editorconfig Add srb2::io streams abstraction 2022-12-30 21:15:44 -06:00
.gitattributes
.gitignore .gitignore: add CMakeUserPresets.json 2022-12-17 21:23:07 -08:00
.travis.yml
Android.mk
appveyor.yml
CMakeLists.txt cmake: reconfigure if git HEAD changes 2022-12-27 00:59:29 -08:00
comptime.bat
comptime.mk
comptime.props
comptime.sh
cpdebug.mk
debian_template.sh
Doxyfile
LICENSE
README.md
srb2-vc9.sln
srb2-vc10.sln
SRB2.cbp
Srb2.dev
srb2.png
SRB2_common.props
SRB2_Debug.props
SRB2_Release.props
srb2banner.png

SRB2Kart

SRB2Kart is a kart racing mod based on the 3D Sonic the Hedgehog fangame Sonic Robo Blast 2, based on a modified version of Doom Legacy.

Dependencies

  • NASM (x86 builds only)
  • SDL2 (Linux/OS X only)
  • SDL2-Mixer (Linux/OS X only)
  • libupnp (Linux/OS X only)
  • libgme (Linux/OS X only)
  • libopenmpt (Linux/OS X only)

Compiling

See SRB2 Wiki/Source code compiling. The compiling process for SRB2Kart is largely identical to SRB2.

Disclaimer

Kart Krew is in no way affiliated with SEGA or Sonic Team. We do not claim ownership of any of SEGA's intellectual property used in SRB2.