2.0:SRB2CB

From SRB2 Wiki
(Redirected from SRB2CB)
Jump to: navigation, search
Test.png This article or section is incomplete. It doesn't have all of the necessary core information on this topic. Please help the SRB2 Wiki by finishing this article.
Warning icon.png This article or section is badly written and in need of a rewrite. You can help the SRB2 Wiki by fixing this article to meet with the standards described by the Manual of Style.
SRB2CB featuring slopes.

SRB2 Community Build (abbreviated as SRB2CB) is a source code modification for Version 2.0 made by Kalaron, although the project had been started before Version 2.0's release. Its goal is to provide an alternative SRB2 engine for both players and modders alike. 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 has been extensively improved and new features have been added for it. Since many of these features only work in OpenGL, Software rendering is unsupported. The game automatically launches in OpenGL, but Software rendering can still be enabled by launching the SRB2CB with the -software command line parameter.

Revamped OpenGL renderer:

  • OpenGL mode is capable of displaying nearly all level effects with little to no visual errors.
  • Render optimizations: you can look in all directions with no disappearing objects and the framerate got a 300% boost compared to SRB2's default OpenGL renderer.
  • Much richer colormap effects
  • Coronas.
  • Sprite shadows that stay in one direction (enabled using shadows 1 in the console).

OpenGL tips:

  • Turning fog mode on is recommended.
  • Fog density of at least 64 is also recommended (console gr_fogdensity 64).
  • The game automatically starts in OpenGL mode.
  • If the game gives an error when you start it up in windowed mode, try running it in full screen, or try changing SRB2CB's resolution in your config.cfg file or autoexec.cfg file.

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. 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 (see below). Special collision and momentum-based physics for slopes are also implemented. However, rendering of the slopes is exclusive to OpenGL.

Known issues as of SRB2CB v1.1:

  • SRB2CB does not account for the vertical linedef offsets of the walls in a sloped sector.
  • Sloped FOFs are only 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 that have been programmed to play Co-op and Match, but don't support Race, CTF and Tag. Bots were first introduced in SRB2JTE, but their artificial intelligence has been vastly improved for SRB2CB.

In SRB2CB, they use their abilities in Coop mode and are just a bit smarter in Match mode, they are also stable and are a lot less likely to crash the game. However, Knuckles bots can't climb up walls.

Single Player and Coop

  • Not fully working on Single Player. Forcing the game to add them (see addbot) will make the game stop recording data.
  • They follow the player.
  • They can be helpful. For example, Tails bot can be useful to fly the player over obstacles, just like in S3&K.
  • They can collect rings and destroy enemies. They don't go for monitors, but they still can break them.

Multiplayer

  • General: collect rings and break monitors, but they can't use weapons or emeralds (unless a Recycler Monitor is broken).
  • Match and Team Match: they fight the player and each other, even in team match.
  • CTF: they can't join the game by their own unless server or game admin enforce it. The team system is not working properly.
  • Race: they behave like in Co-op, therefore, no actual race.
  • Tag and Hide & Seek: They can't join the game by their own unless server or game admin enforce it. Once joined, they behave like in Match. Tagged bots still try to shoot each other.

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

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.
  • Custom character MD2s and 'on the fly' MD2s are also supported. It's possible to use multiple player MD2s at the same time. 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 Version 2.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.
  • A motion blur visual effect is now applied (exclusively to OpenGL) 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.
  • 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

  1. SRB2 Doom Builder 2.0 - SRB2 Message Board