Navigate InfoSuite Introduction README The Basics Advanced FX References Game Secrets Hosted At | References - Build Keys Build Keys This is a complete listing of the available keypresses and their respective functions within the Build editor. 2D mode General
Keypress | Function
--- | ---
`Escape` | Displays menu : (`N`)ew, (`L`)oad, (`S`)ave, save (`A`)s, and (`Q`)uit.
`Keypad Enter` | Switch to 3D mode.
`Right Shift` | Selects a group of vertices and sprites which you can drag around with the `Left Mouse Button`. The selected sprite(s) can be duplicated and stamped (copied) using `Insert`, after which they must be dragged off of the originals individually. Also note that highlighting multiple sprites allows you to change their elevation (with `PGUP` or `PGDN`) in 3D mode as if they were a combined unit. Note that `Right Shift` highlighting will only stay active for one cycle to 3D mode. After cycling back to 2D mode it disables itself. It can also be manually disabled by pressing `Right Shift` again in 2D mode.
`Right Alt` | Selects a group of sectors (including the sprites) which can either be dragged around or duplicated. Use the `Left Mouse Button` to drag the sectors, or the `Insert` key to duplicate them. The duplicated sectors are pasted directly on top of the originals, and must be dragged off. After highlighting a group of sectors, you can load a different map and the highlighted sectors will appear in the loaded map (although you may encounter some problems with this feature, check the "References - FAQ" section for more information). Also note that highlighting multiple sectors allows you to shade them (with `Keypad +`/`-`), change their visibility (with `Alt + Keypad +`/`-`), or change their elevation (with `PGUP`/`PGDN`) in 3D mode as if they were a combined unit. The highlighted sprites will also be affected by the shading. Note that `Right Alt` highlighting stays active indefinitely, even after cycling between 3D mode and 2D mode. It must be manually disabled by pressing `Right Alt` again in 2D mode.
`Enter` | Check pointers for highlighted sector (attempts to fix if corrupted).
`Arrow Keys` | Move player's position. The player will be clipped. Hold `Left Shift` to move faster. Holding `Left Alt` will cause the player to strafe rather than turn.
`Spacebar` | Plots vertices which are used to create sectors.
`Backspace` | Deletes the last vertex plotted. If continuously pressed, it will delete all of the previously plotted vertices until the sector no longer exists.
`Insert` | Inserts a new vertex on a highlighted line. If pressed when a group of sectors/sprites are highlighted, the sectors/sprites will be duplicated and stamped (copied).
`Delete` | Deletes sprites. To delete a vertex, drag it onto one of its two neighbouring vertices. If two vertices occupy the same space, one of them will be deleted.
`J` | Used to join adjacent sectors (i.e. sectors sharing a line). Press `J` once with the mouse cursor inside the first sector, then `J` again with the mouse cursor inside the second sector. The two neighboring sectors will be joined. The combined sector will keep the attributes of the first sector. Unfortunately, Build will make no attempts to stop you from accidentally joining non-adjacent sectors (which could very likely corrupt the map).
`S` | Insert sprite at mouse cursor's current location. A sprite looks like a circle with a line protruding from its center in 2D mode. The sprite will be automatically textured with the most common sprite texture to appear in the map, or with the sprite texture currently stored in the buffer, if the stored object is a sprite (some of the copied sprite's attributes will also be reproduced).
`B` | Activates a wall's blocking flag, or deactivates both its blocking and hitscan flags. Activates or deactivates a sprite's blocking and hitscan flags. A blocked wall or sprite will appear pink in 2D mode. Players cannot walk through blocked walls or sprites.
`C` | Changes the highlighted line into a semi-circle consisting of short line segments. Press `Keypad +` or `Keypad -` to increase or decrease the number of vertices in the semi-circle. Pressing `C` again cancels the operation, pressing `Spacebar` completes the operation.
`E` | Changes a sprite's status list number. This is used for debugging, and I have no idea what it does or how it works.
`,` / `.` (aka `<` / `>`) | Changes the angle of a sprite. If you highlighted a sector with `Right Alt`, then the selected sector will be rotated instead. Hold `Shift` to get a more precise angle.
`Tab` | Press `Tab` in a sector to display its attributes at the bottom of the screen. To clear it, press `Tab` in an empty area.
`L` | Toggles grid locking. Grid locking means that vertices will lock to the closest grid point when moved or placed. If the grid is turned off, the grid locking will be turned off. A red mouse cursor means grid locking is on, a white mouse cursor means grid locking is off.
`G` | Changes the grid resolution. The grid resolution cycles through this sequence: 1024 units, 512 units, 256 units (default), 128 units, 64 units, 32 units, OFF.
`A` / `Z` | Zooms in and out respectively.
`O` | Causes a sprite to travel in the direction exactly opposite its angle until it connects with a wall (any wall, including two-sided walls). Once it has reached a wall, the sprite's angle is adjusted to be orthogonal (perpendicular) to the wall. This is handy for placing wall-aligned sprites directly on a wall, and especially handy for moving SectorEffectors directly onto a sector's first wall.
`P` | Enter highlighted sector's floor and/or ceiling palette. The floor palette will affect all sprites within the sector (including wall-aligned sprites).
`Scroll Lock` | Sets the current camera position as the default player start position (represented by a brown arrow). Your co-ordinates, height, and angle will be saved.

