No description
Find a file
toaster 6d0637d39d Unlockable skins (in a way friendly to #define MAXSKINS 255)
Mammoth commit, sorry. I only realised halfway through writing it that SECRET_SKIN was only partially merged.

Ports from 2.2:
- Merge SECRET_SKIN (STJr/SRB2!1474)
    - Default skin is now handled by checking all skins for unlock status, and I_Erroring if none are available
    - Don't show skin names on game startup, to keep our secrets hidden
    - Unlockables now have string variables zallocated.
         - For skin names rather than numbers.
    - Correctly clean up memory when freeing unlockables and emblems.

Bespoke code:
- For temporary testing. `unlocks.pk3`
    - Using this for rapid testing gameboot SOC instead of patch.pk3 because of the intent to turn that into scripts.pk3
- Don't not save gamedata in DEVELOP builds, even if you've used cheats!
- `player->availabilities` is now an array of UINT8
    - (MAXSKINS + 7)/8 entries, or 32 bytes.
    - Included with XD_ADDPLAYER instead of XD_NAMEANDCOLOR.
         - Simplifies a lot of logic with respect to demos, skin changes mid-game, etc.
             - Seriously, there's a lot of random places in the code that just iterate over MAXSPLITSCREENPLAYERS and g_localplayers to update availabilities in real time in a way that's not particularly netsafe...
         - Lines up with the plan for handling unlocks when returning to menus.
         - Was included with XD_ADDBOT, but that actually overruns the netxcmd buffer at first mapload with 7 bots. We might need to consider expanding the size of the netxcmd buffer...
    - In demos, can be interpreted as both relative to the original replay and the current skin list depending on boolean context provided to R_SkinUsable.
    - Used for SF_IRONMAN (and will crash if all other skins are inaccessible).
- Grand Prix bot randomisation uses the host's unlocks.
- Don't show locked characters on the fancy new character select.
-  DXD_JOINDATA for demos
    - Replaces the dual-purpose behaviour of DXD_PLAYSTATE
    - Contains availabilities
    - Handles bot material in a different way
- Forceskin restrictions
    - Won't run in demos, because it's assumed recorded DXD_SKIN will handle all the conversions the original match had
    - Won't run if K_CanChangeRules says no
- Correctly set `mapvisited` on level visit, even in [fake gasp] MULTIPLAYER/NETGAMES!! 🥹
- Added updating unlockables and extra emblems on `mapvisited` update.
    - Currently fails to produce the cecho, but that'll be stripped out entirely in a future commit so I'm not bothered.
2022-11-27 22:53:29 +00:00
.circleci Let stop building a NONET build of Kart 2022-09-24 15:56:42 +00:00
android SRB2 2.1 release 2014-03-15 13:11:35 -04:00
assets YAY, round 2 2020-08-09 21:02:56 -04:00
cmake cmake: add COMPVERSION_UNCOMMITTED 2022-10-08 21:19:04 -05: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 SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
extras Speed Pads are now a TERRAIN effect 2022-10-11 02:26:54 -04:00
libs Update libs/SDL2 to 2.0.22 2022-09-05 15:13:45 +01:00
src Unlockable skins (in a way friendly to #define MAXSKINS 255) 2022-11-27 22:53:29 +00:00
tools Remove FMOD files 2022-07-23 12:57:46 -05:00
.gitattributes avoid the source code from getting the wrong EOL 2019-09-20 12:32:18 -04:00
.gitignore Backport 2021 SRB2 makefile overhaul 2021-11-25 03:56:23 -08:00
.travis.yml Merge branch 'master' into the-scary-22-merge 2020-08-12 20:59:09 -04:00
Android.mk SRB2 2.1 release 2014-03-15 13:11:35 -04:00
appveyor.yml Backport 2021 SRB2 makefile overhaul 2021-11-25 03:56:23 -08:00
CMakeLists.txt cmake: add COMPVERSION_UNCOMMITTED 2022-10-08 21:19:04 -05:00
comptime.bat comptime.bat: Put @echo off back in 2016-03-14 20:36:37 -05:00
comptime.mk SRB2 2.1 release 2014-03-15 13:11:35 -04:00
comptime.props MSVC: fixed up MSVC project 2016-05-21 23:53:04 -04:00
comptime.sh Starting from scratch. SRB2 v2.1.15 2016-07-06 00:10:19 -04:00
cpdebug.mk Compile Win32 EXE with -gdwarf-2 2014-04-07 10:03:14 -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
Doxyfile Remove some more DOS related stuff 2020-07-25 19:15:54 -04:00
LICENSE SRB2 2.1 release 2014-03-15 13:11:35 -04:00
README.md The start of the scary 2.2 merge 2020-05-29 13:43:38 -04:00
srb2-vc9.sln SRB2 2.1 release 2014-03-15 13:11:35 -04:00
srb2-vc10.sln Added ARM/ARM64 to whole vc10 sln 2018-12-21 16:47:10 -05:00
SRB2.cbp Add k_kart files to CB project 2019-01-04 23:09:25 -06:00
Srb2.dev change SDL into HAVE_SDL 2014-07-25 19:10:24 -04:00
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 More work to cleanup the ARM builds 2018-12-22 19:50:32 -05:00
SRB2_Release.props More work to cleanup the ARM builds 2018-12-22 19:50:32 -05:00
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.