2.0:SRB2CB

From SRB2 Wiki
Jump to navigation Jump to search
An example of a slope in 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

Main article: OpenGL

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

Linedef types

Sector types

Console

Main article: 2.0:SRB2CB/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

A table of SRB2CB's skin colors and their color ranges. Click to enlarge.
  • 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 and TX_END marker lumps, without needing v2.0's TEXTUREx/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 the TEXTURExx/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
v2.1 Acid MissileDumbventureSRB2KartSUGOISUBARASHIIKIMOKAWAIIITortured Planet
v2.0 Botanic SerenitySRB2CBSRB2 RidersXSRB2
v1.09.4 SA-SRB2Blue HeavenShufflarB2SRB2JTE
Pre-1.09.4 SPMoves