Function Keys

Keypress | Function
--- | ---
`F1` | Displays a quick help. It also decreases your x-position by 1.
`F2` | Increases your x-position by 1.
`F3` | Decreases your y-position by 1.
`F4` | Increases your y-position by 1.
`F5` | Displays map statistics.
`F6` | If a sprite is highlighted, it will display a SectorEffector help chart. If no sprite is highlighted, it will display the actor status and the next free tag number.
`F7` | If the cursor is in a sector, it will display a Sector Tags help chart.
`F8` / `F9` | Wall / Sector search. Insert the tag number then press `[` or `]`. `F9` also decreases your angle by 1.
`F10` | Increases your angle by 1.
`F12` | Takes a screenshot and saves it to a file (`CAPT####.PCX`) where #### is the number (i.e. 0000...0001...etc).

Simultaneous

Keypress | Function
--- | ---
`Ctrl + Right Shift` | Highlight a wall and use this key combination to select all the vertices of the sector, which can then be dragged around. Use the `Left Mouse Button` to drag the sector. Note that all nested sectors and sprites within the sector will remain stationary (this is what differentiates this function from `Right Shift`). Note that `Right Shift` highlighting will only stay active for one cycle to 3D mode. After cycling back to 2D mode it disables itself. It can also be manually disabled by pressing `Right Shift` again in 2D mode.
`Ctrl + H` | Toggles hitscan of wall. Hitscanned objects will appear thick in 2D mode.
`Ctrl + Shift + H` | Toggles one-sided hitscan of wall. Hitscanned objects will appear thick in 2D mode.
`Ctrl + T` | Toggles tag boxes.
`Right Ctrl + Delete` | Deletes the entire sector which the mouse cursor is in. Note the `Right Ctrl` for protection. Check the "References - FAQ" section for more information about deleting sectors.
`Shift + B` | Toggles one-sided blocking of wall.
`Ctrl + Shift + Enter` | Check all pointers. Attempts to fix corrupted pointers in a map. This function wasn't documented.
`Alt + Tab` | Has the same function as `Tab`, except used for walls and sprites. An unfortunate choice for a key combination, since Windows reserves this for switching between programs. This has been changed to `Ctrl + Tab` in modern ports.
`Alt + F` | Sets highlighted wall as that sector's first wall. The first wall is the axis line for slopes. Make sure the mouse cursor is on the proper side of the wall before pressing `Alt + F` (this is important for two-sided walls especially, as each side has different attributes).
`Alt + S` | Place the mouse cursor within an inner loop, make sure that an inner wall of the loop is highlighted (flashing), and press `Alt + S` to turn it into a nested sector (valid player space).
`Apostrophe ( ' ) + 3` | Toggles tag display (7 settings).
`Apostrophe ( ' ) + M` | Displays memory status (Build will crash if you try to switch to 3D mode after using this key!).

Hi-Tags/Lo-Tags

Keypress | Function
--- | ---
`T` | Used to enter a sector Lo-Tag. Place the mouse cursor inside the sector first.
`Alt + T` | Has the same function as `T`, except used for walls and sprites. Highlight the object with the mouse cursor first.
`H` | Used to enter a sector Hi-Tag. Place the mouse cursor inside the sector first.
`Alt + H` | Has the same function as `H`, except used for walls and sprites. Highlight the object with the mouse cursor first.

Mouse

Buttonpress | Function
--- | ---
`Mouse` | Moves the cursor.
`Left Mouse Button` | Hold to drag vertices, sprites, or copied sectors.
`Right Mouse Button` | Hold to lock the camera to the mouse cursor's position. Useful for getting to sectors which are difficult to access in 3D mode.
`Middle Mouse Button` | Hold to lock the camera to the mouse cursor's position.
`Right Shift` | Use this in combination with the mouse to highlight vertices/sprites for mouse dragging.
`Right Alt` | Use this in combination with the mouse to highlight sectors for mouse dragging.

