ufo2map(1)

✨ ufo2map β€” the map compiler era ✨

okay bestie, gather round, because this is ufo2map(1) from the tools manual section β€” it's the UFO: Alien Invasion map compiler and it's literally the thing that turns your map into a map. no cap. πŸ’…


🌸 SYNOPSIS 🌸

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

πŸ¦‹ DESCRIPTION πŸ¦‹

This is the UFO: AI map compiler. that's it, that's the whole vibe β€” it compiles maps, it's giving main character energy for your whole level. πŸŽ€


πŸ’– OPTIONS πŸ’–

✨ General options ✨

  • -h, --help β€” prints (this) help and then dips out. exit, bye. πŸ‘‹
  • -nice <prio> β€” priority level. it's the unix nice level, ranging from -20 to 19, where 19 is the lowest priority. so be nice about it. 🫢
  • -nofootstep β€” don't generate a footstep file. no footsteps, silent queen behavior. πŸ™ˆ
  • -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. (yes bestie, it says TODO. we don't make the rules.)
  • -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, and this should be the first option. the levels are:
    • 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. show me the receipts. πŸ‘‘
  • -material β€” generate a material (.mat) file, and do not proceed to compilation. just the material, nothing else. periodt.

🌈 Lighting options 🌈

  • -extra β€” extra light samples. more sparkle. ✨
  • -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) with 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. multitasking icon. πŸ’…

🧚 Binary space partitioning (BSPing) options 🧚

  • -block <xl> <yl> β€” (that's it, that's the whole description in the source. iconic.)
  • -blocks <xl> <yl> <xh> <yh> β€” (also just vibes, no further description given.)
  • -subdivide β€” subdivide brushes for better light effects (but higher polycount). glow up tax, bestie. ✨
  • -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 β€” (no further description, she's mysterious. πŸŽ€)
  • -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 β€” (no extra detail given.)
  • -notjunc β€” (no extra detail given.)
  • -nowater β€” skip water brushes in compilation. dry land only. πŸ’€
  • -noweld β€” (no extra detail given.)
  • -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 the 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, but 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.

and that's the whole page bestie, we ate and left no crumbs πŸ“

this was ufo2map, version-era July 2013, out here doing the absolute most for the tools manual. slay. πŸ’–βœ¨πŸ¦‹