Q3Map2/BSP

-custinfoparms
// Contentflags { surfaceparmName 0x0000 //whatever bitflag is used by your mod for said surfaceparm } // Surfaceflags { surfaceparmName 0x0000 //whatever bitflag is used by your mod for said surfaceparm }
 * Enables custom surfaceparms for game mods without the need to recompile Q3Map2 itself. Custom surfaceparms are stored in custinfoparms.txt, in the "scripts" directory.  Custom surfaceparms follow the format:

-debuginset

 * Enables debugging of surface triangle insetting. //I'm totally not sure what this is?

-debugportals

 * Draws the portals into the bsp as translucent polygons. Omit -vis and -light for best -debugportals results.

-debugsurfaces

 * Colors every surface a different color (very trippy). Omit -vis and -light for best -debugsurfaces results.

-fakemap

 * Creates a new .map file with a blank worldspawn entity and all the world brushes from your original .map file. //Don't know much about this one.

-flares

 * Enable support for flares. They are used to generate a glare effect over bright light sources. Only supported by certain versions of the Quake3 Engine like those used in Raven's titles or ioQuake3.

-flat

 * Forces all texture coordinates for a given surface to the pixel that best fits the average color of the assigned texture.

-fulldetail

 * Will cause all detail brushes to be handled as if they were structural.

<tt>-leaktest</tt>

 * Will cause Q3Map2 to abort compile if a leak is encountered.

<tt>-meta</tt>

 * At one time, there was a clear definition as to what, exactly, the -meta switch did. Now, it has become the "magic" switch that is required for most of Q3Map2's advanced features.  Always -meta, and always -v.

<tt> -mi <N></tt>

 * Sets the maximum per-surface index count to N.

<tt>-mv <N></tt>

 * Sets the maximum per-surface vertex count to N.

<tt>-nocurves</tt>

 * Will not compile patch meshes into the .bsp.

<tt>-nodetail</tt>

 * Will not compile detail brushes into the .bsp.

<tt>-nofog</tt>

 * Will not compile fog brushes into the .bsp.

<tt>-nohint</tt>

 * Will not compile hint brushes into the .bsp.

<tt>-nosubdivide</tt>

 * Visible surfaces will not be split. TessSize is ignored.

<tt>-notjunc</tt>

 * Will not fix T-Junctions (can cause sparklies and LOD cracks).

<tt>-nowater</tt>

 * Will not compile liquid brushes into .bsp.

<tt>-np <shadeangle (1 through 179)></tt>

 * Forces all planar shaders to become nonplanar with the shadeangle specified.

<tt>-onlyents</tt>

 * Only changes the entities in the compiled .bsp. Needs a compiled .bsp and a new entity file (.ent)

<tt>-patchmeta</tt>

 * Creates meta surfaces from patch meshes. This "bakes" a set LOD into patches in your .bsp.

<tt>-skyfix</tt>

 * Enables fix for buggy ATI GL_CLAMP behavior. Always use this.

Sidenote: ATI's behavior is correct. The bug was with *NVIDIA* drivers not distinguishing between GL_CLAMP and GL_CLAMP_TO_EDGE, and Q3 using the wrong one: since Q3 development was done predominantly on nVidia hardware, nobody noticed it until too late.

<tt>-snap</tt>

 * Enables axial bevel plane snapping to reduce clipped model plane count (use with care). //I totally don't know a thing about this.

<tt>-texrange <N></tt>

 * Limits per-surface texel count to N.

<tt>-v</tt>

 * Enables verbose mode for the bsp phase. Always use this.

<tt>-verboseentities</tt>

 * Outputs more information about compiling entity sub-models into the .bsp.