3D mode

General

Keypress | Function
--- | ---
`Escape` | Asks if you'd like to quit (Y/N). Also asks if you want to save your changes to the map.
`Keypad Enter` | Switch to 2D mode.
`Arrow Keys` | Move player's position. The player will be clipped. Hold `Left Shift` to move faster. Holding `Left Alt` will cause the player to strafe rather than turn.
`A` / `Z` | Moves the camera up and down respectively. Hold `Left Shift` to move faster. Hold `Ctrl` to aim down and up instead (the directions will be inverted).
`Caps Lock` | Switches between three z co-ordinate modes: Gravity Mode, Height Lock mode (default), and Float mode. `A` and `Z` move vertically up and down for all three.
`PGUP` / `PGDN` | Changes an object's elevation (floors, ceilings, or sprites). If a wall is highlighted, then the ceiling of that sector will move. If you highlight multiple sectors in 2D mode, then switch back to 3D mode, you can adjust multiple floors and ceilings.
`V` | This will activate tile selection mode. Press `V` on the texture you would like to change. An image list of all the textures currently being used in the map for the currently highlighted object type (floor/ceiling, solid wall, masked wall, or sprite) will be displayed. The textures are listed by number of instances in the map, in descending order (from most common to least common). See "Tile Selection Mode" further below for a full list of keypresses.
`Keypad 2`/`4`/`6`/`8` | This adjusts the repeats of the pixel columns/rows (effectively smooshes them together, or spreads them apart). Used on walls or sprites. If used on the floor or ceiling, they will be panned instead. Hold `Shift` to use the same panning functionality on walls. In any of these cases, use in conjunction with `Keypad 5` to make the values align at multiples of 8 (speeds up the process).
`Keypad +`/`-` | Adjust the shade of currently highlighted object. Floor shade affects all sprites within the sector (except wall-aligned sprites), unless the ceiling of the sector is parallaxed, in which case sprites within the sector will ignore the floor's shade and take on the ceiling's shade instead (except wall-aligned sprites).
`/` | Resets a sprite's pixel repeats (size). Resets a wall's panning, pixel repeats (size), and cstat flags (only the highlighted side is affected). Two-sided (red) walls must be masked in order to be highlighted. Resets a floor's/ceiling's panning and flattens its slope.
`.` | The period key adjusts the panning and yrepeat values of all the walls in a loop. It scans along the walls to the right as long as the picture number is the same as the last wall. It basically "straightens" up your walls to make them look neater. (Note: This can cause Build to freeze, save before you attempt this).
`F` | Flips textures. For sprites and walls, the textures are flipped in up to four different ways (none, x-wise, y-wise, or x+y). For ceilings and floors, the textures can be flipped up to eight different ways (all of the possible combinations of none, x-wise, y-wise, and x/y axes swapping). Just keep pressing `F` to see the variations.
`S` | Insert sprite at mouse cursor's current location. If aimed at the floor/ceiling, the sprite will appear directly on the floor/ceiling, and its relative alignment will be set as face-aligned. If aimed at a wall, the sprite will appear directly on the wall, and its relative alignment will be set as wall-aligned. The sprite will be automatically textured with the most common sprite texture to appear in the map, or with the sprite texture currently stored in the buffer, if the stored object is a sprite (some of the copied sprite's attributes will also be reproduced).
`Delete` | Deletes the highlighted sprite.
`,` / `.` (aka `<` / `>`) | Changes the angle of a sprite. Hold `Shift` to get a more precise angle.

Function Keys

Keypress | Function
--- | ---
`F1` | Displays quick help.
`F2` | Move right.
`F3` | Move forward.
`F4` | Move backward.
`F9` | Turn left.
`F10` | Turn right.
`F11` | Gamma correction.
`F12` | Takes a screenshot and saves it to a file (`CAPT####.PCX`) where #### is the number (i.e. 0000...0001...etc).

Simultaneous

