Skip to content

About

Quake III Arena BSP-to-AAS compiler that also compiles .aat grapple navigation for Trinity

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

110 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

trinity-bspc

The Quake III Arena BSP-to-AAS compiler, extended to compile .aat files: bot navigation for Trinity that teaches bots to travel with the grapple.

Building

Run make with gcc. On Windows, build from an MSYS2 MinGW shell.

Compiling a map

bspc -bsp2aas maps/mymap.bsp -forcesidesvisible -grapplereach -optimize -output out

This writes out/mymap.aat. The map can also be read straight from its pk3:

bspc -bsp2aas mymap.pk3/maps/mymap.bsp -forcesidesvisible -grapplereach -optimize -output out

Proving grapple routes is slow: a small map takes under a minute, and a large one can take several hours. Without -grapplereach the compiler writes an ordinary .aas file.

Shipping it with your map

Put the file in your map's pk3 as maps/mymap.aat, beside the map's .aas. Trinity loads maps/mymap.aat when it exists and uses the .aas otherwise. Other engines never look for .aat files, so the same pk3 works everywhere.

A .aat belongs to one build of a map. Compile it again whenever the .bsp changes.

Switches

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
   grapplerecheck                       = re-verify stored reaches still deliver where they promise

-grapplerecheck flies every stored grapple route again and logs the result. It changes nothing in the output and adds to the compile time.

Credits

Built on TTimo/bspc, which carries the compiler from id Software's Quake III Arena source release.

License

This program is licensed under the GNU General Public License v2.0 or any later version. See LICENSE.

About

Quake III Arena BSP-to-AAS compiler that also compiles .aat grapple navigation for Trinity

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages