BSP phase minor switches:Edit


  • 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:

// 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 debugging of surface triangle insetting. //I'm totally not sure what this is?


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


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


  • 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.


  • 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.


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


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


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


  • 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.

-mi <N>Edit

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

-mv <N>Edit

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


  • Will not compile patch meshes into the .bsp.


  • Will not compile detail brushes into the .bsp.


  • Will not compile fog brushes into the .bsp.


  • Will not compile hint brushes into the .bsp.


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


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


  • Will not compile liquid brushes into .bsp.

-np <shadeangle (1 through 179)>Edit

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


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


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


  • 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.


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

-texrange <N>Edit

  • Limits per-surface texel count to N.


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


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