2.0:SRB2CB
SRB2 Community Build (abbreviated as SRB2CB) is a source code modification made by Kalaron. Its latest release is for Version 2.0, although the project had been started before Version 2.0's release. Its goal was to provide an alternative SRB2 engine with additional features for both players and modders. SRB2CB's features include functional slopes, PNG support (allowing for full-color graphics), bots and extensive improvements to the OpenGL renderer, among others. SRB2CB is primarily OpenGL-based, therefore most new features have been designed for or can only be used in OpenGL. A modification of Doom Builder 2, known as "SRB2 Doom Builder 2.0", was later made by the same author, including support for SRB2CB's implementation of slopes[1]. Some of SRB2CB's improvements to OpenGL have since been ported to SRB2 itself from Version 2.1 onwards.
There are two editions of the current release of SRB2CB: the regular release of v1.1 from July 05, 2011, and a special PNG edition released later in October 2011, requiring all flats and textures to be in the PNG format. The latter also includes several fixes to bugs present in the regular v1.1 release.
Current release information
- Current version: 1.1 (July 05, 2011)
- SRB2 codebase: 2.0.4
- Available at: SRB2 Message Board
- SRB2 Doom Builder configuration file: Download
OpenGL features and improvements
OpenGL rendering was extensively improved in SRB2CB and new graphical effects were added for it. Since many of SRB2CB's new features only work in OpenGL, Software rendering is unsupported. The game automatically launches in OpenGL, but Software rendering can still be enabled by launching SRB2CB with the -software
command line parameter. If the game closes with an error message when you start it in windowed mode, try running it in fullscreen, or try changing SRB2CB's resolution in your config.cfg
file or autoexec.cfg
file.
The following features were added to OpenGL:
- Support was added for most level effects that had previously only supported Software, such as fog blocks.
- The renderer was made more efficient, leading to a performance boost of up to 150% compared to SRB2's default OpenGL renderer.
- The colormap effect was made more pronounced.
- Coronas, which had been removed from SRB2 with v2.0, were re-added.
- Sprite shadows that stay in one direction were added. They can be enabled by typing
shadows 1
into the console. - A motion blur visual effect is applied whenever the player is moving quickly enough with the Super Sneakers powerup, or whenever the player is moving fast enough upwards or downwards. This can turned on or off via the new console variable
motionblur
.
Turning fog mode on is recommended. A fog density of at least 64 is also recommended (it can be set by typing gr_fogdensity 64
into the console).
Windows 8 and 8.1
A workaround is required in order for the OpenGL renderer in SRB2CB to function correctly on Windows 8 and 8.1. You must enable the Compatibility Layer for Windows 7 in order to prevent SRB2CB from crashing when the OpenGL renderer is used. Inserting "set __COMPAT_LAYER=WIN7RTM
" in a batch file that launches SRB2CB will handle this for you, and is recommended, but right-clicking on srb2cb.exe
and setting it manually also works.
Game engine features
Slopes
Slopes are a major feature included with SRB2CB. Aside from rendering, which is exclusive to OpenGL, special collision and momentum-based physics for slopes are also implemented. SRB2CB's slopes are sector-based and dynamic, i.e., if one of the adjacent surfaces of a slope is moved, the slope will automatically move along with it. Sloped FOFs are partially supported. They can be rendered in OpenGL, but collision with them is buggy.
Skyboxes
SRB2CB supports skyboxes, which allow a section of the map to be rendered as the sky. Rendering of skyboxes is exclusive to OpenGL.
Bots
Bots are computer-controlled players. SRB2CB's bots have been programmed to play Co-op and Match, but do not support Race, CTF and Tag. Bots were first introduced in SRB2JTE, but their artificial intelligence was improved for SRB2CB. They are also more stable and less likely to crash the game.
In Coop, bots will follow the player. They can collect and destroy enemies, but they will not break monitors. Bots will use their special abilities, but Knuckles cannot climb walls. Players can hang on to flying Tails bots and be carried by them, just like with regular Tails players. Bots do not fully work in Single Player. Forcing the game to add them (see addbot
) will make the game stop recording data.
In Match, bots will fight players and each other. They will collect rings and break monitors, but they cannot use weapons or emeralds unless they receive them through the Recycler Monitor. Other multiplayer gametypes are not supported. In Race, bots will behave like in Coop and will not try to finish the level as fast as possible. Bots cannot join the game in CTF, Tag and Hide & Seek unless the server or a game admin enforces it. Bots do not recognize teams, so bots from the same team will try to shoot each other, as will tagged bots in Tag.
PolyObject flats
PolyObjects are capable of rendering flats in SRB2CB (exclusively to OpenGL), which are enabled by default. However, mappers can configure a PolyObject's First Line to not render the top and/or bottom of the PolyObject if they wish. If the Bouncy Wall flag is checked on the first line, the PolyObject's bottom will not be rendered. If the Transfer Line flag is checked, the PolyObject's top will not be rendered.
Editing lists
Thing types
- Thing type 36: Tag IT Start
- Thing type 440: Sonic 3 & K Bubble Shield Monitor
- Thing type 441: Sonic 3 & K Flame Shield Monitor
- Thing type 442: Sonic 3 & K Lightning Shield Monitor
- Thing type 570: Yellow Sideways Spring
- Thing type 571: Red Sideways Spring
- Thing type 572: Bumper
- Thing type 573: Balloon
- Thing type 574: Respawning Balloon
- Thing type 575: Big Balloon Fountain
- Thing type 576: Small Balloon Fountain
- Thing type 580: Hang-Glider
- Thing type 582: Skateboard
- Thing type 585: Particle Fountain
- Thing type 586: Spiral Particle Fountain
- Thing types 780–786: 2D Teleports
- Thing type 790: Skybox Viewer
- Thing type 791: Skybox Centerpoint
Linedef types
- Linedef type 15: Floor Scale (Broken)
- Linedef type 80: Spring Bouncer
- Linedef types 386–393: Slope Sector Planes
- Linedef types 394–396: Copy Slope From Line Tag
- Linedef type 445: Set 2D Camera Angle
- Linedef type 446: Set 2D Camera Distance
Sector types
- Sector type 240: Spring Sector
Console
The following new features were added for the console in SRB2CB:
- New console color scheme.
- The ability to move the text cursor back and forth in the console input was added.
- New commands and variables were added; see 2.0:SRB2CB/Console.
Miscellaneous
- In SRB2CB, six new skin colors were added to the skin colors that already existed in Version 2.0, raising the total from 15 to 21. Furthermore, the ranges of colors used for Silver and White were altered slightly.
- In SRB2CB, it is possible to load MD2 models for multiple characters at the same time, including custom characters. As of SRB2CB v1.1, MD2 models can cast shadows, but this feature is still incomplete.
- Wall textures can be loaded into SRB2CB by using the
TX_START
andTX_END
marker lumps, without needing v2.0'sTEXTUREx
/PNAMES
system. Any graphic lumps placed between these two markers become single-patch textures. However, there are known issues when a texture is defined using both theTEXTURExx
/PNAMES
system and this system. - SRB2CB has support for using PNGs as flats and textures, allowing them to be displayed in true color without needing to be in SRB2's palette. PNG textures must be added to the game using the previously mentioned
TX_START
system, while PNGs for flats can be placed as normal. PNG textures can also be used as flats (though they must be square and have dimensions of powers of 2). Rendering of PNGs is exclusive to OpenGL. - Particle and sparkle effects are now used by various events in-game, such as when the player collect rings, touches a Star Post, destroys an enemy, or makes splashes in water.
- Characters with the ability to spin can un-spin while rolling by pressing the Spin button again.
References
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 |