quake2 - QBSP3, QVIS3, QRAD3

- QBSP3, QVIS3, and QRAD3 are the 3 utilities that must be used on a .map file to convert it into a working .bsp file. Looking through the source code I noticed that there were numerous command line parameters for each of the tools. Most of these I have no clue what they do and I am asking that if ANY of you know what any the command line parameters do, please email me and let me know. I want this to be a complete reference that will explain all the command line parameters. To use these command line parameters you just type them after you type the exe name and before the the name of the map or bsp filename. So if we wanteed to run qbsp3 with the nodetail and nomerge command line parameter you would type qbsp3 -nodetail -nomerge nameofmap.map. In the tables below if xx means that a number must be entered after the command line, and abc means a name must be typed. Thanks to marcel for most of these descriptions. Fastest lowest quality compiling setups: qbsp3 -notjunc -noopt qvis3 -fast qrad3 -bounce 0 -chop -nopvs Slowest, highest quality compiling setups: qbsp3 qvis3 qrad3 -bounce 40 -extra
  QBSP3
  > Command Line Parameters
  > -noprune | :If false, combine brushlists of child nodes. Results in larger BSP file and longer compile time.
  > -glview | :Write "<mapname>.gl" file. Dumps the number of points in a plane, the points used to define that plane and the total light on that plane.
  > -nodetail | :doesn't include any detail brushes in the bsp. good for getting an idea of what vis will be processing.
  > -fulldetail | :Make anything with content a detail brush.
  > -onlyents | :only vises entities. Good for when you only make changes to the entities of a level.
  > -nomerge | :If true, do not merge faces that share the same edge on the same plane.
  > -nowater | :remove water, slime, lava brushes
  > -nofill | :Not used in code. It doesn’t do anything.
  > -nocsg | :If true, does not try to reduce intersecting brushes into non-intersecting brushes (does not call ChopBrushes in csg.c). Your BSP file will be larger with this option on.
  > -noweld | :If true, use vertices from dvertexes array. If false, create vertices from a hash table.
  > -noshare | :If true, do not throw out identical edges.
  > -nosubdiv | :If false, subdivide faces that are larger than -chop size.
  > -notjunc | :If true, do not break edges on tjunctions. Setting this to true will decrease compile time. This option should not be used for a final compile.
  > -noopt | :If true, only go thru 1st compiler pass in ProcessWorldModel.
  > -leaktest | :just tests for leaks (really fast, skips alot of seal-dependent processes).
  > -verboseentities | :Prints entity sub model information if verbose is also true. Verbose must also be true to use this information.
  > -threads xx | :Used for computers that have multiple processors.
  > -v | :verbose mode. Prints everything that is going on to the user. Doesn't effect the qbsp process.
  > -chop xx | :If a face is greater than this size, then it will be subdivided unless nosubdivide is true.
  > -block xx | :block_xl & block_yl should be no less than -4. Block_xh & block_yh should be no greater than 3
  > -blocks xx | :I have no idea what this does.
  > -tmpout abc | :Not real sure what this does but I think it saves a temp copy of the bsp file to the directory specified.
  QVIS3
  > Command Line Parameters
  > -fast | :vis the level very quickly. Good for testing a level. Make sure you do a vis -level 4 though when releasing a level.
  > -nosort | :If false, sort portals in increasing value of mightsee variable.
  > -threads xx | :Used for computers with multiple cpus
-level xx | :not used in code
-v | :verbose mode. Lists everything that is going on to the user. Doesn't affect the vis.
-tmpin abc | :Not sure what this does, I believe you can specify where the bsp file is to vis. I have not tested it though
-tmpout abc | :saves a copy of the bsp file that is produced to the directory specified. Not tested.

QRAD3

Command Line Parameters

> -dump | :Dump lighting information to files "bounce0.txt" and "bounce[bounce-1].txt".
> -bounce xx | : Bounce determines the amount of times a light will bounce. By default bounce is 8, after about 38 or 40 it does not make a difference.
> -v | :verbose mode. Lists everything that is going on to the user. Doesn't affect the vis.
> -extra | :Take 5 samples instead of 1. Makes lighting smoother. Takes longer to compile.
> -threads xx | :lets you specify how many threads you want it to use (really only good for multiple cpus).
> -chop xx | :Fast light testing, setting it to -128 will give 1/4 the number of patches to calculate but will result in the loss of "light detail" but be around 4 times as fast (guessing). Another use of it is for a large level with a lot of surface area. Looking in the code it has this "#define MAX_PATCHES 65000 // larger will cause 32 bit overflows" A level I was playing around with, caused an error in qrad "to many patches" or something like that, so I tried -chop 128, and this reduced the number of patches that qrad has to calculate and all was fine. Default 64.(Thanks Brian "Midori" Green)
> -scale xx | :Smaller number equals dimmer light over entire map. Used to normalize light. Default 1.0.
> -direct xx | :Used to scale direct light intensity. default .4
> -entity xx | :Used to scale direct light intensity on the entities. Default 1.0.
> -glview | :Write "<mapname>.glr" file. Dumps the number of points in a plane, the points used to define that plane and the total light on that plane.
> -nopvs | :If on, doesn’t check the PVS bit. If this is on the compile will be faster.
> -ambient xx | :sets an ambient light level. Very cool. You can light a level without even using light entities. Looks like shit though. The best use of this would to be to set a very low value for ambient like .2, which would get rid of all the very dark areas of your map. Anything value greater then 1 is way too bright. Default 0.
> -maxlight xx | :Maximum amount of light a face can receive. This is to insure that faces are not too bright. default 196. max 255.
> -tmpin abc | :Not sure what this does, I believe you can specify where the bsp file is to vis. I have not tested it though.
> -tmpout abc | :Not real sure what this does but I think it saves a temp copy of the bsp file to the directory specified.

> Well anyways if you still don't understand please post your questions to the discussion board.

> Return to Tutorials Page...

HTML Design, original concept of rust by Shane 'Fishman' Sherman rust is © 1998 by Shane 'Fishman' Sherman and Martin Ka'ai Cluney(GrrandMaMa). Quake and Quake2 are trademarks of id software. All rights reserved.