QBSP(1) General Commands Manual QBSP(1)
NAME
qbsp - Compile a Quake BSP file from a MAP source file
SYNOPSIS
qbsp [OPTION]... SOURCFILE [DESTFILE]
DESCRIPTION
qbsp is a tool used in the creation of maps for the id Software game
Quake. qbsp takes a .map file as input and produces a .bsp file
playable in the Quake engine. If the DESTFILE argument is not sup-
plied, the output filename will be chosen by stripping the file exten-
sion (if any) from SOURCEFILE and appending the .bsp extension.
OPTIONS
-nofill
Doesn't perform outside filling
-noclip
Doesn't build clip hulls
-noskip
Doesn't remove faces using the 'skip' texture
-onlyents
Only updates .map entities
-verbose
Print out more .map information
-noverbose
Print out almost no information at all
-splitspecial
Doesn't combine sky and water faces into one large face
-transwater
Computes portal information for transparent water (default)
-notranswater
Computes portal information for opaque water
-transsky
Computes portal information for transparent sky
-oldaxis
Uses original qbsp texture alignment algorithm
-forcegoodtree (experimental)
Force use of expensive processing for SolidBSP stage. Often re-
sults in a more optimal BSP file in terms of file size, at the
expense of extra processing time.
-bspleak
Creates a .por file, used in the BSP editor
-oldleak
Create an old-style QBSP .PTS file (default is new)
-nopercent
Prevents output of percent completion information
-bsp2 Create the output BSP file in BSP2 format. Allows the creation
of much larger and more complex maps than the original BSP 29
format).
-2psb Create the output BSP file in 2PSB format. This an earlier ver-
sion of the BSP2 format, supported by the RMQ engine (and thus
is also known as the BSP2rmq or RMQe bsp format). original BSP
29 format).
-leakdist [n]
Space between leakfile points (default 2)
-subdivide [n]
Use different texture subdivision (default 240)
-wadpath
Search this directory for wad files (default is cwd)
SPECIAL TEXTURE NAMES
The contents inside a brush depend on the texture name(s) assigned to
it.
By default brush contents are solid unless they have a special name.
Names beginning with an asterisk are liquids. A prefix of *slime indi-
cates slime, *lava is for lava and anything else beginning with * will
have contents as water.
All faces of a brush must have textures which indicate the same con-
tents. Mixed content types will cause qbsp to print an error and exit.
SKIP
Any surfaces assigned a texture name of skip will be compiled into the
bsp as invisible surfaces. Solid surfaces will still be solid (e.g.
the play can't walk or shoot through them) but they will not be drawn.
Water, slime and lava surfaces can be made invisible using the texture
names *waterskip, *slimeskip and *lavaskip respectively.
HINT
Hint surfaces cause a bsp split and portal to be generated the on the
surface plane, after which they are removed from the final bsp - they
are neither visible, nor structural. Strategic placement of hint sur-
faces can be used by a map author to optimise the PVS calculations so
as to limit overdraw by the engine (see also: vis(1)).
Use a texture with the name hintskip on any surfaces of a hint brush
which you don't want to generate bsp splits or portals. All surfaces
of a hint brush must use either the hint or hintskip texture name.
DETAIL BRUSH SUPPORT
This version of qbsp supports detail brushes which are similar in con-
cept to Quake 2's detail brushes.
To be compatible with existing Quake 1 mapping tools, detail brushes
can be added by creating an entity with classname "func_detail". When
qbsp reads the map file, it will add any brushes included in a func_de-
tail entity into the worldspawn as details and remove the func_detail
entity. Any number of func_detail entities can be used (useful for
grouping) and all included brushes will be added to the worldspawn.
Here is an example entity definition suitable to add the the .QC files
used by BSP Editor:
/*QUAKED func_detail (0.5 0.5 0.9) ?
Detail brushes add visual details to
the world, but do not block visibility.
func_detail entities are merged into
the worldspawn entity by the qbsp compiler
and do not appear as separate entities in
the compiled bsp.
*/
For WorldCraft in .FGD format (untested):
@SolidClass color(128 128 230) = func_detail: "Detail" []
For Radiant in .ENT format:
Detail brushes add visual details to the world, but do not
block visibility. func_detail entities are merged into the
worldspawn entity by the qbsp compiler and do not appear as
separate entities in the compiled bsp.
What should be written to the .map file is a simple entity with one or
more brushes. E.g.:
{
"classname" "func_detail"
{
( -176 80 0 ) ( -208 80 0 ) ( -208 48 0 ) COP1_1 0 0 0 1.0 1.0
( -192 -80 64 ) ( -208 -80 0 ) ( -192 -64 64 ) COP1_1 0 0 0 1.0 1.0
( -176 -80 0 ) ( -192 -80 64 ) ( -176 -64 0 ) COP1_1 0 0 0 1.0 1.0
( -16 48 0 ) ( -16 64 64 ) ( 0 48 0 ) COP1_1 0 0 0 1.0 1.0
( -16 64 64 ) ( -16 80 0 ) ( 0 64 64 ) COP1_1 0 0 0 1.0 1.0
}
}
When qbsp detects detail brushes, it outputs a modified portal file
format with the header PRT2 (default is PRT1). This portal file con-
tains extra information needed by vis to compute the potentially visi-
ble set (PVS) for the map/bsp. So you will also need a vis util capa-
ble of processing the PRT2 file format.
MAP COMPATIBILITY
In addition to standard Quake 1 .map files, TyrUtils QBSP is compatible
with:
o Floating point brush coordinates and texture alignments
o Valve's 220 map format as produced by the Hammer editor
o Extended texture positioning as supported by the QuArK editor
o Standard Quake 2 map format (leading paths in texture names are
stripped and any extra surface properties are ignored)
AUTHOR
Written by Kevin Shanahan (aka Tyrann)
Based on source provided by id Software and Greg Lewis
http://disenchant.net
REPORTING BUGS
Please send bug reports to tyrann@disenchant.net.
Improvements to the documentation are welcome and encouraged.
COPYRIGHT
Copyright (C) 2013 Kevin Shanahan
Copyright (C) 1997 Greg Lewis
Copyright (C) 1997 id Software
License GPLv2+: GNU GPL version 2 or later
.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
light(1) vis(1) bspinfo(1) bsputil(1) quake(6)
TYRUTILS 2013-12-24 v0.17-3-ga0787d8 QBSP(1)