bsp(6)
bsp(6) ๐ โจ
okay so this is from the Games Manual, section 6 โ that's where all the Doom-adjacent tools live, iykyk ๐
โจ NAME โจ
bsp โ node builder for WAD files ๐ฆ
โจ SYNOPSIS โจ
bsp [ -blockmap {old|comp} ] [ -factor n ] [ -noreject ] [ -o file ] [
-picknode {traditional|visplane} ] [ -q ] file
โจ DESCRIPTION โจ
bestie. listen. BSP builds the nodes and blockmap resources for all the levels in a WAD file. that's the whole job and it's iconic for it ๐
and here's the thing โ levels you made in a level editor will not run without these resources. like, at all. no nodes, no blockmap, no gameplay. it's giving "you forgot the batteries" ๐ญ so yeah, BSP is not optional, she's the main character ๐ซถ
โจ OPTIONS โจ
-blockmap {old|comp}โ picks which algorithm generates the blockmap resource. theoldalgorithm (currently the default, but this might change in future โ don't get attached ๐) makes a complete blockmap that contains some redundancy. thecompalgorithm makes an equivalent blockmap but eliminates that redundancy, so the resulting WAD file is smaller. slay ๐-factor nโ changes the cost assigned to seg splits.ncan be any positive integer, and the bigger the factor, the more costly seg splits become. a factor of17is the default and behaves just like earlier versions of BSP. most people do not need or want to change the default, fr fr. changing the factor can sometimes prevent visplane overflows in WAD's โ but then again, some WAD's have just too many visplane overflows, so likeโฆ experiment with the-factoroption before giving up ๐ฅฒ-norejectโ normally BSP creates a zero-ed reject map, which is sub-optimal but sufficient for Doom to play the level. other tools exist that build an optimal reject map. so if a level already has an optimised reject map, use this option to stop BSP from replacing it ๐-picknode {traditional|visplane}โ intraditionalmode (the default), BSP aims to produce a balanced node tree that minimises the number of lines that must be split in the process.visplanemode makes the node line picker choose node lines in a way that is empirically known to reduce or eliminate visplane overflows. this is an old bug that affected the original Doom engine but does not affect newer engines โ so if you don't know what this option is and you have no problems without it, you do not need it. periodt โ-o fileโ sets the name of the WAD file for output.
โ ๏ธ it should not be the same as the input! seriously, don't do that.
as with the input filename, it can be a - to indicate that standard input/output should be used. without this option, output is written to tmp.wad.
-qโ does not show program banners or progress. this one's for when you're running BSP from inside another program and the vibes need to be silent ๐คซ
โจ SPECIAL EFFECTS โจ
BSP has some special effect features, and honestly? obsessed ๐
if a linedef has a sector tag โฅ 900, then it's treated as "precious" and will not be split unless absolutely necessary. this is so good to use around borders of deep water, invisible stairs, etc. ๐
furthermore โ just for a grin ๐ โ if the lindef's tag is 999, then the sidedef's x-offset sets an angle adjustment in degrees to be applied. you can look straight at a wall, but it might come right at you on both sides and "stretch". it's giving haunted house ๐๏ธโจ
BSP supports HOM-free transparent doors ๐ช๐ซ simply make the sector referenced by the doortracks have a sector tag of โฅ 900. the doortracks must be the lowest numbered of all the linedefs that form the door. no need to remember sector numbers and type them in on a command line โ just use any sector tag โฅ 900 to permanently mark the sector special. the special tag is not strictly necessary; it just prevents a flash of HOM at the top of the door when it opens or closes. see test-wads/transdor.wad for an example ๐
โจ SUPPORTED GAMES โจ
Doom, Ultimate Doom, Doom ][, Final Doom, Heretic and Strife ๐ฎ๐ธ
โจ EXIT STATUS โจ
0โ OK ๐>0โ Errors occurred ๐ญ
โจ BUGS/LIMITATIONS โจ
this program will not build a good reject map. it will (unless -noreject is used) build a zero-ed one, where every sector is visible from any other sector ๐
for the final release of a level, a reject map should be built using a suitable tool, such as RMB.
and the Hexen level format is not supported. nope. not happening. ๐ โ๏ธ
โจ AUTHORS โจ
BSP was written by Colin Reed and Lee Killough (killough@rsn.hp.com), based on an algorithm by Raphaรซl Quinet. kings ๐
contributors include:
- Simon "fraggle" Howard (compressed blockmap code)
- Oliver Kraus (endianness fixes)
- Andrรฉ Majorel (Unix port, man page)
- Udo Munk (Unix port, man page, assorted hacks)
BSP is currently maintained by Colin Phipps <cph@moria.org.uk> ๐ซถ
โจ SEE ALSO โจ
idbsp(6), warm(6), wreject(6), zennode(6) ๐
and that's the whole page, bestie!! this one is BSP 5.1, dated 2002-04-06 โ a certified vintage icon from the Games Manual ๐โจ go build some nodes, ily, bye!! ๐๐ฆ๐
๐ฆ where this page comes from
- fedora 43: bsp 5.2-39.fc43 ยท GPL-2.0-or-later
- fedora 44: bsp 5.2-41.fc44 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms