Q3Map2

Q3Map2 has now been integrated with the GtkRadiant Project. Windows, Mac and Linux binaries for both 32-bit and 64-bit systems can be download from the project page. The Q3Map2 source code is now available through the GtkRadiant GitHub Repository.

Official Support Forum @Splashdamage
Current stable version is 2.5.17

Q3Map2 is a BSP compiler for games based on the id Tech 3 engine. It compiles .map files, which are editable with an editor, into .bsp files, which are binary files for the game and are not editable. It currently supports the following platforms:

Q3Map2 was designed to replace the Q3Map.exe that comes with QERadiant, GtkRadiant and GMAX Tempest. However, there are significant enhancements that require a little twiddling to use, such as faster lighting and enhanced surface production.

Fun Facts:

Usage

Q3Map2 is a command-line utility. In general, users make use of Q3Map2 in one of three ways:

It should be noted that the default command lines given in the GtkRadiant bsp menu are by no means a complete showcase of the available Q3Map2 options and switches. You may edit the bsp menu command lines from the GtkRadiant preferences, but for total control of your Q3Map2 compile writing a batch file or using one of the front ends is probably a better idea.

Q3Map2 command lines generally follow the format:

"C:\path\to\Q3Map2.exe" [<general option>] [<major switch> [<minor switch> <minor switch>...]] "C:\path\to\maps\mapname.map"

Switches

General options

-connect <hostname/ip address>
-info
-game <quake3|wolf|et|etut|ef|jk2|ja|sof2|tenebrae|qfusion>
-fs_game <mod name>
-fs_basepath <"C:\path\to\game\directory">
-convert [-format <ase|map|quake3|wolf|et|etut|ef|jk2|ja|sof2|tenebrae|qfusion>]
-scale <N.N>
-export
-import
-exportents
-threads <number of threads Q3Map2 should use>
-v


-rename

Major switches

-bsp
-vis
-light

Minor switches

The three major switches (-bsp, -vis, and -light) all have many options that can be accessed via their respective minor switches. There are quite a few minor switches, so in the interest of readability the lists of minor switches have been organized on separate pages of the Q3Map2 wiki.

BSP phase minor switches

Q3Map2 BSP phase minor switches have their own page at Q3Map2/BSP

VIS phase minor switches

Q3Map2 VIS phase minor switches have their own page at Q3Map2/VIS

Light phase minor switches

Q3Map2 Light phase minor switches have their own page at Q3Map2/Light

Q3Map2-specific entities

_decal

_skybox

Q3Map2-specific entity keys

Q3Map2-specific entity keys have their own page at Q3Map2/Entity keys.

Specialized tutorials

A Good "Final" Compile

This command line is a good compile to start building off of when you want to produce a "final" compile of your map. It is by no means perfect for every map, but a good place to start tweaking based on your own maps particulars.

"C:\path\to\q3map2.exe" -meta -v "C:\path\to\mapname.map"
"C:\path\to\q3map2.exe" -vis -v "C:\path\to\mapname.map"
"C:\path\to\q3map2.exe" -light -fast -patchshadows -samples 3 -bounce 8 -gamma 2 -compensate 4 -dirty -v "C:\path\to\mapname.map"

Games with the r_overbrightbits value enabled by default (i.e. Quake III Arena) may want to use the -gamma and -compensate switches. Otherwise, remove from the compile settings above.

Creating an .ase model out of brushwork

  1. First, create the geometry for your model.
  2. Save this file as model.map (or whatever).
  3. Compile model.map with -v -meta -patchmeta in the bsp phase (if your curves look too "low-fi" add "-subdivisions 0" to the compile line. if you want it even more complex, increment the '-subdivisions' value). There is no need to run -vis or -light. You should now have model.bsp in your "maps" directory.
  4. Compile model.bsp (not model.map, it should be noted) with -convert. You should now have model.ase in your "maps" directory.
  5. Create a new .map and place a misc_model entity. Give this misc_model entity the key/value pair "model"/"maps/model.ase"

Here is an example of a batchfile that does both, bsp and convert compile:

"C:\path\to\q3map2.exe" -bsp -meta -patchmeta -game [game abbreviation] "C:\path\to\model.map"
"C:\path\to\q3map2.exe" -convert ase -game [game abbreviation] "C:\path\to\model.bsp"     

Et voila! You've now got a misc_model created out of brushwork. Play with the "modelscale" and "angles" entity keys, and see why Q3Map2 .ase conversion is completely and totally great.

-subdivisions
-subdivisions #


For extra moxie, import model.map as a prefab to your new map. Select the "model" brushwork, and texture it with clip. Rotate these new clip brushes into place over your misc_model; the brush vertexes of these clip brushes will get screwed up a bit, but since the player can't see clip, you really can't tell in-game. It's lovely, and doesn't have any of the ill effects of Q3Map2 autoclipping.

_skybox tutorial

The _skybox entity "grabs" all the map geometry it can "see" via the normal entity flooding algorithm and assimilates it into the portal sky heap. This is an important concept to understand; if there is any leak between your "main" map and the separate area designated for the _skybox, your compile will take forever, only to produce a very borked .bsp. With that out of the way...

  1. Construct your map as normal, texturing your sky brushes with whatever sky shader you fancy.
  2. Seal your map off from the void (of course).
  3. Create a small box of sky brushes somewhere slightly removed from your "main" map. You could probably get away with drawing a 128x128x128 cube of your sky shader, then using the CSG "hollow" button.
  4. Place more geometry within this tiny skybox, but take care not to make it too complicated. Also: unless you compile with -patchmeta, patch meshes shouldn't go inside the _skybox area... you'll end up with MAX_PATCH_PLANES every time.
  5. Place a _skybox entity somewhere inside your tiny sky box. The location of the _skybox entity relative to the rest of the sky box geometry determines where the origin of the portal sky will be relative to the rest of your map... a little experimentation will show you how this works.
  6. Compile, and that's that. You've got a portal sky in Quake III: Arena!

Notes:

Authors: see page history

Decompiling into a .map

Q3Map2 can decompile a .bsp into a .map. This procedure is by no means perfect, and you should never take anything from others maps, but decompiling is map is good to "see how it's done".

  1. Put the .bsp that you want to decompile into the same directory as q3map2.exe
  2. Open the command prompt and browse to the folder which contains the .bsp and q3map2.exe
  3. Type
q3map2 -game [game abbreviation] -convert -format map [name of the bsp file].bsp

So if the .bsp is called testmap.bsp and you use Jedi Academy, you use this:

q3map2 -game ja -convert -format map testmap.bsp

You should then find a .map in the same folder as q3map2.exe and the .bsp.

This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.