Quake 3 BSP-to-AAS compiler
C Other
Pull request Compare This branch is 31 commits ahead of bnoordhuis:master.
Latest commit 2c84078 Aug 21, 2016 @TTimo more cleanups
Permalink
Failed to load latest commit information.
deps more cleanups Aug 20, 2016
.deps Better (but not perfect) dependencies generation. Nov 7, 2010
.gitignore Ignore bspc_g Nov 7, 2010
Conscript Fix source paths. Nov 6, 2010
LICENSE Add LICENSE file. Aug 19, 2011
Makefile build: fix build with -Wl,--as-needed Jul 30, 2012
README.md Add LICENSE file. Aug 19, 2011
_files.c bspc from quake3 1.32b source tarball. Nov 6, 2010
aas_areamerging.c Fix include paths. Nov 6, 2010
aas_areamerging.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
aas_cfg.c update fields in the example custom config file Sep 30, 2013
aas_cfg.h update fields in the example custom config file Sep 30, 2013
aas_create.c Remove unused variable 'up'. Nov 7, 2010
aas_create.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
aas_edgemelting.c Fix include paths. Nov 6, 2010
aas_edgemelting.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
aas_facemerging.c Fix include paths. Nov 6, 2010
aas_facemerging.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
aas_file.c make AAS_LoadAASFile work with zero-sized lumps Sep 30, 2013
aas_file.h Fix implicit function declaration warnings. Jul 31, 2012
aas_gsubdiv.c Fix include paths. Nov 6, 2010
aas_gsubdiv.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
aas_map.c Fix include paths. Nov 6, 2010
aas_map.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
aas_prunenodes.c Fix include paths. Nov 6, 2010
aas_prunenodes.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
aas_store.c Remove unused variables. Jul 31, 2012
aas_store.h Fix include paths. Nov 6, 2010
aasfile.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
be_aas_bspc.c Add #include, fixes 'implicit declaration of function' warnings. Nov 7, 2010
be_aas_bspc.h Fix implicit function declaration warnings. Jul 31, 2012
brushbsp.c Do not call CheckPlaneAgainstParents on tiny splits Apr 14, 2016
bspc.c [bspc.c] Change directory variables to have static storage; they're Aug 13, 2016
bspc.sln upgrayde Aug 22, 2013
bspc.vcproj fix windows compile. new project files etc. Oct 7, 2012
bspc.vcxproj Upgrade to Visual Studio 2015 Dec 25, 2015
bspc.vcxproj.filters upgrayde Aug 22, 2013
cfgq3.c update fields in the example custom config file Sep 30, 2013
csg.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
faces.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
gldraw.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
glfile.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_bsp_ent.c Fix include paths. Nov 6, 2010
l_bsp_ent.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_bsp_hl.c Merge pull request #6 from tkoeppe/comma Aug 13, 2016
l_bsp_hl.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_bsp_q1.c Merge pull request #6 from tkoeppe/comma Aug 13, 2016
l_bsp_q1.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_bsp_q2.c [l_bsp_{q1,q2,sin}.c] Fix undefined behaviour in array access Aug 2, 2016
l_bsp_q2.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_bsp_q3.c Add initial Fusion(Raven) BSP support Apr 14, 2016
l_bsp_q3.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_bsp_sin.c [l_bsp_{q1,q2,sin}.c] Fix undefined behaviour in array access Aug 2, 2016
l_bsp_sin.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_cmd.c Fix warning: the address of ‘qdir’ will always evaluate as ‘true’. Nov 7, 2010
l_cmd.h Export function Q_strncpyz(). Nov 8, 2010
l_log.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_log.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_math.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_math.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_mem.c Remove extra tokens at end of #endif directive. Nov 6, 2010
l_mem.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_poly.c A bunch of x64/WIN64 fixes May 2, 2016
l_poly.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_qfiles.c cleanup MAX_PATH usage Aug 13, 2016
l_qfiles.h cleanup MAX_PATH usage Aug 13, 2016
l_threads.c Fix integer -> pointer cast warnings. Jul 31, 2012
l_threads.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_utils.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
l_utils.h cleanup MAX_PATH usage Aug 13, 2016
lcc.mak Convert Windows line endings to UNIX line endings. Nov 6, 2010
leakfile.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
linux-i386.mak Fix source paths. Nov 6, 2010
map.c Add initial Fusion(Raven) BSP support Apr 14, 2016
map_hl.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
map_q1.c Remove extra tokens at end of #endif directive. Nov 6, 2010
map_q2.c Remove unused variables. Jul 31, 2012
map_q3.c Remove unused variables. Jul 31, 2012
map_sin.c Remove unused variables. Jul 31, 2012
nodraw.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
portals.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
prtfile.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
q2files.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
q3files.h cleanup MAX_PATH usage Aug 13, 2016
qbsp.h GetMemory: fix handling of compiler enforced alignment of double Apr 14, 2016
qfiles.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
sinfiles.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
tetrahedron.c Fix include paths. Nov 6, 2010
tetrahedron.h Convert Windows line endings to UNIX line endings. Nov 6, 2010
textures.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
tree.c Convert Windows line endings to UNIX line endings. Nov 6, 2010
writebsp.c Convert Windows line endings to UNIX line endings. Nov 6, 2010

README.md

bspc

This is the Quake III: Arena BSP-to-AAS compiler.

Downloading

You can download the latest version here.

Compiling

Dead simple:

make

Usage

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

Support

File a bug report if you run into issues.

License

This program is licensed under the GNU Public License v2.0 and any later version.