MAP3BSPC is a replacement tool for the Quake 3 bsp compiler by Id Software used to produce Quake 3-like .bsp files from .map files generated by a Quake 3 modelling tools, such as QuARK. This tool is intended for those who would like to use the modelling tools available for Quake in their own projects, but can't because of the license on the Id Software Quake tools.

As the version number implies MAP3BSPC is very much a work in progress. At the moment it just parses the map file provided and generates the BSP tree based on the level geometry.

MAP3BSPC is distributed under The GNU General Public Licence. See the license text here more information. (The link takes you to the Free software foundation site).

Note: MAP3BSPC is not intended for use with Quake 3. If you want to make levels for Quake 3, use the tools provided by Id software. MAP3BSPC doesn't produce fully compliant .bsp-files, and may never do. The aim is at the moment to generate enough correct information into the BSP file so that 3rd party Quake 3 renderers can reproduce the level correctly. It may be that the files will work with Quake 3 or they may not.

Id Software has nothing to do with this product. Do not contact them regarding MAP3BSPC. Instead if you have questions, problems a bug to report or what ever, see the contact information later in this file.

This project was started as a part of the Order of the Red Star project. Go visit the site. Link is below in the Fun links section.

Download MAP3BSPC

Both the binaries and the source package can be downloaded from the downloads page.

version 0.3 was released on 12.9.2003.
version 0.2 was released on 1.8.2003.
version 0.1 was released on 21.6.2003.

See the changelogs for more details

At the moment binaries are only provided for Windows. All others should download the source release and compile the binary themselves. A makefile for the GNU family of tools is provided, as well as for Microsotf Visual C++.

MAP3BSPC depends on the following libraries:

Precompiled binaries for win32 (MSVC) are provided in the w32libs directory. If you don't wish to recompile all the libraries just copy these somewhere in your library path.

Compiling MAP3BSPC should be simple: Just uncompress the sorces to a directory of your choosing, and run make. This will automatically build the executable called map3bspc.exe. Configuration files for automake are not provided at the moment, So you'll need to manually modify the makefile to suit your system. If you would like to contribute, contact the project team. The program is written in standard C++ so it should compile with little difficulty on most systems. So far MAP3BSPC has been successfully compiled under w2k, WXP and Linux. Compiling under windows you may need some unix tool package, such as UnxUtils. Some tricks had to be done with for loop counter variables to get the code to compile in MS Visual C 6.0, because it handles the scope of the for counter variable scope wrong. Also MinGW systems may not be able to compile MAP3BSPC since ZipArchive seems to contain nonstandard code.

The latest sources can be browsed in the CVS


The program is invoked as follows: 

  map3bspc switches mapfile

    mapfile - name of the source Quake 3 format .map-file to be processed. The
              extension may be omitted in which case .map is assumed.
              By default the output is written to a file with the same name but
              with .bsp extension.

switches can contain any of the following:
  General options:
    -h            = print a help message and exit
    -v            = The program prints (a lot of) additional information about 
                    what its doing
    -q            = Quiet operation, prints only errors to stdout, negates -v
    -debug         = enable debug output. Includes -v and negates -q
    -fastvis      = fast visibility determination.
    -baseq   = set the quake resource directory (baseq3). Optional. If not specified
                    ../baseq3 is assumed
    -o      = specifies a different output file. The extension may be 
                    omitted in whic case .bsp is assumed. If -o is not 
                    specified the output file has the same name as the input
                    file, but with extension .bsp

Contributing to this project

Have you fixed a bug, written a neat new extension, implemented a missing feature or improved the code or documentation in other way? If you have or would like to, contact the development team so we can discuss how to integrate your contribution to the project. See TODO for more information on what's being planned.

Contact information


The project page at

Discussion forum

Mailing lists

Click on the list name to go to the subscription management page

The announce mailing list is only for announcements by the development team. If you want to keep up to date on the recent developments in the project, subscribe to this list. Pleas don't post into this list. Traffic on this list is very low.

The developers mailing list is for the development team. In this list the development and technical issues are discussed. If you're interested in how MAP3BSPC works or would like to contribute, subscribe to this list.

The users mailing list is for the users of MAP3BSPC. Here you can discuss any aspect of MAP3BSPC, ask for help, etc. This list is regularly monitored by the development team, so any bug reports and ideas for features will be heard if posted here.

Reporting bugs

Please report any bugs or feature requests to: heiks at

Development team:

Heikki Sikanen - Project leader

email: heiks at
icq: 92135309


The following sources have been very useful during the creation of MAP3BSPC. In fact without these MAP3BSPC would never have come to be, so thanks to the authors.

Kekoa Proudfoot's unofficial Quake3 BSP Specs

Gametutorials' Unofficial Quake 3 BSP Format By Ben Humphrey

QuARK Information Base

QuARK Source code

The following tools have been used while developing MAP3BSPC:


Bloodshed DevC++

CVS ID: $Id: index.html,v 1.5 2003/09/12 18:10:33 heiks Exp $