Blankart OpenXR VR fork
Find a file
yamamama 416885a7c7 Voice system overhaul
Lots of things to bring it up to speed with the Lua dubs system.

To note:
- The `voice` cvars have been replaced with commands that are more robust
  in scope. These commands accept multiple arguments:
  - 1 arg (`voice` alone): Displays your current voice
  - 2 args (`voice <vox_name>`): Sets your voice to the provided voice,
    given it exists.
  - 3 args (`voice <skin_name> <vox_name>`): Sets your voice
    (given you're playing as the skin) and logs a preference.
  - `voice --help`: Explains everything above
- A preferenecs system now exists, which is loaded in on-boot and saved
  when quitting:
  - When you swap skins, the game checks an unordered map of preferences,
    indexed by skin name. If the skin you're changing to both exists in
    your preference list, and has your preferred voice loaded in the
    server, a notice will appear and you'll automatically use your
    preferred voice.
  - `listvoiceprefs` now exists, displaying voice preferences for the
    given splitscreen player. If no additional args are provided,
    it defaults to Player 1's first page of preferences.
  - `voicepref_auto` now exists for all splitscreen players to
    automatically assign preferences when you change your voice away
    from the default. The default voice is not logged by `voicepref_auto`;
    you have to do that manually. This cvar is toggled On by default.
- Voice settings and preferences are now saved to a `blanpreferences.cfg`
  file, which is unique for each local player; each local player has their
  own preference file.
2026-04-29 04:51:22 -04:00
.circleci Remove NASM from circle ci 2025-03-24 22:36:04 -04:00
cmake Add minipnpc find script 2026-02-19 13:27:45 -05:00
deployer Get this working 2024-07-28 22:37:38 -04:00
extras Allow bumpy road visual to be applied as a SSF as well 2026-04-21 01:34:57 -04:00
src Voice system overhaul 2026-04-29 04:51:22 -04:00
thirdparty update sdl3 2026-02-21 22:47:18 -05:00
toolchain Try to get zig to compile lmao 2025-12-09 15:15:45 -05:00
tools Remove ASM 2025-03-24 22:35:18 -04:00
.gitattributes Recursively renormalize line endings 2025-09-30 17:37:45 +02:00
.gitignore We're writing unit tests in Zig now 2026-03-17 19:52:59 +01:00
.gitmodules Vendoring Tracy again 2026-02-21 12:36:05 -05:00
.travis.yml Rename SRB2SDL to BLANKART 2026-02-11 22:44:28 -05:00
appimage_build.sh Include miniupnpc with appiamge since its no longer static linked 2026-03-17 20:23:46 -04:00
appveyor.yml Remove ASM 2025-03-24 22:35:18 -04:00
build.zig We're writing unit tests in Zig now 2026-03-17 19:52:59 +01:00
CMakeLists.txt NOAPPENDBUILD 2026-04-26 07:46:14 -04:00
comptime.bat use fallback complast to fix compile issues 2024-09-11 09:57:11 -04:00
comptime.mk SRB2 2.1 release 2014-03-15 13:11:35 -04:00
comptime.sh readd exec permission 2024-09-11 14:42:04 -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 Fix file extensions on the license files 2025-04-25 16:59:06 +02:00
LICENSE-3RD-PARTY Add the cvector library 2026-04-29 04:42:38 -04:00
README.md Mention people pull the submodules 2026-02-20 08:20:54 -05:00
shell.nix Update shell.nix 2026-03-02 18:31:38 +01:00
srb2.png Remove rest pf RingRacers Refs 2024-08-16 12:09:50 -04:00
srb2banner.png Remove rest pf RingRacers Refs 2024-08-16 12:09:50 -04:00

BlanKart

BlanKart is a modification of SRB2Kart v2 Indev to make it closer to SRB2Kart gameplay while adding new features, and techincal improvements.

If you're interested in helping out, theres a matrix room located here!

Notice

This is still in active development and things are going to change. If you find any bugs besure to report to the issue tracker!

Techincal Features

  • Entire refactorings of internal systems such as the item system, the menu system, the demo system and many more for easier maintainability.
  • Full Support for UDMF, Terrain, Bots, ACS, New Waypoints and many other technical features backported from Ring Racers. Also includes some extensions to these features such as bot drifting, new terrain effects and map header toggles.
  • Ring Racers' software renderer and its multithreading as a base for the software renderer with many additions ported from SRB2Kart Saturn and SRB2Classic.
  • Improved OpenGL Renderer based on some changes from SRB2Kart Saturn with support for features such as palette rendering.
  • Native support for both SRB2Kart and Ring Racers custom skins and followers.
  • Backwards compatiblity with most SRB2Kart maps, assets* and scripts*.
  • A map patching system to allow custom map things to be patched onto maps. Useful for adding rings, waypoints and other objects to existing maps.
  • Support for many SRB2Kart v1 custom client extensions from Saturn and other clients such as vote themes.
  • Many Lua and SOC additions for things such as adding custom boosts, custom boost chains, custom items+odds, custom menus, and many more things.

*Art assets are remapped from the SRB2Kart v1 palette to the SRB2 2.2 palette automatically based on addon file name. This also affects scripts as well making them run as they would in SRB2Kart v1. Having the K prefix or the .kart extension triggers this. You can also do addfile -c to enable it or addfile -n to disable it.

Optional Features

  • Colorized player hud
  • Minimap Angle display
  • Many features ported from Saturn

Optional Gameplay Features

  • Rings (Based on how they were in Indev v2 and then further rebalanced)
  • New items (Such as the as a reworked Flame Shield and a reworked Bubble Shield)
  • Alternative Item system that allows new varients of specfic items (Such as Eggman and Invincibility)
  • 4 tier drifts (Blue, Red, Purple, Rainbow)
  • Boost Stacking + Boost Chaining
  • Slipdashing
  • Drafting
  • Air Thrust
  • Air Drop
  • Recovery Dash

Dependencies

  • SDL3 (Linux/OS X only)
  • libsndfile (Linux/OS X only)
  • OpenAL-Soft (Linux/OS X only)
  • libupnp (Linux/OS X only)
  • libgme (Linux/OS X only)
  • libopenmpt (Linux/OS X only)

Compiling

Notice

MSVC is unsupported, so please use GCC, Clang or Zig as your compiler.

Linux:

git clone --recursive https://codeberg.org/NepDisk/blankart.git
cd blankart
mkdir build
cd build
cmake ..
make -j$(nproc)

Windows MSYS2:

git clone --recursive https://codeberg.org/NepDisk/blankart.git
cd blankart
mkdir build
cd build
cmake -G "MSYS Makefiles" .. -DCMAKE_POLICY_VERSION_MINIMUM=3.5
make -j$(nproc)

How to install

  • Obtain an executable
  • Grab the assets from the blankart-assets repo
  • Compile the pk3s by running buildall.bat on windows or buildall.sh on *nix.
  • Copy the generated pk3s from the folder out/ and your compiled executable into a folder with the SRB2Kart 1.6 assets (such as an existing install).

Disclaimer

BlanKart is in no way affiliated with Kart Krew Dev or Sonic Team Jr. This is just a project meant for fun. If you have any issues report to us not them.

We also do not claim ownership of any of SEGA's intellectual property used in BlanKart.