VBSP: Difference between revisions
Jump to navigation
Jump to search
Note:
(Added "Console output" header + some another changes with headers) |
(Added -StaticPropCombine, -StaticPropCombine_AutoCombine, and -StaticPropCombine_MinInstances.) |
||
Line 18: | Line 18: | ||
While the resulting BSP file can be played directly it has no visibility control (poor performance) and no lighting. | While the resulting BSP file can be played directly it has no visibility control (poor performance) and no lighting. | ||
{{bug|<code>.mdl</code> files that have the <code>IDST1</code> header will fail to load for VBSP, see [[VRAD]]'s bugs.}} | {{bug|In non-L4D branch games, <code>.mdl</code> files that have the <code>IDST1</code> header will fail to load for VBSP, see [[VRAD]]'s bugs.}} | ||
== Launch options == | == Launch options == | ||
Line 114: | Line 114: | ||
; <code>-FullMinidumps</code> | ; <code>-FullMinidumps</code> | ||
: Write large minidumps on crash. | : Write large minidumps on crash. | ||
; | |||
; {{CSGO add|<code>-StaticPropCombine</code>}} | |||
: Merges [[prop_static]]s together to form one static prop. This is a way to keep the number of static props present in a map down. See <code>scripts/hammer/spcombinerules/spcombinerules.txt</code> for examples of how it works. | |||
; {{CSGO add|<code>-StaticPropCombine_AutoCombine</code>}} | |||
: {{todo|Find out what this does. Valve usually has this set along with -StaticPropCombine.}} | |||
; {{CSGO add|<code>-StaticPropCombine_MinInstances</code>}} | |||
: {{confirm|Minimum amount of grouped up static props needed to start combining them together? Valve had this set to 3 for the new Dust 2.}} | |||
}} | }} | ||
Revision as of 16:59, 27 June 2018
VBSP is the tool that compiles a raw VMF file into the Binary Space Partition format. It is generally followed by VVIS and VRAD.
VBSP does:
- convert brushes to polygons
- generate visleaves
- generate detail props
- swallow most internal entities into the world
- replace specular materials with patched versions that link to the nearest cubemap
- embed the entity block
While the resulting BSP file can be played directly it has no visibility control (poor performance) and no lighting.
Launch options
Syntax
vbsp [options...] vmf_file
For example:
"Half-Life 2\bin\vbsp.exe" -onlyents sdk_trainstation_01
This will re-embed the entity block without affecting the world.
Common options

-onlyents
and -keepstalezip
will mark the map as stale by embedding the file stale.txt into the BSP. Loading stale maps in the engine will cause a "This map is not final!!" warning message in the console.-v
-verbose
- Turn on verbose output (also shows more command-line options). Use without any other parameters.
-onlyents
- Only import the entities from the VMF. Brushes and internal entities are not modified. Conserves existing lighting data.
-onlyprops
- Only update static and detail props (i.e. the internal entities). Does not generate a .prt file, making VVIS fail!
-glview
- Writes glview data to the VMF's directory.
-tmpout
will cause the files will be written to\tmp
instead. -nodetail
- Removes func_detail brushes. The geometry left over is what affects visibility.
-nowater
- Get rid of water brushes.
-low
- Run as an idle-priority process.
-vproject <directory>
- Override the VPROJECT environment variable.
-game <directory>
- Specify the folder of the
gameinfo.txt
file -embed <directory>
- Embed the contents of <directory> in the packfile
Advanced options
-novconfig
- Don't bring up graphical UI on vproject errors.
-threads
- Control the number of threads vbsp uses (defaults to the # of processors (times 2 for Hypertreading/SMT CPU's) on your machine).
-verboseentities
- If -v is on, this disables verbose output for submodels.
-noweld
- Don't join face vertexes together.
-nocsg
- Don't chop out intersecting brush areas.
-noshare
- Emit unique face edges instead of sharing them.
-notjunc
- Don't fixup t-junctions.
-noopt
- By default, vbsp removes the 'outer shell' of the map, which are all the faces you can't see because you can never get outside the map. -noopt disables this behavior.
-noprune
- Don't prune neighboring solid nodes.
-nomerge
- Don't merge together chopped faces on nodes.
-nomergewater
- Don't merge together chopped faces on water.
-nosubdiv
- Don't subdivide faces for lightmapping.
-micro <#>
- vbsp will warn when brushes are output with a volume less than this number (default: 1.0).
-fulldetail
- Mark all detail geometry as normal geometry (so all detail geometry will affect visibility).
-leaktest
- Stop processing the map if a leak is detected. Whether or not this flag is set, a leak file will be written out at <vmf filename>.lin, and it can be imported into Hammer.
-bumpall
- Force all surfaces to be bump mapped.
-snapaxial
- Snap axial planes to integer coordinates.
-block # #
- Control the grid size mins that vbsp chops the level on.
-blocks # # # #
- Enter the mins and maxs for the grid size vbsp uses.
-dumpstaticprops
- Dump static props to staticprop*.txt
-dumpcollide
- Write files with collision info.
-luxelscale #
- Scale all lightmaps by this amount (default: 1.0).
-lightifmissing
- Force lightmaps to be generated for all surfaces even if they don't need lightmaps.
-localphysx
- Todo: Currently unknown.
-keepstalezip
- Keep the BSP's zip files intact but regenerate everything else.
-replacematerials
- Substitute materials according to materialsub.txt in content\maps
-FullMinidumps
- Write large minidumps on crash.
- Template:CSGO add
- Merges prop_statics together to form one static prop. This is a way to keep the number of static props present in a map down. See
scripts/hammer/spcombinerules/spcombinerules.txt
for examples of how it works. - Template:CSGO add
- Todo: Find out what this does. Valve usually has this set along with -StaticPropCombine.
- Template:CSGO add
Confirm:Minimum amount of grouped up static props needed to start combining them together? Valve had this set to 3 for the new Dust 2.
Nonfunctional Options
-linuxdata
- Force it to write physics data for linux multiplayer servers. ( It will automatically write this data if it finds certain entities like info_player_terrorist, info_player_deathmatch, info_player_teamspawn, info_player_axis, or info_player_coop. )
-nolinuxdata
- Force it to not write physics data for linux multiplayer servers, even if there are multiplayer entities in the map.
-virtualdispphysics
- Use virtual (not precomputed) displacement collision models
-xbox
- Enable mandatory Xbox 1 optimisation.
Console output
Todo: Add description about every output (WriteBSP, other)
See also
|