VBSP: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(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

Template:Otherlang2

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:

While the resulting BSP file can be played directly it has no visibility control (poor performance) and no lighting.

Icon-Bug.pngBug:In non-L4D branch games, .mdl files that have the IDST1 header will fail to load for VBSP, see VRAD's bugs.  [todo tested in ?]

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

Note.pngNote:-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