Keypress | Function
--- | ---
`Alt + P` | Adjust an object's palette value (floors, ceilings, walls, or sprites). The floor palette will affect all sprites within the sector (including wall-aligned sprites).
`Alt + F` | Sets the sector's first wall. This can be set while highlighting either the wall itself, the floor just below it, or the ceiling just above it. It actually rotates the wall numbers of a sector. The first wall is used as the axis line for slopes. When you use relative alignment mode on ceiling and floor textures, you can press `Alt + F` to choose a new wall to align to.
`Alt + D` | Change a sprite's clipdist (clipping distance). This only works if the sprite's relative alignment is set to "face-alignment" (always faces the player). It does not work on all sprites. This is actually a very useful feature.
`Alt + [` / `Alt + ]` | Used to align a slope perfectly to the adjoining floor or ceiling respectively.
`Alt + Keypad +`/`-` | Adjusts sector visibility.
`Shift + Alt + Keypad +`/`-` | Adjusts sector visibility in smaller increments.
`Ctrl + Alt + Keypad +`/`-` | Adjusts the engine's base visibility (same as adjusting the `DEFAULTVISIBILITY` value in `USER.CON`). This does not affect the map, only the way it is displayed.
`Ctrl + A` / `Ctrl + Z` | Look down / Look up, respectively (note the inversion).
`Ctrl + P` | Used on a parallaxed floor/ceiling to change the mode of parallaxing (default, elongated, and cylindrical). Note that this has no effect in the actual game, and therefore is useless.
`Ctrl + PGDN` / `Ctrl + PGUP` | Places a sprite exactly on the floor or ceiling, respectively. A sprite which is exactly on a floor or ceiling will stick to it as it moves vertically.
`Shift + /` | Sets xrepeat to yrepeat (squares the dimensions). Only works on sprites.
`Apostrophe ( ' ) + Delete` | Clear all cstat flags for a wall/sprite.
`Apostrophe ( ' ) + C` | Changes the global shade of the highlighted object type (floor, ceiling, solid wall, or sprite) to the shade of the currently copied texture, provided that they are both the same texture. This function has no direct effect on overtiles (masked textures), but it will indirectly affect them if it adjusts the shade of the textures above/below them.
`Apostrophe ( ' ) + G` | Toggles buffer texture display (displays the currently copied texture).
`Apostrophe ( ' ) + R` | Toggles FPS (Frames Per Second) display.
`Apostrophe ( ' ) + S` | Insert a shade value for the highlighted object. Floor shade affects all sprites within the sector (except wall-aligned sprites), unless the ceiling of the sector is parallaxed, in which case sprites within the sector will ignore the floor's shade and take on the ceiling's shade instead (except wall-aligned sprites).
`Apostrophe ( ' ) + V` | Insert a value for the sector's visibility.
`Apostrophe ( ' ) + W` | Toggles sprite display (all sprites/no effectors/no actors/none).
`Apostrophe ( ' ) + Y` | Display undefined textures as "purple" (looks more like pink) instead of causing the HOM (Hall Of Mirrors) glitch. Personally I think this feature should have been enabled by default.

Copying and Pasting

Keypress | Function
--- | ---
`Tab` | This copies the attributes of an object into a temporary buffer. The attributes it stores are: picnum (texture), shade, palette, cstat flags, tags, extra, panning, and pixel repeats. Aside from picnum, shade, and palette, the attributes can only be copied between objects of the same type (floor/ceiling, solid wall, masked wall, or sprite), and panning can only be copied between floors/ceilings.
`Enter` | This pastes the stored attributes over the highlighted object. If used on walls, the y-repeat value stays the same, and the x-repeat value is adjusted so the pixels of the bitmap have a square aspect ratio.
`Ctrl + Enter` | Pastes the picnum, shade, and palette attributes to every wall in a loop (if a wall is highlighted).
`Shift + Enter` | Pastes the shading/palette attributes only.
`Ctrl + Shift + Enter` | Auto-shades walls. First make any wall in a loop the lightest shade you want. Then make the last wall in the loop the darkest shade you want. Now place the mouse cursor over the wall that you want to be the lightest and press `Ctrl + Shift + Enter`.
`Alt + C` | Pastes the stored object texture globally. For example, if you wanted to replace all of the shotguns in your map with chainguns, you would simply copy the chaingun texture to the buffer with `Tab`, then highlight a sprite using the shotgun texture and press `Alt + C`. Every sprite in the map using that texture would be replaced with the stored texture! This is object-specific, meaning it will only affect the textures of the currently highlighted object type (floor, ceiling, solid wall, masked wall, or sprite), and it only affects the picnum (texture). No other attributes are modified. All of these traits combine to make this one of the most useful functions in the editor.

Sector (Ceiling/Floor) Flags

Keypress | Function
--- | ---
`[` / `]` | Slopes floors/ceilings up and down respectively. The sector's first wall is the axis line for slopes. Holding `Right Shift` slopes in smaller increments, and holding `Shift` slopes in the smallest increments.
`P` | Toggles parallaxing, which is basically a sky effect. Note that a parallaxed ceiling will cause sprites within the sector to ignore the floor's shade and take on the ceiling's shade instead. However, the floor will always have priority on a sprite's palette.
`E` | Expand/compress a ceiling or floor texture.
`R` | Toggles relative alignment mode for ceilings and floors. When you use relative alignment mode on ceiling and floor textures, you can press `Alt + F` to choose a new wall to align to.

