2.0:XSRB2
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
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.
Gametypes
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
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
- Enemies are also available in two extra sizes: Shrunk (Thing type 4195 onwards) and Giant (Thing type 8292 onwards).
- Regular rings, CTF team rings and coins are also available in an extra shrunken size (Thing types 4396, 4404, 4405 and 5896).
- Thing type 559: Springs and Fans: Blue Spring (Ceiling)
- Thing type 560: Springs and Fans: Diagonal Blue Spring
- Thing type 561: Springs and Fans: Diagonal Blue Spring (Ceiling)
- Thing type 3282: Bosses: Unnamed Boss – Boss X1
- Thing type 3285: Bosses: EGGrid – Boss X4
- Thing type 3292: Bosses: Boss X1 Waypoint
- Thing type 3295: Bosses: Boss X4 Turret
- Thing type 3400: Item Boxes: Combi-ring
- Thing type 3401: Item Boxes: Shrink Monitor
- Thing type 3402: Item Boxes: Giant Monitor
Linedef types
- Linedef type 317: Trigger Linedef Executor: Check Player's Scale – Continuous
- Linedef type 318: Trigger Linedef Executor: Check Player's Color – Continuous
- Linedef type 319: Trigger Linedef Executor: Sector Ceiling Comparison – Continuous
- Linedef type 320: Trigger Linedef Executor: Sector Floor Comparison – Continuous
- Linedef type 349: Trigger Linedef Executor: Golf – Count Strokes – Once
- Linedef type 460: Linedef Executor: Launch Player
- Linedef type 461: Linedef Executor: Damage Object
- Linedef type 462: Linedef Executor: Temporary Player Color Change
Sector types
- Sector type 168: Conditional Instant Kill (combination of Instant Kill and Special Stage Time/Rings Parameters Sector types)
- Sector type 240: BOSSX4 Effect sector
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.
DevTime
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
GolfPar
This sets the stroke par for a golf mode level.
- Example:
GolfPar = 5
ModListNum
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
TypeOfLevel
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 |
---|---|---|---|---|
11 | HUD_LOWSECONDSSPLIT
|
Deprecated | 1 | 0 |
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 |
38 | HUD_GOLFSTROKES
|
Golf – "STROKES" | 16 | 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 |
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.
MusicSlots
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.
Other features
General
- 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 withBAKABAKA
andOSUWARI
. TypingBAKABAKA
plays the music lumpO_BAKA
and typingOSUWARI
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.
Multiplayer
- 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 • Dr. Robotnik's Ring Racers • Tortured Planet • SUGOI • SUBARASHII • KIMOKAWAIII | |
v2.1 | Acid Missile • Dumbventure • SRB2Kart | |
v2.0 | Botanic Serenity • SRB2CB • SRB2 Riders • XSRB2 | |
v1.09.4 | SA-SRB2 • Blue Heaven • ShufflarB2 • SRB2JTE | |
Pre-1.09.4 | SPMoves |