Difference between revisions of "VBSP"

From Valve Developer Community
Jump to: navigation, search
m (Add otherlang2 with link to russian translation)
(Added "Console output" header + some another changes with headers)
Line 20: Line 20:
 
{{bug|<code>.mdl</code> files that have the <code>IDST1</code> header will fail to load for VBSP, see [[VRAD]]'s bugs.}}
 
{{bug|<code>.mdl</code> files that have the <code>IDST1</code> header will fail to load for VBSP, see [[VRAD]]'s bugs.}}
  
== Syntax ==
+
== Launch options ==
 +
=== Syntax ===
  
 
  vbsp [options...] vmf_file
 
  vbsp [options...] vmf_file
Line 30: Line 31:
 
This will re-embed the entity block without affecting the world.
 
This will re-embed the entity block without affecting the world.
  
== Common options ==
+
=== Common options ===
  
 
{{Note|<code>-onlyents</code> and <code>-keepstalezip</code> 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.}}
 
{{Note|<code>-onlyents</code> and <code>-keepstalezip</code> 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.}}
Line 56: Line 57:
 
: Embed the contents of <directory> in the packfile
 
: Embed the contents of <directory> in the packfile
  
== Advanced options ==
+
=== Advanced options ===
  
 
{{ColumnBox|count=2|
 
{{ColumnBox|count=2|
Line 115: Line 116:
 
}}
 
}}
  
== Nonfunctional Options ==
+
=== Nonfunctional Options ===
  
 
; <code>-linuxdata</code>
 
; <code>-linuxdata</code>
Line 125: Line 126:
 
; <code>-xbox</code>
 
; <code>-xbox</code>
 
: Enable mandatory Xbox 1 optimisation.
 
: Enable mandatory Xbox 1 optimisation.
 +
 +
== Console output ==
 +
{{todo|Add description about every output (WriteBSP, other)}}
 +
  
 
== See also ==
 
== See also ==

Revision as of 05:30, 29 May 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:

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

Bug: .mdl files that have the IDST1 header will fail to load for VBSP, see VRAD's bugs.

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:-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
To do: 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.

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

To do: Add description about every output (WriteBSP, other)


See also