Hammer Cordon Usage
Overview of the Hammer Cordon Tool
The cordon tool is used to limit the map area to be compiled to a smaller area in order to either save compile time, test areas individually without interference from their surroundings, or to find the location of an unknown problem.
Compiling with cordon boundaries set will compile only the area within the cordon bounds (safely enclosing this area in a sealed box to prevent leaks).
General usage
Using the cordon tool allows the developer to compile only one room, or test lighting in a particular area, without having to compile the entire map. Excluding large or complex areas in this way can save a considerable amount of compilation time.
Cordons can also be used to eliminate areas from compilation when trying to find the location of a problem. This can be done by gradually decreasing the size of the cordoned area until the problem is eliminated, defining the area in which the problem must be. It is also possible to move the cordoned area around the map until the problem is found or eliminated.
They can also be used to eliminate extra and confusing geometry from other rooms that overlap each other in the 2D views. Cordoning off one area can allow you to focus on the details of a particular room.
Localized starting points
The cordon area does often not include the original starting point (the info_player_start, info_player_teamspawn, info_player_deathmatch, or similar entity) of the map, and running a map without compiling a starting point will place the player at the world origin (0,0,0) in-game by default. You could, of course, prevent this by moving the original starting point back and forth between the original position and different cordon areas, but a less tedious solution in the long run is to place another starting entity in the cordon area.
Using several info_player_start
entities will normally cause problems running the map in a single-player game when the cordon state is turned off again. The player will spawn at the first spawnpoint found in the map file, which could be any of the added entities. To force spawning at a particular position, set the Master spawnflag of the original info_player_start
to indicate which one should be used when running the entire map. All other spawn points will be ignored when the game looks for possible spawn locations.
Edit Cordon Bounds
This function is used to set, or alter, boundaries of an area to "cordon off". Only objects that are at least partially within these boundaries will be compiled, and a box using the assigned cordon texture will be placed along these boundaries to seal leaks.
To create a new cordon area
- Select the Edit cordon bounds button on the Map Operations Toolbar.
- Drag a selection box in one of the 2D views around the section you wish to compile.
- As the cordon area is a 3D cube, you may find it necessary to resize the height, width, and/or depth of it (in any of the 2D views) to fit the intended area.
- Select any other editing tool from the Map Tools Toolbar to finish creating the cordon area.
- Make sure that the cordon area includes at least one starting point for the player(s).
To edit an existing cordon area
- Select the Edit cordon bounds button on the Map Operations Toolbar.
- To resize a cordon area, drag its boundary handles in any of the 2D views.
- To move a cordon area, click-drag in the center of the selection box.
- Select any other editing tool from the Map Tools Toolbar (like the Selection tool, for instance) to finish editing the cordon area.
- Make sure that the cordon area still includes at least one starting point for the player(s).
Toggle Cordon State
This function will toggle the cordon state i.e. the effect and visibility of the cordon area (created with the Edit cordon bounds tool).
While the cordon state is active, the compiler will only compile the cordoned off area. The objects which will be included in the compile will be reflected in the 3D view, boundaries of the cordon area will also be outlined by a thick red line, like the pictures below show.
With the cordon state deactivated, the compiler will compile the entire map as normal, and the cordon area will not be visible. (See Edit Cordon Bounds above for information on how to create and edit cordon areas.)
Changing the cordon wall texture
If the cordon boundary is showing incorrectly in-game (as a black and pink checkerboard), this means an invalid material is chosen as the cordon texture. This texture can easily be changed by choosing a different material for the cordon:
- Go to Tools > Options... > Game Configurations tab.
- Locate the Cordon texture field, and click the Browse... button next to it, to open the texture browser.
- Double-click to select a different texture. The
tools/toolsskybox
texture works well, but you need to make sure you have a light_environment in the bounds for the skybox texture to light the world properly after compile.
tools/toolsblack
material also makes a good choice for a cordon texture, especially if the light emitting from a toolsskybox
material is undesirable (such as in an underground environment).