Wall Flags

Keypress | Function
--- | ---
`B` | Toggles the blocking flag. Use `Shift + B` to toggle one-sided blocking.
`H` | Toggles hitscan flag (basically means 'hittable'). Allows a masked wall to be shot by bullets and other projectiles. Use `Shift + H` to toggle one-sided hitscan sensitivity.
`T` | Switches between three different modes of transparency: opaque, semi-transparent, and transparent.
`M` | Masks both sides of a two-sided wall. This can be set while highlighting either the floor just below where the two-sided wall would be, or the ceiling just above it. The texture will be the same on both sides, except it will be flipped x-wise.
`Shift + M` | Masks a two-sided wall on only one side. This type of one-sided masked wall will still be compatible with transparency settings and invisible (pink) pixels. Note that blocking/hitscan flags will affect both sides of a one-sided masked wall unless the `Shift` modifier key is used to set the flags.
`1` | Makes a 'solid' one-sided masked wall. This differs from `Shift + M` in that the wall will not be compatible with transparency settings or invisible (pink) pixels. This type of masked wall must be used to make mirrors. Note that blocking/hitscan flags will affect both sides of a one-sided masked wall unless the `Shift` modifier key is used to set the flags.
`2` | Allows the floor step and the ceiling step of a wall to be separately editable. Just press `2` on the top half of the wall. This feature isn't perfect, and it will cause shading problems if used with the light switch effect (bottom half of the wall will not respond). The walls will still share repeat values.
`O` | Wall orientation. Changes whether the texture aligns to the ceiling or floor.

Sprite Flags

Keypress | Function
--- | ---
`1` | Toggles one-sided sprites. This is only relevant for wall-aligned or floor-aligned sprites. Note that only the visible side will be blocked/hittable.
`B` | Sets the sprite as both Blocked and Hittable, or disables both if pressed again. A sprite with this attribute set will appear pink in 2D mode, and blue if it is disabled. Note that most 'active' sprites are automatically blocked and hittable in the game.
`H` | Toggles hitscan flag (basically means 'hittable'). The sprite will appear thick in 2D mode. Note that a sprite which is blocked will also be hittable regardless of the hitscan flag setting.
`C` | Toggles between "true-centering" and "foot-centering". With true-centering enabled, the sprite's elevation will be relative to its actual center. By default sprites are foot-centered.
`O` | Causes a sprite to travel in the direction exactly opposite its angle until it connects with a wall (any wall, including two-sided walls). Once it has reached a wall, the sprite's angle is adjusted to be orthogonal (perpendicular) to the wall. This is handy for placing wall-aligned sprites directly on a wall, and especially handy for moving SectorEffectors directly onto a sector's first wall.
`T` | Switches between three different modes of transparency: opaque, semi-transparent, and transparent.
`R` | Toggles relative alignment. Switches between face-alignment (sprite always faces the player), wall-alignment, and floor-alignment. Floor-alignment can cause some sprites ('actors' such as enemies, health, etc.) to malfunction in the game, and some sprites will also look meshed. As a general rule, only textures with dimensions which are powers of 2 will look proper in floor-alignment mode. For example, some compatible texture sizes would be 32x32, 64x128, 32x256, etc. Some incompatible texture sizes would be 13x17, 57x9, 21x55, etc.

Hi-Tags/Lo-Tags

Keypress | Function
--- | ---
`Apostrophe ( ' ) + H` | Sets the Hi-Tag of the current object (wall/sprite/sector). Aim at the floor or ceiling to set the sector Hi-Tag.
`Apostrophe ( ' ) + T` | Sets the Lo-Tag of the current object (wall/sprite/sector). Aim at the floor or ceiling to set the sector Lo-Tag.

Tile Selection Mode

This mode is accessed by pressing the `V` key on a texture.

Keypress | Function
--- | ---
`V` | Display entire texture list.
`Arrow Keys` | Move selection cursor.
`PGUP` / `PGDN` | Move selection cursor by page increments.
`Keypad /` | Zoom in.
`Keypad * (asterisk)` | Zoom out.
`G` | Goto specific texture number (automatically skips to entire texture list if `V` was not pressed first).
`Escape` | Cancel texture selection.
`Enter` | Accept texture selection.

Mouse

Buttonpress | Function
--- | ---
`Mouse` | Moves the cursor.
`Left Mouse Button` | 'Lock' the currently highlighted object. The object will stay selected regardless of the mouse cursor's position. This helps you move things up and down even when they've left your field of vision. This feature is extremely useful, to the point of being necessary for many tasks.

Return to top