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
android
assets
cmake Comptime.cmake: get rid of CMake < 3.5 compatibility warning 2023-07-27 18:19:14 -07:00
debian-template
deployer
doc
extras
libs
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
.clang-format
.editorconfig
.gitattributes
.gitignore
.travis.yml
alias-bootstrap.sh
Android.mk
appveyor.yml
CMakeLists.txt cmake: add SRB2_CONFIG_ASAN, enable AddressSanitizer 2023-04-22 18:35:22 -07:00
CMakePresets.json
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
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.