From SRB2 Wiki
Jump to: navigation, search
XSRB2 logo

XSRB2 is a source code modification for Version 2.0 made by Inuyasha. It features an in-progress Single Player rotation that currently spans seven (partially incomplete) maps that utilize several custom editing features, a new gametype called "Shards", as well as a miniature golf mode. XSRB2 has received considerable attention and acclaim from the SRB2 community, and many of its features and changes have since been implemented into SRB2 itself for Version 2.1. The golf mode feature has led to the creation of several user-made golf courses.

Current release information

  • Current version: X-010 (July 17, 2011)
  • SRB2 codebase: 2.0.6
  • Available at: SRB2 Message Board
  • SRB2 Doom Builder configuration file: Download


Main article: 2.0:XSRB2/Levels

In its final state, XSRB2 is supposed to feature six new single player zones. Five of those have already been started, though only five acts are currently in a completable state. The names of the zones, in order, are:

  • Daybreak Dash Zone: Act 1 is present in two versions: The regular version and an incomplete beta version which features several unfinished new areas. Act 3 features a modified Egg Mobile.
  • Sandy Shrine Zone: Act 1 is present in a playable state, but ends midway through the level.
  • Woodland Outskirts Zone: Not featured
  • Factory Farce Zone: Act 1 is present in two versions: The regular version, and a beta version which features several unfinished rooms that were intended to be incorporated into the level itself. Act 3 features a custom boss called EGGrid.
  • Twilight Turnpike Zone: A very early alpha version of Act 1 is included, consisting only of the first room.
  • Seventh Heaven Zone: A very early alpha version of Act 1 is included, consisting only of the first room.


Sonic Golf

XSRB2 features a miniature golf gametype called Sonic Golf. It can be used in custom maps by setting the TypeOfLevel variable in the level header to 16384. In this gametype, the player must reach the goal (which is a regular Exit Sector) with a series of consecutive spindash shots. A shot is loaded by pressing the Spin button. Then, a power meter will appear at the bottom of the screen with a red bar that extends from left to right and back quickly. If the player presses the Spin button again, the meter will freeze in its place and the player will spindash forward with one shot added to his "Strokes" counter. The farther right the bar is, the faster the spindash will be. If the bar stops at the rightmost point, it will turn yellow and display "Nice shot!". After the spindash is over, the player will stand still again and can load another stroke.

The objective of a Sonic Golf level is to reach the goal with as few strokes as possible. When reaching the goal, the number of strokes will be compared to the par score (which is set with the GolfPar level header option). Depending on the player's score upon reaching the goal compared to the par score, one of the following will be displayed as the result:

  • Hole in One: Goal reached with only one stroke (overrides everything else)
  • Phoenix: Six strokes under par
  • Ostrich: Five strokes under par
  • Condor: Four strokes under par
  • Albatross: Three strokes under par
  • Eagle: Two strokes under par
  • Birdie: One stroke under par
  • Par: Score is equal to par
  • Bogey: One stroke over par
  • Double Bogey: Two strokes over par
  • Triple Bogey: Three strokes over par

If the player's score is more than six strokes under par, the result is displayed as "n under par", with n being the number of strokes under par. If the player's score is more than three strokes over par, the result is displayed as "n over par", with n being the number of strokes over par. After the last level of a zone is finished, the scores will be tallied and a final score will be calculated.

Players can jump while spinning, allowing them to cross obstacles, although each consecutive jump will slow them down. If the player presses the Spin button while he's still spinning, he will uncurl and stop in his current place. If the player dies (commonly by falling into a death pit), "O.B." (standing for "out of bounds") will be displayed and the player will receive a penalty stroke. Likewise, collecting an extra life will subtract one stroke from the counter. Mappers can use linedef type 349 to run a linedef executor after a certain number of strokes. Shields can also be used in Golf mode, although only the Whirlwind Shield has a practical use.

XSRB2 currently features one complete golf course called Aether Shrine Zone, consisting of nine holes. It can be accessed in the "1 Player" menu, below Replay Attack.


Shards is a custom multiplayer gametype in XSRB2, using gametype slot 5. It is activated for a map by adding 1024 to the TypeOfLevel level header variable, and is commonly combined with Match, Tag and/or CTF. In XSRB2, it can be played on both the Match and the CTF rotation. In this gametype, Jewel Shards will spawn in the Match Chaos Emerald Spawns instead of Chaos Emeralds. If a player collects such a Shard, their score will start to increase gradually. The more Shards a player holds, the faster the score increases. Once a player is hit (even if they have a shield), they drop all their Shards, and their score will freeze at the current point until they collect a Shard again. The objective is to collect as many Shards as possible and fight other players to gain Shards, in order to be the first to hit the target score.

Editing features

Thing types

Linedef types

Sector types

Level header parameters

See also: Level header

Several features added to XSRB2 make use of level header parameters for their full functionality. Those are listed and explained here.


This sets the developer time for the Time Attack slot of a level, measured in tics. Together with a replay file, this can be used by level makers to supply their personal best time for a map.

Example: DevTime = 671


This sets the stroke par for a golf mode level.

Example: GolfPar = 5


This determines for which level pack the level shows up in level select/Time Attack. 0 stands for SRB2, 1 for the SRB1 Remake, and 2 for XSRB2. This cannot be used in other modifications.

Example: ModListNum = 2


XSRB2 introduces two new level types which both have their own TypeOfLevel value. Shards can be combined with other values, while Golf is supposed to stand alone.

Value Mode
1024 Shards
16384 Golf
Example: TypeOfLevel = 1040

Custom powers

XSRB2 includes several new powers that can be awarded to the player via the action A_CustomPower in a SOC or linedef type 434 in a map.

30 pw_combiring Gives the player a Combi-Ring.
31 pw_scaletimer Sets the length of the effects of the Shrink and Giant monitors.
32 pw_reflecttimer
33 pw_jewelshards Awards the player with a specific number of Shards. The number of Shards is set by Var2/the control linedef's Y distance.
34 pw_golf_fullshot Gives the player an automatic full shot in Golf mode.

HUD items

XSRB2 includes not only includes several new HUD items, but a few of the old items have been deprecated (though still kept in for compatibility reasons).

HUD item number HUD item name Description X position Y position
16 HUD_LOWTICS Deprecated 1 0
18 HUD_LOWSECONDS Deprecated 1 0
35 HUD_BOSSPOSITION Boss health bar 296 6
36 HUD_GOLFPAR Golf – "PAR" 212 10
37 HUD_GOLFPARNUM Golf – Stroke par number 308 10
39 HUD_GOLFSTROKESNUM Golf – Number of strokes 112 10
40 HUD_SHARDS_SECONDS Shards – Amount of (score) seconds 112 10
41 HUD_SHARDS_MINUTES Shards – Amount of (score) minutes 88 10
42 HUD_SHARDS_TIMECOLON Shards – Colon graphic between (score) minutes and seconds 88 10
43 HUD_SHARDS_TIMETICCOLON Shards – Colon graphic between (score) seconds and tics 112 10
44 HUD_SHARDS_TICS Shards – Amount of (score) tics 136 10
45 HUD_SHARDS_SECONDSSPLIT Shards – Amount of (score) seconds (Splitscreen mode) 104 10
46 HUD_SHARDS_MINUTESSPLIT Shards – Amount of (score) minutes (Splitscreen mode) 80 10
47 HUD_SHARDS_TIMECOLONSPLIT Shards – Colon graphic between (score) seconds and tics (Splitscreen mode) 80 10
48 HUD_SHARDS_TIMETICCOLONSPLIT Shards – Colon graphic between (score) seconds and tics (Splitscreen mode) 104 10
49 HUD_SHARDS_TICSSPLIT Shards – Amount of (score) tics (Splitscreen mode) 128 10
50 HUD_SHARDS_SHARDCOUNT Shards – Amount of Shards 300 8
51 HUD_SHARDS_SHARDCOUNTSPLIT Shards – Amount of Shards (Splitscreen mode) 120 32


Main article: 2.0:XSRB2/Console

