No description
Find a file
James R 39f46a0f20 Replace music handling
(This commit does not compile. Sound test and tunes
command code needs to be ported after this.)

This is a big one. Here's the rundown:

The old music system was very direct, much of the time
just a proxy to the real sound API in i_sound.h.

You could change the music on command, but there wasn't
a consistent way to prevent some music from playing over
others. P_RestoreMusic is one example of needing to
address this problem. The jingles system was intended as
another solution. Furthermore, sound test (Stereo) has its
own needs.

I am removing all of that. Music handling in general is
now a very deliberate system, kind of similar to jingles.

In the new system, "tunes" are registered. The tune stores
info such as whether it should loop or fade out. Most of
the configuration is intended to be initialized only ONCE.
Tunes can be mapped to an actual music lump. They can be
remapped at any time too.

Tunes are also configured with a priority number. This
determines which tune is heard, if multiple are supposed
to be playing at a time. You can even tell a tune how long
it should play, so it's unnecessary to track this with
bespoke timers.
2023-08-06 17:31:45 -07: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 Comptime.cmake: get rid of CMake < 3.5 compatibility warning 2023-07-27 18:19:14 -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
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 Replace music handling 2023-08-06 17:31:45 -07:00
thirdparty thirdparty: add nlohmann/json 2023-04-28 12:50:43 -07: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 Merge branch 'master' into the-scary-22-merge 2020-08-12 20:59:09 -04:00
alias-bootstrap.sh alias-bootstrap.sh: use i686-w64-mingw32-cmake-static 2023-02-21 21:56:55 -08:00
Android.mk
appveyor.yml Backport 2021 SRB2 makefile overhaul 2021-11-25 03:56:23 -08:00
CMakeLists.txt cmake: add SRB2_CONFIG_ASAN, enable AddressSanitizer 2023-04-22 18:35:22 -07:00
CMakePresets.json CMakePresets.json: add testers and host-testers presets 2023-02-16 16:13:47 -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
SRB2_Debug.props
SRB2_Release.props
srb2banner.png Icons + other tweaks to rebranding 2022-05-20 19:42:34 -04: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.