division bar

SRB2 version 2.1.22 patch release

mazmazz - December 25, 2018

Merry Christmas, everyone, and we hope you enjoy this very special gift! It’s not 2.2, but we’d say 2.1.22 sounds just as swell!

Major impact changes:

  • Chat Windows: For multiplayer, we added the ability to display the chat in a small window by default. Fans of SRB2 Kart will feel right at home here — now you can enjoy increased readability, spam filtering, and easy-to-use private messages between players!
  • Addons Menu: We also got the beloved Addons Menu! With all of your favorite features from Kart, you may now easily find your addon files in-game without alt-tabbing and fumbling through Windows Explorer.
  • Gamepad improvements: We have now added default gamepad buttons, so if you have a supported controller, you no longer need to dive into the options — just pick up and play! If you are upgrading, the game will add those buttons to your controls as long as a slot is open for that action.
  • 64-bit OpenGL fixes: A lot of you made it very clear to us that Eggman blew up a hole in GFZ2, so we made him pay dearly for it! All of the holes in OpenGL are now fixed for 64-bit. Additionally, we fixed a visual glitch with shields that you may have experienced in both 32-bit and 64-bit.
  • SDL stability and sound fixes: Some people experienced glitchy sound effects due to our attempt to update SDL, the program library that runs our game. A few of you may have also experienced startup and stability crashes. We have now fixed the glitchy sounds, so we are now able to package the latest SDL libraries. By extension, some of the crashes should now be resolved.

Minor impact changes:

  • PK3 sprite name fix: We realized that PK3 addons cannot name lumps with a backslash character, which prevented player skins and a few other objects from working properly. We fixed this by allowing you to use the plus character instead, so player skins can now be packaged as PK3.

    To learn how to create PK3 addons, visit our PK3 wiki page.

  • Camera tweaks: When you upgrade, you may notice that the camera view looks slightly different — perhaps less claustrophobic. Also, if you specify custom camera values in the console, they will now be saved to your config.
  • Cross-platform fixes: The macOS version was unable to write savegames for mods, so we patched that up and also fixed the path that script files are executed from. We also fixed a few music formats that did not play for that version. The Linux install packages now have srb2 added to the PATH, so you can run the game just by typing in srb2 in the Terminal.

Go after the jump to read the full list of changes!



  • There was a KIMOKAWAIII stage crash related to a remote viewpoint camera that would cut out of existence.
  • Some SDL-related crashes have been fixed as a result of us packaging an old SDL version with v2.1.21. The new DLLs supplied with v2.1.22 should fix startup-related crashes and a few stability bugs.


  • The game now accepts ‘+’ as substitute for ‘\’ for sprite frames in both WAD and PK3. This is important for PK3 as backslashes are invalid name characters.
  • The tiny font has been expanded to include symbols and lowercase letters. Thanks Golden!
  • The timer behavior for remote viewpoint cameras was fixed. The bug prevented an isometric camera in SUBARASHII from functioning.
  • Waypoint PolyObjects can now crush the player.
  • SOC: New level header option SAVEOVERRIDE to set whether to force write a savegame or skip saving, per level.
  • Lua: FOF flat names no longer return trailing null chars (‘\0’)
  • Lua: New function G_SetMapOverride() to set the next level and optionally skip the tally screen, while not exiting the level immediately a la G_ExitLevel().
  • Lua: Fix G_ExitLevel() always skipping the tally screen, even if you did not specify for it.
  • Lua: New function R_TextureNumForName() to get a texture name’s internal index; and R_CheckTextureNumForName() to check if a texture name exists.


  • The chat window feature is implemented from SRB2 Kart; thanks Lat! See the full list of changes.
  • The addons menu from SRB2 Kart is implemented; thanks to toaster for the original code!
  • New default joypad buttons have been added, as well as a feature to update the user’s config with the new buttons.
  • You can now assign Jump and Spin actions to a gamepad axis (such as analog triggers.)
  • The player no longer moves from joystick or mouse input while the multiplayer system menu is open.
  • In NiGHTS, you can now fly up and down by using the Look Up and Look Down buttons as well as the Look joystick axis.
  • In CTF, a sound jingle will now play when the opposing team’s flag is returned to base.


  • 64-bit OpenGL holes are now fixed! This was related to some floating point math that produced invalid results when using optimized instructions. This could have affected 32-bit users if we decided to release faster builds in the future. Thanks to our original progenitors, the Doom Legacy project, for inspiring our fix!
  • Shields in OpenGL — as well as any overlapping object — no longer produce severe Z-fighting glitches for some users. Shields have never looked so good! Thanks Azeonus!
  • The automap now renders in large levels, so you can map out your great escape from Egg Rock Zone!
  • A few Software glitches were fixed, relating to horizontal planes. Thanks to our resident cat wizard Jimita for the following:
    • Ceilings no longer glitch when looking all the way up
    • PolyObjects no longer cause slime trails on adjacent walls
    • Sector flats no longer render twice when they are under a PolyObject
    • Large rooms no longer produce glitchy artifacts.


  • SDL sound glitches were fixed, meaning that we can now ship SDL 2.0.9 with the latest stability fixes.
  • In a multi-monitor setup, the program window will now snap to the center of its currently occupied display.
  • In Windows, the mouse will be grabbed by the window automatically on program start as long as its use is enabled.
  • Mod savegames now save with proper filenames on all OSes. Previously, their filename was being malformed. This was especially bad on macOS because the entire save location was invalid.
  • When using a home folder outside of your SRB2 install (as is default for Mac and Linux), console scripts will now be found in the proper paths. We fixed EXEC, SAVECONFIG, and debugfile to consider home folders.
  • The Ubuntu/Debian install package now has a symbolic link for SRB2 in the PATH, so instead of typing /usr/games/SRB2/srb2 to run the game, you now just need to type srb2.
  • macOS builds can now play MP3 and FLAC music.

division bar