bsp(6)

๐Ÿ“ฆ version 5.2, in fedora 43, fedora 44

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. the old algorithm (currently the default, but this might change in future โ€” don't get attached ๐Ÿ’€) makes a complete blockmap that contains some redundancy. the comp algorithm 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. n can be any positive integer, and the bigger the factor, the more costly seg splits become. a factor of 17 is 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 -factor option 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} โ€” in traditional mode (the default), BSP aims to produce a balanced node tree that minimises the number of lines that must be split in the process. visplane mode 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