445 lines
13 KiB
HTML
445 lines
13 KiB
HTML
<!-- Creator : groff version 1.19.2 -->
|
|
<!-- CreationDate: Thu Sep 17 00:05:30 2015 -->
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
|
<meta name="Content-Style" content="text/css">
|
|
<style type="text/css">
|
|
p { margin-top: 0; margin-bottom: 0; }
|
|
pre { margin-top: 0; margin-bottom: 0; }
|
|
table { margin-top: 0; margin-bottom: 0; }
|
|
</style>
|
|
<title>QBSP</title>
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<h1 align=center>QBSP</h1>
|
|
|
|
<a href="#NAME">NAME</a><br>
|
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
|
<a href="#OPTIONS">OPTIONS</a><br>
|
|
<a href="#SPECIAL TEXTURE NAMES">SPECIAL TEXTURE NAMES</a><br>
|
|
<a href="#DETAIL BRUSH SUPPORT">DETAIL BRUSH SUPPORT</a><br>
|
|
<a href="#MAP COMPATIBILITY">MAP COMPATIBILITY</a><br>
|
|
<a href="#AUTHOR">AUTHOR</a><br>
|
|
<a href="#REPORTING BUGS">REPORTING BUGS</a><br>
|
|
<a href="#COPYRIGHT">COPYRIGHT</a><br>
|
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
|
|
|
<hr>
|
|
|
|
|
|
<a name="NAME"></a>
|
|
<h2>NAME</h2>
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">qbsp −
|
|
Compile a Quake BSP file from a MAP source file</p>
|
|
|
|
<a name="SYNOPSIS"></a>
|
|
<h2>SYNOPSIS</h2>
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>qbsp</b>
|
|
[OPTION]... SOURCFILE [DESTFILE]</p>
|
|
|
|
<a name="DESCRIPTION"></a>
|
|
<h2>DESCRIPTION</h2>
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>qbsp</b> is
|
|
a tool used in the creation of maps for the <b>id
|
|
Software</b> game <b>Quake</b>. qbsp takes a .map file as
|
|
input and produces a .bsp file playable in the Quake engine.
|
|
If the <i>DESTFILE</i> argument is not supplied, the output
|
|
filename will be chosen by stripping the file extension (if
|
|
any) from <i>SOURCEFILE</i> and appending the .bsp
|
|
extension.</p>
|
|
|
|
<a name="OPTIONS"></a>
|
|
<h2>OPTIONS</h2>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>−nofill</b></p>
|
|
|
|
<p style="margin-left:22%;">Doesn’t perform outside
|
|
filling</p>
|
|
|
|
<p style="margin-left:11%;"><b>−noclip</b></p>
|
|
|
|
<p style="margin-left:22%;">Doesn’t build clip
|
|
hulls</p>
|
|
|
|
<p style="margin-left:11%;"><b>−noskip</b></p>
|
|
|
|
<p style="margin-left:22%;">Doesn’t remove faces
|
|
using the ’skip’ texture</p>
|
|
|
|
<p style="margin-left:11%;"><b>−onlyents</b></p>
|
|
|
|
<p style="margin-left:22%;">Only updates .map entities</p>
|
|
|
|
<p style="margin-left:11%;"><b>−verbose</b></p>
|
|
|
|
<p style="margin-left:22%;">Print out more .map
|
|
information</p>
|
|
|
|
<p style="margin-left:11%;"><b>−noverbose</b></p>
|
|
|
|
<p style="margin-left:22%;">Print out almost no information
|
|
at all</p>
|
|
|
|
<p style="margin-left:11%;"><b>−splitspecial</b></p>
|
|
|
|
<p style="margin-left:22%;">Doesn’t combine sky and
|
|
water faces into one large face</p>
|
|
|
|
<p style="margin-left:11%;"><b>−transwater</b></p>
|
|
|
|
<p style="margin-left:22%;">Computes portal information for
|
|
transparent water (default)</p>
|
|
|
|
<p style="margin-left:11%;"><b>−notranswater</b></p>
|
|
|
|
<p style="margin-left:22%;">Computes portal information for
|
|
opaque water</p>
|
|
|
|
<p style="margin-left:11%;"><b>−transsky</b></p>
|
|
|
|
<p style="margin-left:22%;">Computes portal information for
|
|
transparent sky</p>
|
|
|
|
<p style="margin-left:11%;"><b>−nooldaxis</b></p>
|
|
|
|
<p style="margin-left:22%;">Use alternate texture alignment
|
|
algorithm. The default is to use the original QBSP texture
|
|
alignment algorithm, which required the -oldaxis switch in
|
|
tyrutils-ericw v0.15.1 and earlier.</p>
|
|
|
|
<p style="margin-left:11%;"><b>−forcegoodtree</b>
|
|
(experimental)</p>
|
|
|
|
<p style="margin-left:22%;">Force use of expensive
|
|
processing for SolidBSP stage. Often results in a more
|
|
optimal BSP file in terms of file size, at the expense of
|
|
extra processing time.</p>
|
|
|
|
<p style="margin-left:11%;"><b>−bspleak</b></p>
|
|
|
|
<p style="margin-left:22%;">Creates a .por file, used in
|
|
the BSP editor</p>
|
|
|
|
<p style="margin-left:11%;"><b>−oldleak</b></p>
|
|
|
|
<p style="margin-left:22%;">Create an old-style QBSP .PTS
|
|
file (default is new)</p>
|
|
|
|
<p style="margin-left:11%;"><b>−nopercent</b></p>
|
|
|
|
<p style="margin-left:22%;">Prevents output of percent
|
|
completion information</p>
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
cellspacing="0" cellpadding="0">
|
|
<tr valign="top" align="left">
|
|
<td width="11%"></td>
|
|
<td width="7%">
|
|
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top"><b>−bsp2</b></p> </td>
|
|
<td width="4%"></td>
|
|
<td width="78%">
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top">Create the output
|
|
BSP file in BSP2 format. Allows the creation of much larger
|
|
and more complex maps than the original BSP 29 format).</p></td>
|
|
<tr valign="top" align="left">
|
|
<td width="11%"></td>
|
|
<td width="7%">
|
|
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top"><b>−2psb</b></p> </td>
|
|
<td width="4%"></td>
|
|
<td width="78%">
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top">Create the output
|
|
BSP file in 2PSB format. This an earlier version 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).</p> </td>
|
|
</table>
|
|
|
|
<p style="margin-left:11%;"><b>−leakdist [n]</b></p>
|
|
|
|
<p style="margin-left:22%;">Space between leakfile points
|
|
(default 2)</p>
|
|
|
|
<p style="margin-left:11%;"><b>−subdivide [n]</b></p>
|
|
|
|
<p style="margin-left:22%;">Use different texture
|
|
subdivision (default 240)</p>
|
|
|
|
<p style="margin-left:11%;"><b>−wadpath
|
|
<dir></b></p>
|
|
|
|
<p style="margin-left:22%;">Search this directory for wad
|
|
files (default is cwd)</p>
|
|
|
|
<p style="margin-left:11%;"><b>−oldrottex</b></p>
|
|
|
|
<p style="margin-left:22%;">Use old method of texturing
|
|
rotate_ brushes where the mapper aligns textures for the
|
|
object at (0 0 0).</p>
|
|
|
|
<p style="margin-left:11%;"><b>−maxNodeSize
|
|
[n]</b></p>
|
|
|
|
<p style="margin-left:22%;">Switch to the cheap spatial
|
|
subdivion bsp heuristic when splitting nodes of this size
|
|
(in any dimension). This gives much faster qbsp processing
|
|
times on large maps and should generate better bsp trees as
|
|
well. From txqbsp-xt, thanks rebb. (default 1024, 0 to
|
|
disable)</p>
|
|
|
|
<a name="SPECIAL TEXTURE NAMES"></a>
|
|
<h2>SPECIAL TEXTURE NAMES</h2>
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">The contents
|
|
inside a brush depend on the texture name(s) assigned to
|
|
it.</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">By default
|
|
brush contents are solid unless they have a special name.
|
|
Names beginning with an asterisk are liquids. A prefix of
|
|
<i>*slime</i> indicates slime, <i>*lava</i> is for lava and
|
|
anything else beginning with <i>*</i> will have contents as
|
|
water.</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">All faces of a
|
|
brush must have textures which indicate the same contents.
|
|
Mixed content types will cause qbsp to print an error and
|
|
exit.</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>SKIP</b>
|
|
<br>
|
|
Any surfaces assigned a texture name of <i>skip</i> 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
|
|
<i>*waterskip</i>, <i>*slimeskip</i> and <i>*lavaskip</i>
|
|
respectively.</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>HINT</b>
|
|
<br>
|
|
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 surfaces can be used by a map
|
|
author to optimise the PVS calculations so as to limit
|
|
overdraw by the engine (see also: <b>vis</b>(1)).</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Use a texture
|
|
with the name <i>hintskip</i> 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
|
|
<i>hint</i> or <i>hintskip</i> texture name.</p>
|
|
|
|
<a name="DETAIL BRUSH SUPPORT"></a>
|
|
<h2>DETAIL BRUSH SUPPORT</h2>
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">This version of
|
|
qbsp supports detail brushes which are similar in concept to
|
|
Quake 2’s detail brushes.</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">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_detail 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.</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Here is an
|
|
example entity definition suitable to add the the .QC files
|
|
used by BSP Editor:</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">/*QUAKED
|
|
func_detail (0.5 0.5 0.9) ? <br>
|
|
Detail brushes add visual details to <br>
|
|
the world, but do not block visibility. <br>
|
|
func_detail entities are merged into <br>
|
|
the worldspawn entity by the qbsp compiler <br>
|
|
and do not appear as separate entities in <br>
|
|
the compiled bsp. <br>
|
|
*/</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">For WorldCraft
|
|
in .FGD format (untested):</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">@SolidClass
|
|
color(128 128 230) = func_detail: "Detail" []</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">For Radiant in
|
|
.ENT format:</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><group
|
|
name="func_detail" color="0 .5 .8">
|
|
<br>
|
|
Detail brushes add visual details to the world, but do not
|
|
<br>
|
|
block visibility. func_detail entities are merged into the
|
|
<br>
|
|
worldspawn entity by the qbsp compiler and do not appear as
|
|
<br>
|
|
separate entities in the compiled bsp. <br>
|
|
</group></p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">What should be
|
|
written to the .map file is a simple entity with one or more
|
|
brushes. E.g.:</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">{ <br>
|
|
"classname" "func_detail" <br>
|
|
{ <br>
|
|
( -176 80 0 ) ( -208 80 0 ) ( -208 48 0 ) COP1_1 0 0 0 1.0
|
|
1.0 <br>
|
|
( -192 -80 64 ) ( -208 -80 0 ) ( -192 -64 64 ) COP1_1 0 0 0
|
|
1.0 1.0 <br>
|
|
( -176 -80 0 ) ( -192 -80 64 ) ( -176 -64 0 ) COP1_1 0 0 0
|
|
1.0 1.0 <br>
|
|
( -16 48 0 ) ( -16 64 64 ) ( 0 48 0 ) COP1_1 0 0 0 1.0 1.0
|
|
<br>
|
|
( -16 64 64 ) ( -16 80 0 ) ( 0 64 64 ) COP1_1 0 0 0 1.0 1.0
|
|
<br>
|
|
} <br>
|
|
}</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">When qbsp
|
|
detects detail brushes, it outputs a modified portal file
|
|
format with the header PRT2 (default is PRT1). This portal
|
|
file contains extra information needed by vis to compute the
|
|
potentially visible set (PVS) for the map/bsp. So you will
|
|
also need a vis util capable of processing the PRT2 file
|
|
format.</p>
|
|
|
|
<a name="MAP COMPATIBILITY"></a>
|
|
<h2>MAP COMPATIBILITY</h2>
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">In addition to
|
|
standard Quake 1 .map files, TyrUtils QBSP is compatible
|
|
with:</p>
|
|
|
|
<table width="100%" border=0 rules="none" frame="void"
|
|
cellspacing="0" cellpadding="0">
|
|
<tr valign="top" align="left">
|
|
<td width="11%"></td>
|
|
<td width="1%">
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top">•</p></td>
|
|
<td width="10%"></td>
|
|
<td width="78%">
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top">Floating point
|
|
brush coordinates and texture alignments</p></td>
|
|
<tr valign="top" align="left">
|
|
<td width="11%"></td>
|
|
<td width="1%">
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top">•</p></td>
|
|
<td width="10%"></td>
|
|
<td width="78%">
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top">Valve’s 220
|
|
map format as produced by the <i>Hammer</i> editor</p></td>
|
|
<tr valign="top" align="left">
|
|
<td width="11%"></td>
|
|
<td width="1%">
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top">•</p></td>
|
|
<td width="10%"></td>
|
|
<td width="78%">
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top">Extended texture
|
|
positioning as supported by the <i>QuArK</i> editor</p></td>
|
|
<tr valign="top" align="left">
|
|
<td width="11%"></td>
|
|
<td width="1%">
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top">•</p></td>
|
|
<td width="10%"></td>
|
|
<td width="78%">
|
|
|
|
|
|
<p style="margin-top: 1em" valign="top">Standard Quake 2
|
|
map format (leading paths in texture names are stripped and
|
|
any extra surface properties are ignored)</p></td>
|
|
</table>
|
|
|
|
<a name="AUTHOR"></a>
|
|
<h2>AUTHOR</h2>
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Written by
|
|
Kevin Shanahan (aka Tyrann) <br>
|
|
Based on source provided by id Software and Greg Lewis <br>
|
|
http://disenchant.net</p>
|
|
|
|
<a name="REPORTING BUGS"></a>
|
|
<h2>REPORTING BUGS</h2>
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Please send bug
|
|
reports to tyrann@disenchant.net. <br>
|
|
Improvements to the documentation are welcome and
|
|
encouraged.</p>
|
|
|
|
<a name="COPYRIGHT"></a>
|
|
<h2>COPYRIGHT</h2>
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Copyright (C)
|
|
2013 Kevin Shanahan <br>
|
|
Copyright (C) 1997 Greg Lewis <br>
|
|
Copyright (C) 1997 id Software <br>
|
|
License GPLv2+: GNU GPL version 2 or later <br>
|
|
<http://gnu.org/licenses/gpl2.html>.</p>
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">This is free
|
|
software: you are free to change and redistribute it. There
|
|
is NO WARRANTY, to the extent permitted by law.</p>
|
|
|
|
<a name="SEE ALSO"></a>
|
|
<h2>SEE ALSO</h2>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>light</b>(1)
|
|
<b>vis</b>(1) <b>bspinfo</b>(1) <b>bsputil</b>(1)
|
|
<b>quake</b>(6)</p>
|
|
<hr>
|
|
</body>
|
|
</html>
|