New features for the console in XSRB2:

  • New console color scheme.
  • New commands and variables (see main article).
  • Some of SRB2's existing commands/variables were removed or changed, e.g. cheats (see main article).
  • Warnings, errors and notices received a new color scheme for a better reading.
  • Control+Tab shows all commands/variables beginning with whatever is currently typed in the console.


XSRB2's music is contained in a separate file, xmus.dta. Much of it consists of tracks lifted from other games and sources, save for a remix of SRB2's Invincibility theme.

Main article: 2.0:XSRB2/MusicSlots

Other features


  • Re-organized options menu, mostly to make it easier to find certain settings. Furthermore, pausing the game will bring up a separate pause menu that contains settings relevant to the current gametype.
  • Changes to various HUD elements, especially in multiplayer. Power-up items now have their icons display on the bottom of the screen until they wear off, à la Knuckles' Chaotix.
  • Super Sneakers produce afterimages.
  • The Force Shield reflects projectiles and spinning maces by pressing spin in midair, instead of being activated automatically upon being hit.
  • Quicksand physics have been changed, making it act like in Sonic 3 & Knuckles. Jumping is allowed at any time, not just if the player is sinking, and tapping jump makes the player ascend faster. Also, quicksand no longer pulls players through solid FOFs, and shield orbs have their behavior in it fixed.
  • The title screen easter eggs, excluding ULTIMATE, have been removed and replaced with BAKABAKA and OSUWARI. Typing BAKABAKA plays the music lump O_BAKA and typing OSUWARI activates New Moon mode, which adds sound effects for opening and closing the menu. New Moon mode will also automatically activate on the night of the new moon.

Single Player

  • Revamped Select Game screen. There are now 30 save slots to choose from. Level packs can be selected separately, and each is allowed a set of 30 slots as well.
  • Time Attack Mode has been expanded to a Replay Attack menu, which includes Time Attack itself as well as placeholders for "Ring Attack" and "Score Attack". Just as with the Select Game screen, level packs can be accessed separately, and each level pack has its own timer, which also shows how many maps don't currently have a record set. There is also an option to include a "Staff Time", which enables level creators to supply their own replays.
  • The SRB1 Remake is handled as a separate level pack, which allows the player to select the maps via the Select Game screen and play them in Replay Attack.
  • The Bonus Levels sub-menu in the Secrets menu has been removed, and the bonus levels are now listed directly on the main Secrets page.
  • Bosses have a health bar, showing how many times the player has to hit them.
  • The scoring system for destroying multiple enemies has changed. First, using a rolling attack or the spindash will only award 100 points per enemy while using it. If 15 or more enemies are destroyed in a single chain, they begin awarding a whopping 10,000 points each, matching the behavior of the Genesis Sonic games. Finally, invincibility grants you an automatic chain that can continue to build up until the power-up wears off.
  • Ultimate mode has been made harder. The lives and rings counters have been removed, and Extra Lives only play an error sound (sound 91) when popped. This means that players have only one single try to complete the whole Single Player campaign, and dying once will result in a game over.


  • Adjusting the frequency of items that appear from Random monitors no longer requires cheats to be activated.
  • Switching characters while in the middle of multiplayer games is now penalized with instant death ("(name) committed seppuku."). It is only safe to switch when flashing (after being hit or spawning), while dead, or while spectating.
  • If a player is killed in multiplayer and a projectile they previously fired strikes another player afterward, points are now correctly awarded to the killed player. It also logs the hit as being carried out by "the late (name)".
  • In rounds with a time limit, the HUD timer will count down (in negative digits) to the time limit. This can be disabled.
  • In Race and Classic Race, custom sound effects are used for the starting countdown and starting a lap. Split times also appear on the screen when crossing a checkpoint, marking the time elapsed so far in that lap and how much time a player is behind the person in 1st place (or ahead of the person in 2nd place).
  • When a round is over, the results screen is overlaid on a freeze frame of the gameplay, like in Single Player. (The Time Attack background still appears on the results screen of Golf mode.)
  Modifications [view]
v2.1 Acid MissileDumbventureMystic RealmTortured Planet
v2.0 Botanic SerenitySRB2CBSRB2 RidersXSRB2
v1.09.4 Blue HeavenShufflarB2SRB2JTE
v1.08 SA-SRB2SPMoves