No description
Find a file
Eidolon 6648e55972 Prevent overflow when scaling textures
Fixes KartKrew/Kart#844 which is caused by scaling the texheight by a
spryscale that is too large, triggering arithmetic overflow before the
overflow check even occurs. This is a performance hit, but should not be
very intense with release optimizations.

Instead, we use saturating arithmetic using the same integer promotion
technique as before, but checking in both directions, and also checking
for the multiplication before the addition.

There is an optimization opportunity here and anywhere that overflow
checks are used, by using compiler intrinsics which check the overflow
flag bit on the CPU instead of using integer promotion.
2024-01-28 12:57:00 -06:00
.circleci Let stop building a NONET build of Kart 2022-09-24 15:56:42 +00:00
android
assets Read staff ghosts from pk3 directory 2024-01-02 21:05:43 -06:00
cmake Switch from CPM to vcpkg 2023-12-15 02:49:15 +00:00
debian-template
deployer
doc
extras Delete map configs 2023-01-01 18:11:22 -05:00
libs Remove unnecessary ACSVM files from libs 2022-12-27 08:32:13 -05:00
src Prevent overflow when scaling textures 2024-01-28 12:57:00 -06:00
thirdparty Switch from CPM to vcpkg 2023-12-15 02:49:15 +00:00
tools Remove FMOD files 2022-07-23 12:57:46 -05: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
.gitignore .gitignore: add CMakeUserPresets.json 2022-12-17 21:23:07 -08:00
.travis.yml
alias-bootstrap.sh alias-bootstrap.sh: use i686-w64-mingw32-cmake-static 2023-02-21 21:56:55 -08:00
Android.mk
appveyor.yml
CMakeLists.txt cmake: Set GIT_EXECUTABLE before add_subdirectory(src) 2023-12-23 00:26:42 -05:00
CMakePresets.json CMakePresets.json: define CMAKE_COLOR_DIAGNOSTICS for Ninja presets 2023-12-21 21:53:00 -08:00
comptime.bat
comptime.mk
comptime.props
comptime.sh
cpdebug.mk
debian_template.sh
Doxyfile
LICENSE
LICENSE-3RD-PARTY.txt Update more third-party licenses 2023-03-29 23:59:31 -07:00
README.md
srb2-vc9.sln
srb2-vc10.sln
SRB2.cbp
Srb2.dev
srb2.png Icons + other tweaks to rebranding 2022-05-20 19:42:34 -04:00
SRB2_common.props More work to cleanup the ARM builds 2018-12-22 19:50:32 -05:00
SRB2_Debug.props
SRB2_Release.props
srb2banner.png Icons + other tweaks to rebranding 2022-05-20 19:42:34 -04:00
vcpkg-configuration.json Switch from CPM to vcpkg 2023-12-15 02:49:15 +00:00
vcpkg.json Switch from CPM to vcpkg 2023-12-15 02:49:15 +00:00

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.