---
name: "ufo2map"
section: "1"
platform: "linux"
package: "ufoai-tools"
version: "2.5-8"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ufo2map"
---

# ufo2map(1)

UFO: Alien Invasion map compiler

## NAME

ufo2map - UFO: Alien Invasion map compiler

## SYNOPSIS

**ufo2map** *\<param1 \<subparam1\> \<subparam2\> \<*...*\>\> \<param2\> \<*...*\>* \[*map*\]

## DESCRIPTION

This is the UFO: AI map compiler.

## OPTIONS

### General options:

- **-h** **--help**

  : print (this) help and exit

- **-nice** \<prio\>

  : priority level \[unix nice level from **-20** to 19 where 19 is the lowest priority\]

- **-nofootstep**

  : don't generate a footstep file

- **-tracefile**

  : generate two csv files describing the floors and walls found by the trace functions

- **-debugfile** (TODO)

  : generate a trace debug file. The client can load the file to highlight map obstructions

- **-stats** **--statistics**

  : print statistics and quit. may be used with **-check** or **-fix**

- **-v** **--verbosity** \<int\>

  : set verbosity. higher \<int\> gives more output if it is required, this should be the first option 0 - no stdout, 1 - only check/fix messages, 2  - (compile) only mapname 2 - (check/fix) mapname if findings, 4 - normal output, 5 - extra output, 6 - dump (a lot extra from BSPing)

- **-V** **--version**

  : return Version and Revision level

- **-material**

  : generate a material (.mat) file, do not proceed to compilation

### Lighting options:

- **-extra**

  : extra light samples

- **-nolighting** TYPE

  : don't perform the lighting calculations, where TYPE is one of day, night, all default is all

- **-quant**

  : lightquant - lightmap resolution downscale (e.g. 4 = 1 \<\< 4) (values between 1 and 6)

- **-scale**

  : global light scale factor

- **-saturation**

  : saturation factor (e.g. 1.5 - default is 1.0)

- **-contrast**

  : contrast factor (e.g. 1.05, default is 1.0)

- **-t** **--threads**

  : thread amount

### Binary space partitioning (BSPing) options:

- **-block** \<xl\> \<yl\>

  :

**-blocks** \<xl\> \<yl\> \<xh\> \<yh\>:

- **-subdivide**

  : subdivide brushes for better light effects (but higher polycount)

- **-surface**

  : surface light scaling (float value)

- **-entity**

  : entity light scaling (float value)

- **-fulldetail**

  : don't treat details (and trans surfaces) as details

- **-info**

  : print bsp file info

- **-micro** \<float\>

  : warn if a brush has a volume lower than the specified float. brushes are tested after CSG.

- **-nobackclip**

  : draw downward pointing faces. (so actors cannot see up through floors in first person view). default is to set SURF\_NODRAW to downard faces.

- **-nocsg**

  :

- **-gamedir**

  : Add another game dir to the search directories

- **-nodetail**

  : skip detail brushes

- **-nomerge**

  : skip node face merging

- **-noprune**

  : don't prune (or cut) nodes

- **-noshare**

  :

- **-notjunc**

  :

- **-nowater**

  : skip water brushes in compilation

- **-noweld**

  :

- **-onlyents**

  : modify existing bsp file with entities from map file

- **-exportlightmaps**

  : write lightmaps into tga images

- **-verboseentities**

  : also be verbose about submodels (entities)

### Mapping options:

-

  These options operate on map file only. No bsp file is created. Output prefixed by an asterisk (\*) indicates operations that would change the map file. **-check**                     : check source map, only print information. **-fix**                       : same subparameters as **-check**, changes the source map file.

-

  subparameters for **-check** and **-fix**

- all

  : performs all checks and fixes. This is the default.

- bru brushes

  : includes 'lvl tex mfc mbr'. Performs all checks and fixes associated with brushes.

- ent entities

  : performs all checks and fixes associated with entities.

- con contained

  : checks for brushes contained entirely within other brushes. includes coincident duplicates.

- isc intersection

  : report intersection between optimisable brushes from worldspawn and func\_group entities

-

  this is not included in all or bru as it is not always a bad thing

- mbr microbrush \<float\>

  : test for brushes smaller than \<float\> unit^3. this is done without the csg

-

  step, unlike the bsp **-micro** option. default 1 unit^3.

- lvl levelflags

  : if no levelflags for a brush or entity are set, all of them are set

- flv filllevelflags

  : ensure set levelflag bits are uninterrupted

- ndr nodraws

  : assigns SURF\_NODRAW to hidden faces

- tex textures

  : warns when no texture or error texture is assigned.

-

  ensures special textures and content/surface flags are consistent.

- mfc mixedfacecontents

  : ensures the contentflags are the same on each face of each brush.

- zft zfighting

  : intersecting brushes with a common face: prevent textures shimmering together
