From SRB2 Wiki
Jump to navigation Jump to search
XSRB2 logo

XSRB2 is a source code modification for Version 2.0 made by Inuyasha. It features an incomplete Single Player campaign consisting of five 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 was particularly popular during the v2.0 era, with several user-made golf courses being created for it.

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

XSRB2 was planned to include a Single Player campaign consisting of six full-length zones. The final release of XSRB2 includes seven levels from five zones, although two of these levels are only present in very early alpha versions consisting of a single room. The six 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 is incomplete and 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 the "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!"; this is called a full 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 still spinning, they will uncurl and stop in their 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. Mappers can use linedef type 349 to run a linedef executor after a certain number of strokes.

Certain power-ups have different effects than usual in Golf mode: Collecting an extra life will subtract one stroke from the player's stroke counter. The Super Sneakers Monitor grants the player an automatic full shot for the next shot. Shields can also be used in Golf mode, although only the Whirlwind Shield has a practical use in typical golf courses, which feature no rings and no hazards besides death pits.

XSRB2 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 which level pack the level belongs to in level select/Time Attack. 0 stands for SRB2, 1 for the SRB1 Remake, and 2 for XSRB2. New level packs cannot be created, however.

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

Player powers

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

Value Name Description
30 pw_combiring Set whether the player has a Combi-Ring (any value other than 0) or not (0).
31 pw_scaletimer Sets the duration of the effects of the Shrink and Giant monitors, in tics.
32 pw_reflecttimer Used to change the Force Shield icon on the first-person view HUD while the Force Shield is reflecting a shot. Sets how long the reflection icon should be displayed, in tics.
33 pw_jewelshards Awards the player with the specified number of Shards.
34 pw_golf_fullshot If set to anything other than 0, the player is given an automatic full shot in Golf mode.

HUD items

XSRB2 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 include:

  • 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


  • The Options menu was re-organized, 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. Both changes were later incorporated into SRB2 v2.1.
  • Various HUD elements were changed, especially in multiplayer. Icons for power-up items are displayed on the bottom of the screen until they wear off, à la Knuckles' Chaotix.
  • Super Sneakers produce afterimages. This feature was later added to SRB2 v2.1.
  • The Force Shield reflects projectiles and spinning maces by pressing spin in mid-air, instead of being activated automatically upon being hit.
  • Quicksand physics were changed, making it act like in Sonic 3 & Knuckles. Jumping is allowed at any time, not just if the player is sinking, and tapping the jump button repeatedly makes the player ascend faster. Also, quicksand no longer pulls players through solid FOFs, and the glitchy behavior of shield orbs in quicksand was fixed. These changes were later incorporated into SRB2 v2.1.
  • The title screen easter eggs, excluding ULTIMATE, were 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

  • The Select Game menu was expanded to a scrolling list of 30 save slots, and cleared save slots are now marked. These changes were later incorporated into SRB2 v2.1. Level packs can be selected separately, and each is allowed a separate set of 30 save slots as well.
  • Time Attack has been expanded to a Replay Attack menu, which includes Time Attack itself as well as placeholders for "Ring Attack" and "Score Attack". This feature was later finished for SRB2 v2.1, where it became Record 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 currently don't 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. This change was later incorporated into SRB2 v2.1.
  • Bosses have a health bar, showing how many times the player has to hit them.
  • The rules for score chaining were changed: After chaining 15 enemies or more, the player is now awarded 10,000 points per enemy. Killing multiple enemies with a spindash no longer counts as a chain, but killing multiple enemies while invincible does. This change was later incorporated into SRB2 v2.1.
  • Ultimate mode was made harder. The lives and rings counters have been removed, and extra life monitors 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. This change was later incorporated into SRB2 v2.1.


  • 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, which is logged in the console with the message "(name) committed seppuku.". It is only safe to switch while temporarily invincible (after being hit or after 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 with the console variable timermode.
  • 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 intermission screen is overlaid on a freeze frame of the gameplay, like in Single Player. (The intermission background still appears on the results screen of Golf mode.)
  Modifications [view]
v2.2 Mystic Realm (Community Edition) • SRB2 Battle
v2.1 Acid MissileDumbventureSRB2KartSUGOISUBARASHIIKIMOKAWAIIITortured Planet
v2.0 Botanic SerenitySRB2CBSRB2 RidersXSRB2
v1.09.4 SA-SRB2Blue HeavenShufflarB2SRB2JTE
Pre-1.09.4 SPMoves