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
assets
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
doc
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
.gitignore
.travis.yml
Android.mk
appveyor.yml
CMakeLists.txt cmake: add COMPVERSION_UNCOMMITTED 2022-10-08 21:19:04 -05:00
comptime.bat
comptime.mk
comptime.props
comptime.sh
cpdebug.mk
debian_template.sh
Doxyfile
LICENSE
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.