Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!

QBSP

From Quake Wiki

Revision as of 03:14, 23 January 2021 by 220.253.14.64 (talk) (Some simple advice for a basic problem I recently had.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

What QBSP Does[edit]

QBSP is the first stage of map compiling. It is the process that reads the map file and generates the bsp file, and in doing so calculates all of the geometry and collision data for the level. It also extracts any needed textures from the associated wad file (or files) and repackages them into the bsp file. After this step, the level can be loaded into the game engine. However, it will not have any lighting or visibility data until you run Light and Vis.

How QBSP Does It[edit]

Using the brushes from the map file's worldspawn entity, it calculates the bsp tree that stores all visible surfaces in the game. It also generates the collision hulls, which are also bsp trees but do not have any visible surfaces, and are only used for collision detection. For each additional entity that has brushes, it generates a submodel which also has its own collision hulls. Any textures needed by the level are copied into the bsp file from the associated wad files. At runtime, the engine will load textures from the bsp, not the wad files.

QBSP also generates a prt file containing the portal information necessary for Vis to run. The prt file is not needed or used by the game engine. If a map has a leak, QBSP will generate a pointfile instead of a prt file. This file can be used by the game engine to display a visual trail of particles showing you where the leak is. If a map has multiple leaks, QBSP will only find the first one.

Using QBSP[edit]

QBSP is a command-line tool, generally named qbsp.exe. You can invoke it from a command prompt, via a shortcut or batch file, or from the "compile" or "build" menus of some level editors.

Command-line options[edit]

This is for you if you're struggling finding out how to use the command line tools from tyrutils on linux due to lack of information and guides out there. The only ones I've even read about are focused on the windows GUI version with the three tools in one package. You can find QBSP, Light and Vis already compiled for you in the bin folder.

To find out any of their options, just execute them in the terminal.

./qsbp
./vis
./light

These will echo out a bunch of options for you to choose from. Works just like the windows version, you convert the .map with QSBP first and then light. You only need Vis for debugging and larger levels so if you're starting out, don't worry about it for now.

Sorry for lack of explanation, I covered it as briefly as I could and it's not at all that difficult.

Error Messages and Warnings[edit]

WARNING 16: Texture ______ not found[edit]

Open the .map file in a text editor and note the "wad" path. Verify this path is correct.

You may have problems due to spaces in file names. Fix the path using underscores "_" or hyphens "-", then re-add the textures into your mapping tool.

Try using absolute paths (/path/to/file.wad), instead of relative paths (../../file.wad)

Updated Versions[edit]

In addition to id Software's official QBSP, there have been various unofficial versions that improve on the original or add additional features. For a list of QBSP variants, see mapping tools.