[These docs are better than the last release's, but they're still best printed out instead of just viewed. I really wish MS-Word didn't cause a GP fault when I try to save it as text-with-layout :) ] .............................................................. Introduction Welcome to DCK! Thanks for taking the time to try out DCK. Before you read ahead, please take a few moments and browse the information in this section. It might just help you out! To run DCK, simply type DCK from the DOS prompt. If this is the first time you've run DCK, it will load up DOOM.WAD and create its texture lookup tables, after which you must run DCK again. This time you'll enter the map editor. Command-line parameters Command-line parameters must be preceded by one of '-' or '/'. Usage: DCK [options] Options: (* specifies a default option, append '-' to turn it off) /F file [file2...] preloads specified PWAD(s) /E episode level edits specified level /R * restores previous edit state /T force texture lookup table rebuild KSB / keep selection box on empty left click /FD floor texture display, then exit /TD wall texture display, then exit /CE combine exact vertexes, even w/o auto-join mode If /R- is not specified, the previous edit state is restored, including: All loaded WAD files, the current level being edited, the last map position and zoom values, and all toggles including grid and snap to grid. DCK Basics Please note: If you have never designed a DOOM level before, you *must* read Appendix A, which defines all the rules you must follow when building your own maps. Although DCK attempts to automate most of the procedures involved in doing so, there will be times where the knowledge of "how things work" will be essential to your completion of a successful map. What is DCK? DCK is a powerful, intuitive tool that will help you create DOOM maps. It can't do everything for you, but what it can do is make the process a whole lot easier by automating the many repetitive and time-consuming tasks that it takes in order to build a complex level. DCK, unlike some other editors, will not hide anything from you in an attempt to make it easier to use. As these "other" editors have shown, that approach only serves to constrain the level of detail that can go into a map. DCK Basics 2 Page Instead, DCK takes a more logical approach with several unique features that are designed for the express purpose of creating complex maps in as little time as possible. Several users have dubbed DCK a "line-oriented" editor -- most of the editing you'll do in DCK will be using its powerful line drawing tool, which automates creating lines and new sectors. See "Line Drawing", page , for a detailed description of this tool. 16 DCK's powerful drag-and-drop features allow quick and precise modifications to things, vertexes, linedefs and entire sectors -- including multiple selections of each! The consistency checker will catch any errors (if any) that your map contains, and can fix most of them automatically. DOOM Construction Kit Page 3 ........................................................ The User Interface DCK's user interface consists of a menu system, a button bar, a keyboard interface and popup dialog boxes. DCK's interface is what is known as a "modal" interface; that is, when one element of the interface is active, the others cannot be used. For example, if a dialog box is onscreen, it must be exited before the menus or button bar can be used. This chapter describes how to navigate the interface, with a following section describing all the operations you can perform in DCK and how to access them through the keyboard and menu systems. The Menu Interface DCK's main menu is a bar on the top of the screen with several sub-menus. To access a menu, click and release the left mouse button once on its menu item. If the item has a "sub" menu, then it will be displayed. Otherwise, the action described in the menu item will be performed (if possible.) In a menu, the arrow keys are used to move the selection bar to the desired item. When moving around the menus, the status bar (at the bottom of the screen) displays a description of the currently highlighted item. Key Action Left/ Next / Previous item (on menu bar) or menu (in a Right submenu) Up/Down Next / Previous item Enter Pull up submenu / activate item Esc Exit menu system (other) Activates item with this selection character The Button Bar The button bar is displayed just below the main menu bar. To activate a button, click the left mouse button once. When the mouse pointer is over a button, a description of the button's function is displayed on the status bar at the bottom of the screen. Not all buttons are available in each edit mode. Dialog Boxes At various locations in DCK, a dialog box will be displayed prompting you for information which you must enter before continuing. Dialog Boxes are simply grey boxes with a title and various edit controls, and usually OK and Cancel pushbuttons. To move from one edit control to another, use the TAB key (to move forward), and combined with the SHIFT key (to move backward.) Or, use the mouse and click once on the desired control. Following is a description of each type of edit control: Page 4 Data Entry Fields Data entry fields accept either strings of text or a number, depending on the context of the field. The following keys can be used in a data entry field: Left/ Move cursor left / right Right Home/End Move cursor to beginning / end of field text Del Delete the character under the cursor Ins Toggle insert (small cursor) / overwrite (large cursor) mode Backspace Delete previous character Pushbuttons A pushbutton performs a specific action each time it is activated. Use the ENTER key while the button is highlighted to activate it, or click the left mouse button over the control. For example, the "OK" pushbutton in a dialog box will save the contents of the dialog box and exit it, continuing with whatever was going on before the dialog box was displayed. Check boxes A checkbox is a simple "on/off" toggle. When the box is "checked", a white square appears in the rectangle. Otherwise, the box is empty. Some checkboxes have three possible settings: Checked, Unchecked, and "half" checked. The "half" setting depends on the context of the box; usually it means "don't change." Radio buttons Radio buttons are like checkboxes, with one exception: only one of the buttons in any given "group" can be checked at once. When a radio button is checked, the currently checked button in its group is first unchecked. DOOM Construction Kit Page 5 ..............................................Object Manipulation Functions The following section contains a list of all the functions you can perform in DCK. Each function begins with a line that contains a quick description of the function, the keyboard shortcut, and the menu you'll find it under (from DCK's main menu bar.) Most of the functions (and certainly, all the edit functions) are only available in map edit mode, and will not work from dialog boxes or menus. I've attempted to make logical the structure of the keyboard shortcuts, with the following kept in mind: Keys that are modified with the CONTROL button (such as Ctrl+X) are generally to do with modifying object. Those that use ALT (such as Alt+S) are to do with the system; eg: the clipboard, saving maps and exiting DCK. Keys that do not use modifiers (such as J and G) are toggle keys. To bring up the main menu system, press the ESC key when in the map editor (and ESC again to return to the editor.) Alt++ Copy marked objects to the clipboard Edit Creates a duplicate of all marked objects in the "clipboard", erasing whatever was already stored there, if anything. Several considerations should be made when copying objects. The clipboard will only copy those objects that are marked, plus the object under the cursor (if any.) Other references will be left undefined and must be corrected or the map will not function properly. For example, suppose you copied a sector with several two-sided linedefs that border on another sector. Those sidedefs that reference the other sector will be left unchanged (ie: they will still reference the original sector) when pasted. When copying any objects except things, the copy is started in the following chain and continues down to the last item: Sectors 1. 2. Linedefs and Sidedefs Vertexes 3. TIP DCK has two clipboards: One for things, and one for all other types of objects. The two clipboards are independent of each other. Alt+- Cut marked objects to the clipboard Edit This will : Make a duplicate of the marked objects in the clipboard (see - "Copy marked objects to the clipboard," page .) 6 Remove the marked objects from the map. - The user interface Page 6 Alt+* Paste clipboard objects to the map Edit Does not affect the contents of the clipboard (ie: the objects are retained) so you can paste the same objects multiple times. TIP The edit mode that's active when you paste the clipboard has an effect on what is pasted to the map. For example, if you copy some sectors into the clipboard, and then paste the clipboard in line mode, only the lines (and vertexes) will be pasted, and the sector information will not be copied. B Toggle display of the clipboard rectangle The clipboard rectangle is a rectangle the size of the area of all the clipped objects. It's useful for positioning the cursor before you paste the objects. . , / Decrease/increase selection leniency If you're having trouble selecting a particular object, try decreasing the leniency of the selector by pressing the ',' key. Use '.' to increase it again (0 is the default lenience.) ` Toggle fine edit mode Fine edit mode allows precise control over changes you make to the map. For example, scale objects [Ctrl+A) increases the scale by 0.025 units in "fine mode", as opposed to 0.1 units otherwise. Operations that are affected include: Zoom, Rotate and Scale. J Toggle auto-join mode In auto-join mode, DCK will automatically combine vertices when one is moved or created "close" to another. It will also automatically split a linedef on its closest point when a vertex is created or moved "close" to the line. You can use auto-join mode for easy room attachments: Simply turn it on, and drag the smaller room's wall over the larger room's. The large room's wall will be split and the line bordering the two will become two-sided and impassable. Ctrl-X/Y Align objects Object Aligns all marked objects on the same (X or Y) position as the cursor. This is useful for creating series of structured lines and vertices. C Clear object marks DOOM Construction Kit Page 7 Not much to explain here. V/L/S/T Switch edit modes Edit Switches edit mode to one of: Vertex, Line, Sector or Thing. Clears all current object marks first. - You can't do this while performing a drag, scale, rotate or other similar operation. Finish the operation first by pressing ENTER to complete or ESC to abort it. / + - Increase / decrease zoom factor Zoom allows you to view more or less of the map, and allows greater editing control when zoomed in. Z Fast zoom Pressing Z while zoomed OUT will zoom IN on the cursor position to the high factor set in DCK.CFG. Pressing it again will zoom OUT to the low factor set in DCK.CFG. Great for quickly examining parts of the map and then returning to a wider view. Ctrl+V Snap marked objects to grid Object Snaps all marked objects to the grid. When working with lines and sectors, all vertexes that are referenced by the marked objects will be snapped to the closest grid points. This operation is still functional even with snap to grid mode off. TIP Because each object is moved to the grid point that's closest to its original location, you'll get better results by lowering the grid step before using this function. Ctrl+P Format Painter Object The format painter copies a Source object's settings to all marked objects: 1. Mark all the objects you'd like to change. Move the cursor over the source object and highlight it. 2. 3. Press Ctrl+P. All marked objects will be changed to match certain attributes of the source object. What is changed (copied) depends on the object type: Object What is copied Things The flags (when it appears, deaf, multiplayer.) Sectors The sector type, light value and floor and The user interface 8 Page ceiling textures. Linedefs All linedef flags except "Two sided" and "Impassable", and all textures. Ctrl+T Automatic Tag-Set Line / Sector Allows you to quickly set a sector tag in a series of sectors or linedefs. Mark all the objects 1. you'd like to tag. 2. Press Ctrl+T. DCK will switch to the opposite edit mode, at which time: Move to the object to share the tags and click the left mouse 3. button once. If the "clicked" object already has a sector tag, that tag will be set in all the marked objects. Otherwise, a new tag will be found and set in both the marked *and* the clicked object. Ctrl+N Normalize Lines Line "Normalizes" a line by setting its type to "Normal" and its sector tag to zero. This is useful for removing old and unused triggers. Ctrl+Z Create Stairs Line In order to use the stair tool, you must first mark two lines. The stairs will be created along the lines, which do not have to be the same length. The position of the first and last stair (ie: the direction of the staircase) is based on the direction of the first marked line. The stairs will start at its first vertex and end at its second. The preview window below the stairs dialog box displays the direction of the staircase; use the Reverse checkbox to toggle it. A couple things to keep in mind: The two selected lines should have nothing in between them. - The stair tool will handle only simple situations -- the best way to create complex staircases is to use the stair tool and then use DCK's powerful drag-drop features to customize it. - Creating staircases that go down is simple; just enter a negative value for the "height change" field in the dialog box. Alt+M Change Motif Edit Changes the current motif: A menu of all the available motifs is displayed and you can pick the one you want. The motifs are defined in the file DCK.ADF, which can be edited with any DOS text editor. DOOM Construction Kit Page 9 Spacebar Mark / unmark the object under the cursor Again, not much to explain here. Ctrl+A Start scaling operation Object All marked objects are considered and the focal point for the scale is set at the center of the marked area. Use the < and > keys to decrease / increase the scale of the objects, ENTER to save the changes, or ESC to abort. Ctrl+O Start rotation operation Object All marked objects are considered and the focal point for the rotation is set at the center of the marked area. Use the < and > keys to decrease / increase the rotation angle of the objects, ENTER to save the changes, or ESC to abort. Del Delete marked objects Edit Note that this works only in vertex, line and thing mode at the moment, and that this operation will only clear vertices that are not connected to any linedefs. TIP If you use Del to delete a line that has two sidedefs, DCK will not combine the sectors it separates. If you want to combine the sectors, use Ctrl+J instead. Arrow Keys Move map Button-Bar Moves the map in the direction specified. Alt+F Search for and mark objects Search Pops up a search dialog (depending on the edit mode, the type of search box is different) and prompts for search information. When you exit the dialog box, DCK will search for all the objects matching the criteria you entered and mark them. If you want to mark ONLY those objects that match, press 'C' before you perform the search to clear the existing object marks. < / > Decrease / increase scale / rotation factor Functional only while performing a Scale / Rotate operation, the < and > keys decrease and increase, respectively, the current scale factor or rotation angle. Alt+C Consistency Check Map The user interface Page 10 Pops up the consistency check dialog box and prompts for options to check. Note that not all of the options are functional at the moment; those that are not functional cannot be checked. The consistency checker will test each option you've selected against your map, building a list of errors as it goes. When the check is complete, a dialog box will be displayed with a scrollable list of all the errors that DCK found. In the dialog box, you can do the following: - Some errors are specific to a certain object. If you'd like to see the object in question, press `G'. DCK will switch to the appropriate edit mode and automatically zoom in on the object in error. Each error is explained in detail if you press F1. - Some errors can be automatically fixed by pressing `F'. If an - error can be fixed, DCK will do so and display exactly what was done at the bottom of the dialog box. Press F1 beforehand for an explanation of exactly what "fixing" the error will do. Ctrl+C Split linedefs at center Line Processes each marked and cursor-selected line by splitting each at the middle (hence, adding a vertex) and creating the necessary sidedefs by duplicating the original line's sidedef(s). Ctrl+F Flip linedefs Line For each marked/highlighted linedef, flips its vertex references. Sidedefs are also flipped, resulting in "no visible difference" to the DOOM player. However, consideration should be given to those linedefs which are spacebar-activated, since they can only be activated from the first side. Ctrl+R Reverse sidedefs Line For each marked/highlighted LINEDEF, reverses its SIDEDEF references (and nothing else, ie: the SIDEDEF SECTOR references are left unchanged.) 1 Alt+ 2 Edit SIDEDEF 1/2 / Line Edits the specified SIDEDEF for each marked/highlighted LINEDEF. A SIDEDEF is automatically created for those LINEDEFs without. Alt+R Replace Textures Line Displays a "texture replace" dialog box with six texture fields (three search and replace pairs). Enter the textures to search for and replace, and press F10 to perform the operation. If you DOOM Construction Kit Page 11 don't want a particular texture replaced, leave its "search" field blank. If object(s) are marked before pressing Alt+F, the default is set to "replace only in marked objects." Ctrl+I Insert required textures Line For each marked/highlighted LINEDEF, checks one or both of its SIDEDEF references for missing textures and adds them where required, taking from the surrounding SIDEDEFs (if any) to preserve the scenery. Ctrl+U Remove unrequired textures Line For each marked/highlighted LINEDEF, checks one or both of its SIDEDEF references for texture references where "not required" and removes them. This includes removing full textures where not required. Ctrl+J Join linedefs / sectors Object In LINEDEF mode (join sectors) For each marked/highlighted LINEDEF, deletes the sector referenced by the second sidedef and changes all SIDEDEFs with that sector reference to that of the line's first side, and then deletes the line. In VERTEX mode (join lines) For each marked/highlighted VERTEX, checks for two LINEDEFs: One ending on and one starting on the vertex. Then extends the first linedef (the one that ends on the vertex) to the second line's endpoint and deletes the second LINEDEF (and its SIDEDEFs, of course.) Alt+S Save current map Map Pops up a dialog box which prompts for a filename and episode and mission numbers to save under. Press OK to save the file, or Cancel to abort. There are a few considerations to make when saving with this and other beta versions of DCK: -- DCK will save only the current map to a file. That is, if you - save to an existing file with additional data in it, that data will be erased. Proceed with caution. - If you make changes to the map before saving (changes to the map include moving lines, vertices, or otherwise modifying the architecture of the "3D" space), DCK will not save the nodes, blockmap, reject, etc information and you must rebuild it with BSP (or another) before using the WAD file. The user interface 12 Page Conversely, if no changes are made to the map and existing - node, blockmap and other information is available, DCK will duplicate that information in the saved file so you don't have to rebuild it all. Alt+E Load map Map If you haven't saved your work, DCK asks you if you'd like to do so before proceeding. A dialog box is displayed prompting you for information: Which episode and mission number you'd like to edit. Loads the map by reading all necessary data from its WAD file. The WAD file that is accessed is either the IWAD (DOOM.WAD) or, if any loaded PWAD file contains the map data, that instead. Alt+X Exit DCK Map If you haven't saved the changes to your map, DCK will first ask if you'd like to do so. G Toggle grid display Toggles grid display on and off. Note that this setting does NOT affect "snap to grid." / [ ] Decrease / increase grid step Decreases / Increases the grid step by halving or doubling the current step. P Toggle snap to grid When ON, snap to grid causes all objects, when moved, to "snap" to each grid point. This is invaluable for lining objects up correctly. Use [ and ] to decrease or increase the size of the grid. ESC Multi-Purpose The ESC key performs a different action depending on what's currently going on: - When you're performing a "drag" operation such as scaling or rotating, DCK will abort the operation by returning the objects to their original positions and exiting the operation. - If nothing's going on and you're in the map editor, ESC will bring up the main menu system by pulling down the last menu you were on. DOOM Construction Kit Page 13 If you're in a dialog box, ESC brings down the dialog box and - cancels the operation currently in progress. It's the same as pressing the "Cancel" button. ENTER Multi-Purpose The ENTER key performs a different action depending on what's currently going on. If you're doing something like dragging or scaling a series of - objects, ENTER will complete the operation by saving the objects in their current edit position. - If nothing's going on and there's an object under the cursor or some objects are marked, a dialog box will be displayed allowing you to edit the object(s). In a dialog box, ENTER moves to the next field or activates the - pushbutton you're on. The user interface 14 Page Creating and Editing Maps With DCK, creating a map is much faster than in other editors. This is largely due to the fact that DCK will automate most of the tasks involved in creating a map, such as adding sidedef and vertex references where needed. Of course, all information in any given map is directly accessible to the user using DCK's dialog boxes. This chapter is intended as a reference for editing an object's information. The following chapter describes a series of editing techniques that make using DCK easier and more efficient. You should browse through both chapters (both are short) before attempting any major WAD editing feats. :) Editing objects (Sectors, Things, Linedefs, etc) DCK allows multiple objects to be edited in one single step. First, mark all the objects you want to edit using the following methods: Click the left mouse button over an individual object to mark it. Use the mark box to mark multiple items. Use Alt+F (where applicable) to search for and mark certain objects. Then, press the ENTER key or the right mouse button to edit the objects. Wall and Floor texture fields On those dialog boxes with texture fields, several special keys can be pressed to speed up selection of textures: These keys F2 Access texture browser. The browser allows you to scroll can be through the list of textures while viewing them on- used in screen. Press ENTER in the browser to select the the displayed texture, or ESC to keep the original. browser Alt+F Search for a string in the texture names or in / Repeat the search forward the \ Repeat the search backward fields. Editing multiple objects If you're editing more than one object, the edit dialog box will fill a field only if its information is consistent throughout the marked objects. For example, if you edited 6 sectors whose floor heights were all 64, 64 would appear in the floor field. But if even one of the sectors had a different floor height, the field would be blank to indicate non-consistent information. Editing Linedef Information Press `L' to enter line edit mode. Effect Press F2 to get a list of valid linedef effects. An effect is triggered when the line is "activated" -- either by Walking over 16 Page it ("Walk" and "Walk-Repeatable"), Shot at or through ("Impact"), or Used by the player ("Use", "Use-Repeatable" or "Manual".) Impassable Check this box to make the line impassable to the player and monsters. This is the default setting for lines having only one side, since there's no place for the player to go should he or she pass through it, anyway. Two-Sided When set, the DOOM engine assumes that the line is "see-through", and will render lines beyond the far side of the line. Consequently, if this flag is NOT set and the line has no normal texture, the line will produce what is called the "hall of mirrors" effect. Monsters can only see through and projectiles can only pass through those lines with the two-sided flag set. Monsters can't cross Check this box to prevent monsters from crossing this line. Secret Linedefs whose type is not "normal" will be displayed differently on the auto-map by default. Check this box to make them appear as "normal" lines on the automap, effectively concealing them from easy identification. Note: This secret setting has no effect on the "secret" ratio at the end of a level. That ratio is determined by the number of sectors whose type is set to "secret", and the number of those sectors that the player stepped into. Lower texture is `unpegged' On linedefs with two sides, setting this flag causes DOOM to draw the lower texture from the bottom up, instead of the default of top-down. On linedefs with only one side, setting this flag causes DOOM to draw the normal texture from the bottom up. Upper texture is `unpegged' On linedefs with two sides, setting this flag causes DOOM to draw the upper texture from the top down, instead of the default of bottom-up. Blocks sound The effectiveness of this flag is questionable unless the entire area which is desired "quiet" is surrounded by linedefs with this flag set. Use it and test for yourself. Never on Map This simply tells DOOM to never put this line on the auto-map. Always on Map This means that the linedef is already on the map at level start- up. DOOM Construction Kit Page 17 Sector Tag This number associates the linedef with all sectors having the same tag. When the line is activated, all sectors having the same tag will be changed according to the line's effect field. Editing Sector Information Press `S' to enter sector edit mode. The dialog box fields are as follows: Type Press F2 to get a list of valid sector types. Floor/ceiling height Enter any value between -32768 and 32767. Note that the height difference required for players to traverse any sector is about 56. TIP To enter a "relative" value, prefix the number with "++" or "--", eg: ++128, --64. This will add or subtract the number you enter from the opposite height value (ie: ++128 in the ceiling field would add 128 to the floor value and place it there.) Floor/ceiling texture Enter a valid floor/ceiling texture name, or use one of the texture selection keys. Light level Enter a number from 0 to 255, 255 being the brightest (and usually too bright.) Sector tag This number associates the sector with all linedefs having the same number. Please see the Sector Tag description in Editing Line Information (page 16) for details. After editing and saving the information, DCK checks all two-sided LINEDEFs that border the sector for SIDEDEFs with missing textures, and will add or remove upper and lower textures where required. Editing and Creating Things (Monsters, decorations, weapons) Press `T' to enter thing edit mode. Creating new thing(s) Method 1: Double-click the left button where you'd like to create the new thing. A dialog box will be displayed with the attributes of the last thing that was edited; enter the information and press F10 to create the thing. Method 2: Double-click and hold down the left button on an existing thing or group of things and drag the mouse to the desired location; release the button and the things will be copied to the new location. Creating and Editing Maps Page 18 Editing existing things The dialog box fields are as follows: Type Enter the type of the thing by pressing F2 or double-clicking on the field. Use the arrows to scroll through the list of thing types and press ENTER on the desired type. TIP Various sections of the type list can be quickly jumped to by entering one of the following two-letter codes before pressing F2: PL Player/deathmatch starts WE Weapons AM Ammunition BO Bonuses (soul spheres, armor, etc) EN Enemies DC Decorations (light sources, dead guys, etc) KE Key cards and Skullkeys Levels The settings of the "level" fields dictate for which skill levels the thing will appear, and whether it will only appear in multi- player mode (cooperative or deathmatch.) Deaf Also known as the "ambush" setting; only useful for monsters. When set, the monster will not react until it sees the player or until it is wounded. When unset, the monster will also react to nearby sound. Start Angle Only effective for monsters, player starts and teleporter exits, this field dictates which angle the thing will face upon level startup. Reading the Display There are three basic areas to DCK's map editor display; the following sections describe each element in those areas and how to read the information. The Map The most apparent feature of DCK's display is the map, an overhead view of the DOOM level you're currently editing. The map display provides "glanceable" answers to most questions about the structure of the map. Linedefs (and their associated sidedefs) are displayed as Cyan and, where a line is impassable, Bright Cyan. In Thing or Vertex edit mode, the linedefs are displayed as Grey and Light Grey. Special lines are displayed in different colors: - Green denotes a line that has a "type", but no "sector tag." This is a common combination for lines that are used as local- door triggers. DOOM Construction Kit Page 19 - Magenta denotes a line that has a type AND a sector tag. Things are displayed in different colors for quick identification of their types. Their size on the map display is approximately equal to their width in the game itself, so you can align them properly. Following is a list of colors used for display: - Dark Green for player starts, Bright Green for Deathmatch starts. Dark Red for "small" enemies (including Demons), Bright Red for - tougher monsters. - Dark Purple (real men don't say Magenta) for keys, Bright Purple for rare items such as soul spheres and backpacks. Dark Blue for weapons 3 and 4, and Bright Blue for weapons 5-7. - Dark Cyan for ammunition and health, and Bright Cyan for armor. - Brown for decorations such as blood pools. - Yellow things are either Barrels (small) or Teleporter exits. - Vertexes are displayed in Cyan In Linedef edit mode, Green in Vertex edit mode, and NOT displayed in either Thing or Sector mode. The Status Bar The status bar displays miscellaneous information about the status of DCK. [Snap nn] displays: the current snap-to-grid mode and the current grid step. The three possible "snap to" modes are: Grid (No snap), Snap (snap to grid points), and Svtx (Snap to grid points and close vertexes.) [Fine] is highlighted when Fine mode (toggle with the ` key) is on. Fine mode affects the "step" taken in operations such as: moving the map, scaling and rotating objects and zooming in and out. [Join] is highlighted when Auto-Join mode (toggle with the J key) is on. Auto-join mode allows quick line-split-and-join operations to be performed simply by dragging vertexes and lines over existing lines. The second line of the main status bar displays the current edit mode and map being edited (including the location of the map.) The resource gauge shows how much memory DCK has left for objects. The Current Object When you move around the mouse cursor, DCK will highlight the object that the cursor is over and display information about it at the bottom of the screen. This information varies by edit mode: In Linedef mode The coordinates of the linedef (including the numbers of its vertex references) are displayed on the first line of the status bar. Creating and Editing Maps 20 Page "sTag" is the line's sector tag. The second line of the status bar displays the linedef's effect when activated. The last two lines display information about the linedef's sidedefs. If one of the textures (Upper, Full and Lower) is highlighted in Red, the texture is required but missing. Use Ctrl+I to insert the required texture(s). Textures that are highlighted in Blue are required and present. In Sector mode On the first two lines of the sector status bar are the floor and ceiling height and texture settings, then: "lite" is the Light value. "type" is the sector's type (eg, -10 health) "sTag" is the sector's line tag. DOOM Construction Kit Page 21 .........................................................Editing Techniques This section provides some basic methods and tips for designing maps quickly and efficiently. There is a definite way to use DCK, and a definite way not to use it; read this entire chapter and you'll learn the best way. Basics The appearance of a DOOM map to the player is based upon several things: the placement of lines, the textures of a line's side(s), and the attributes of the sectors that the sides are associated with. DCK's user interface is best-suited to editing and creating lines. Indeed, DCK's most intuitive feature is its line-creation tool, which allows vertex, line, side and sector information to be created in a series of mouse clicks and movement. All you have to know before starting a new series of lines is the basic shape of the region you want to create; DCK does all the rest by creating the vertexes, sidedefs and sector information necessary to convert the lines into a valid play-space. In particular, the three following commands / tools are very useful, and are the ones you'll use most often: Line Split (Ctrl+ ) splits the highlighted (and marked) line by C inserting a new vertex at its centerpoint and duplicating the line's information (including its sidedefs) in the second line. A Sector Split is created by drawing a single line from one vertex to another (both vertexes must be in the same sector.) All sides on one side of the split line (including the split line's appropriate side) will be associated with the new sector, whose information will match that of the original sector. A New, connected Sector is created by drawing a series of lines starting on a line's (the "borderline") vertex and ending on its opposite vertex. The borderline is modified to suit the type of region created (see below for more details.) TIP The best way to create new areas in a map is to work from a "top- down" approach: Create large areas first, then use the line split and sector split tools to fill in the details. It's easier for DCK to automate creation if it's working with a simple line structure. Creating a series of lines Switch to line edit mode by pressing L. To begin a new series of lines, double-click the left mouse button where you'd like to start drawing. Then, drag the `X' to the endpoint of the line. Now click (not double-click) the left mouse button again to place the end of the line here and begin a new line. 22 Page Each type of region you can create is detailed in the following sections, along with instructions on exactly how to create each. Creating Independent Regions An Independent Region is defined as being composed entirely of LINEDEFs which do not touch existing LINEDEFs and VERTEXes. Note: "Region" is a term used nly in this documentation, and then only when creating a series of lines. When the series is completed, the "region" becomes a SECTOR and can only be treated as such by DCK. Creating an Independent Sector in an existing (parent) sector This will create new sector information (copying the "parent" sector's information.) All created lines are set to "passable" and "two-sided", and two SIDEDEF references are created and associated with the LINEDEFs. The SIDEDEFs that are created are blank (ie: no textures), and reference the encompassing (parent) and encompassed (new) SECTORs. When a new sector is created, there is no visible difference to the DOOM view because it shares the same information as its parent sector, and all its walls are transparent and passable to the player. In order to change the landscape of the level, the sector's information must be modified. See "Editing Sector Information", below. Creating an Independent Sector in an existing sector When drawing outside of any existing sectors, DCK will automatically create a new and impassable sector (in effect, an unattached room) with the default wall, ceiling and floor textures. To create an Independent Region 1. Double-click the left mouse button where you'd like to begin the region. Make sure the start-point of the region is not on any existing lines or vertexes. Drag the `X' to where you'd like to end the line. Press the 2. left mouse button once. Repeat this step until you're done drawing lines, at which point: 3. Press the right mouse button once. Creating Extension Regions Extension Regions are defined as being a series of lines whose first and last point reside on an existing LINEDEF's two VERTEXes After an extension is completed, DCK will automatically create new sector information (duplicating the sector the extension was created from) and modify the borderline to reflect the extension: If the extension was created outside of the borderline's - sector, the borderline is made two-sided and passable to allow travel between the two sectors. DOOM Construction Kit Page 23 - If the extension was created inside of the borderline's sector, the created lines are made two-sided and passable. To create an Extension Region 1. If you haven't created a borderline, do so. Make sure its vertexes are aligned on the grid, or that you have "Snap to Vertex" mode on. Double-click the left mouse button on one of the borderline's 2. vertexes. Drag the `X' to where you'd like to end the first line. Press 3. the left mouse button once. Repeat this step until you're done drawing all but the last line, at which point: Drag the `X' to the borderline's other vertex and click the 4. right mouse button once. Creating and Editing Maps Page 24 .................................................................Appendix A This appendix describes the basic rules that you must follow when creating a DOOM map. They're necessary because the DOOM game engine won't function correctly if they're not followed. Map Structure In order for id to get such a high framerate from DOOM, they made certain restrictions on the structure of a map -- the most apparent of these being its "pseudo-3D" design. That is, each two-dimensional area on the map has only one floor height and one ceiling height. An area in DOOM is called a SECTOR. Each sector has its own settings for Floor and Ceiling heights, as well as for appearance settings such as light levels and floor and ceiling textures. So, in order to make an area in your map with any of these things different, you have to create a new sector. A sector is the area encompassed by the sides of the lines in the map that reference that sector. That may sound confusing! Here's an example: +-------------+ Legend: | 1 \ + is a vertex | 1 \ |, - and \ are lines |1 + | Sector 1 | + 1| \ 1 | \ 1 | +-------------+ In this example, we're working with Sector 1. The sector's shape is defined by all lines whose sides reference the sector (note the '1's at the center of each line.) Note: A line can have one or two sides. The second side is optional - if the line only has one side it must be the first (or "right") side. The first side of a line is visible on the map display as the side with the perpendicular line. You can manually edit a side's sector reference by first editing the line, and then clicking on button of the side you want to edit (see Editing Line Information, Page 16), OR using Alt+1 or Alt+2 (edit side 1 or side 2.) Page 26 The player can only cross through a line (from one sector to another) if that line has two sides, and then only if the difference in floor and ceiling heights between the two sectors permits. For example: +-------------+ (Can you tell I took ASCII | 1 \ art 101? :) | 1 \ |1 +---------+ | | 2 | + 1|2 | \ 1 | 2| \ 1 | 2 | +-------------+---------+ The line we're interested in is the border line between sector 1 and 2. If both sectors have the same floor and ceiling heights (let's assume 0 and 128), the player will obviously be able to pass from sector 1 to sector 2 (through the line), and vice-versa. The player can "step up" a maximum of 25 height units, so if sector 2 has a floor height of 24 or less (we started at 0), travel will still be possible both ways. The player can fall any amount. The ceiling height of the two sectors is also important - the height of a player is about 60 units, so any less and the player will not be able to go into a sector. Map Appearance As stated above, floor and ceiling textures and light levels can't vary in a single sector: if you want to add an area with any of these different, you have to create a new sector. Defined in each side of each line are three individual textures: The upper, the full, and the lower. Each is not always required - they are each used in different situations: The FULL texture is the most common. It is used on lines that only have one side and is painted along the entire height of the wall (from floor to ceiling.) You can reverse the drawing direction of a full texture by setting the "Lower Texture Unpegged" attribute of the line. Note: If you put a full texture on a line that doesn't require one (ie: a two-sided line), it will only be displayed correctly if it is a "single-patch" texture. Single-patch textures are marked as TRANS in the texture browser. The UPPER texture is used on sides whose opposite side's sector's ceiling height is lower. For example, suppose sector 2 in the above example had a floor height of 0 and a ceiling height of 100. The side of the borderline that references sector 1 would require an upper texture. Upper textures are drawn bottom-up by default; set the "Upper Texture Unpegged" checkbox to reverse this. The LOWER texture is used on sides whose opposide side's sector's floor height is higher. Suppose sector 1 in the above example had DOOM Construction Kit Page 27 a floor height of 16 and a ceiling height of 128. The side of the borderline that references sector 2 would require a lower texture. Lower textures are drawn top-down by default; set the "Lower Texture Unpegged" checkbox to reverse this. You can easily tell which textures are required on any side by looking at the status bar after highlighting a line with the mouse - see Reading the Display, page . 20 In Closing These rules and restrictions prevent the creation of true 3D maps, but you can get some pretty neat stuff done using the other features of DOOM, such as: Moving floors and ceilings, doors, elelators, etc. Check out Appendix B for tips! Neat Stuff with DOOM 28 Page .................................................................Appendix B This Appendix, entitled "Neat Stuff with DOOM", explains how things like doors and lifts work, and how to create them easily. It also has a section on the rules for monster activation. Doors, lifts, teleporters .. etc Since this section deals mostly with moving things, you should know how sector tags work. Each linedef and sector has a "sector tag" field (in the edit dialog box.) Here's what it means: Every moving thing ("thing" being doors, lifts, crushing ceilings, etc) in a DOOM map needs to be activated by triggering a line. A line is triggered differently depending on its Type: Either by the player USEing the line (by pressing the Spacebar when facing the first side of the line), the line being walked over, or being shot at. Some lines are retriggerable ("-R" types), while others can only be triggered once. When a line is triggered, all sectors that share its sector tag are affected in the way defined in the line's type. The value of the sector tag is sometimes confused with the object numbers - in fact, they have nothing to do with each other. All the sector tag number does is define the relationship between sectors and the lines that activate them. For example, suppose our example line is of type 81, which, as defined by the DOOM engine, is a walk-triggered line that sets the light value of the tagged sector(s) to 255. You'd first set this line's sector tag to the first unused tag (press F in the "Sector Tag" field.) Then, set all the tags of the sectors you want it to affect to the same number. Then, when the line is crossed, all sectors that share its tag will brighten to light level 255. Note: You should read "Automatic Tag-Set", page 9, for a quick and easy way to set sector tags. This kind of relationship is used in almost ALL moving parts of a map, the exception being "Manual Doors." A Manual Door is actually a kind of line: when the line is USEd, the sector referenced by its second side is used as the door sector. Doors When a door sector is closed, its ceiling height is equal to its floor height. Opening a door sector makes its ceiling rise to 8 below its lowest neighbor's ceiling. Upon closing, the door sector returns to its original height values. The following terms are used for doors in the line type list: OpenWaitClose The door opens, pauses for six seconds, and then closes. OpenStay The door opens and stays open. Page 30 Note: You can create doors easily by moving into the sector you want to use as a door and pressing Ctrl+D. You can also do this with multiple (marked) sectors. Lifts (or Plats) A lift's floor starts at its uppermost position, and when activated, lowers to its lowest neighboring floor. The lift then pauses for three seconds and rises to its original position (called DownWaitUpStay in the line type list.) Note: You can create lifts easily by moving into the sector you want to use as a lift and pressing Ctrl+L. You can also do this with multiple (marked) sectors. Teleporters Teleporters are FUN. They're also a little more complicated than lifts or doors. A teleporter line moves the player into the tagged sector and places him or her in the position of the "Teleporter Exit" THING in that sector (you have to insert one in order for it to work.) Teleporter lines are also a little different from other lines because of the nature of most two-way teleporters (ie: from one point to another and back.) They only get triggered from the first side of the line when walked over. A proper teleporter "pad" looks like: | (More shining ASCII art! You | too can create fabulous designs +-------------+ such as this.. simply send in | | a blank disk to the address | | in README.NOW to receive a | Teleport | fully typed textfile!) ---| Sector |--- | | | | | | +-------------+ | | As in the map display, the perpendiculars indicate the first side of each line. Of course, if the pad is also going to be a destination, don't forget to add the teleport exit THING in there. Monsters When a level is started, all monsters in the level are "inactive." Inactive means they sit at their position on the map and moondance to the end of time (or until they're activated.) DOOM Construction Kit Page 31 Unless their "deaf" attribute is set, monsters activate when they "hear" the player when he or she fires a weapon. Monsters will always attack when they see the player. The sound made by the player travels through two-sided walls, but only if the floor and ceiling heights of the two sectors they border permit. Consider the following example: +-------------+ The two numbers mean the floor and | 0, 128 | ceiling heights of each sector (A, | A +---------+ B and C.) | | | | (((sound))) | 24, 128 | | | B | | | | | +---------+ | | +-+---------+-+ | | | 128,256 | | C | | | +---------+ The sound originated in Sector A. Sector B would "hear" the sound, because its floor and ceiling heights leave a "gap" through which sound can travel from Sector A. Sector C would *not* hear the sound because its floor is higher than sector A's ceiling, leaving no gap between the two. Sound travels through an infinite number of sectors, but stops at the first sector it cannot pass into. This is important because all monsters that "hear" the sound will activate and start wandering around - perhaps before you want them to. You can overcome this easily enough by setting the "deaf" attribute of most monsters. However, levels with lots of deaf monsters tend to be a little boring, especially for replay value. A better approach is to make judicious use of the "blocks sound" attribute of each linedef. If this attribute is set, monsters will not be able to hear through the line. Note: The player can hear every sound on the map, no matter where it occurs. Neat Stuff with DOOM Page 32