This is the Quake III: Arena BSP-to-AAS compiler. This is a slight variation that combines a couple of different versions from github into one.
Another difference is that a lot of legacy support has been removed. Q1, Q2, Sin, Half-Life are no longer suported. This has reduced the number of code lines significantly. The basic source files has also been converted to C++11, to make future enhancement easier. The code is still a bit of a mine field but I am working on changing that.
You can download the latest version here.
Provided that you have CMake, A C compiler (clang or gcc) and a C++11 compiler (clang or gcc based) do:
cmake . && make
The Windows version is cross compiled using MXE (www.mxe.cc):
i686-w64-mingw32.static-cmake . && make
Straight from the source:
Usage: bspc [-<switch> [-<switch> ...]]
Example 1: bspc -bsp2aas /quake3/baseq3/maps/mymap?.bsp
Example 2: bspc -bsp2aas /quake3/baseq3/pak0.pk3/maps/q3dm*.bsp
Switches:
bsp2aas <[pakfilter/]filter.bsp> = convert BSP to AAS
reach <filter.bsp> = compute reachability & clusters
cluster <filter.aas> = compute clusters
aasopt <filter.aas> = optimize aas file
aasinfo <filter.aas> = show AAS file info
output <output path> = set output path
threads <X> = set number of threads to X
cfg <filename> = use this cfg file
optimize = enable optimization
noverbose = disable verbose output
breadthfirst = breadth first bsp building
nobrushmerge = don't merge brushes
noliquids = don't write liquids to map
freetree = free the bsp tree
nocsg = disables brush chopping
forcesidesvisible = force all sides to be visible
grapplereach = calculate grapple reachabilities
This version is primarily targeted OpenArena. It is tested on http://files.poulsander.com/~poul19/public_files/intooa.pk3 and http://files.poulsander.com/~poul19/public_files/islandctf4a3.pk3
File a bug report if you run into issues.
This program is licensed under the GNU Public License v2.0 and any later version.