diff options
Diffstat (limited to 'doc/editing.htm')
-rwxr-xr-x | doc/editing.htm | 1603 |
1 files changed, 1603 insertions, 0 deletions
diff --git a/doc/editing.htm b/doc/editing.htm new file mode 100755 index 0000000..a276a86 --- /dev/null +++ b/doc/editing.htm @@ -0,0 +1,1603 @@ +<html> + +<head> +<meta name="GENERATOR" content="vim"> +<title>viDOOM - Free Software DOOM editor</title> +</head> + +<body> + +<h1 align="center">Editing</h1> + +<h2 align="left">Index</h2> + +<p align="left">This page is split up into the following +sections:</p> + +<ul> + <li><a href="#THE_BASICS">The Basics</a> </li> + <li><a href="#BASIC_MOUSE">Basic Mouse Operation</a> </li> + <li><a href="#GENERAL_KEY">General Key Commands</a> </li> + <li><a href="#SECTOR_MODE">Sector Edit Mode</a><ul> + <li><a href="#SECTOR_DISPLAY">Display</a></li> + <li><a href="#SECTOR_KEYS">Extra Keys</a></li> + <li><a href="#SECTOR_INSERT">Insertion</a></li> + <li><a href="#SECTOR_DELETE">Deletion</a></li> + <li><a href="#SECTOR_POPUP">Popup Menu</a></li> + </ul> + </li> + <li><a href="#LINEDEF_MODE">Linedef Edit Mode</a><ul> + <li><a href="#LINEDEF_DISPLAY">Display</a></li> + <li><a href="#LINEDEF_KEYS">Extra Keys</a></li> + <li><a href="#LINEDEF_INSERT">Insertion</a></li> + <li><a href="#LINEDEF_DELETE">Deletion</a></li> + <li><a href="#LINEDEF_POPUP">Popup Menu</a></li> + <li><a href="#SIDEDEF_MENU">Sidedef Menu</a></li> + <li><a href="#STAIR_CREATION">Stair creation</a></li> + </ul> + </li> + <li><a href="#THING_MODE">Thing Edit Mode</a><ul> + <li><a href="#THING_DISPLAY">Display</a></li> + <li><a href="#THING_KEYS">Extra Keys</a></li> + <li><a href="#THING_INSERT">Insertion</a></li> + <li><a href="#THING_DELETE">Deletion</a></li> + <li><a href="#THING_POPUP">Popup Menu</a></li> + </ul> + </li> + <li><a href="#VERTEX_MODE">Vertex Edit Mode</a><ul> + <li><a href="#VERTEX_DISPLAY">Display</a></li> + <li><a href="#VERTEX_KEYS">Extra Keys</a></li> + <li><a href="#VERTEX_INSERT">Insertion</a></li> + <li><a href="#VERTEX_DELETE">Deletion</a></li> + <li><a href="#VERTEX_POPUP">Popup Menu</a></li> + </ul> + </li> + <li><a href="#MULTI_MODE">Multiple Edit Mode</a><ul> + <li><a href="#MULTI_DISPLAY">Display</a></li> + <li><a href="#MULTI_OPERATION">Operation</a></li> + <li><a href="#MULTI_POPUP">Popup menu</a></li> + </ul> + </li> + <li><a href="#MERGE_MAP">Merging Maps</a></li> + <li><a href="#LUMP_EDIT">Lump Editing</a></li> +</ul> + +<hr> + +<h2 align="left">The Basics<a name="THE_BASICS"></a></h2> + +<p align="left">Once you start editing in viDOOM you should be +greeted by a screen similar to the following (no prizes for +guessing the map number):</p> + +<p align="left"><img src="ed_sect.gif" width="640" height="480"></p> + +<p>At the top of the screen is a title bar which shows the +following information, going from left to right:</p> + +<ul> + <li>The edit mode. This is either 'Sector', 'Linedef', + 'Thing' or 'Vertex'.</li> + <li>The position of the mouse pointer in the map.</li> + <li>The current scale</li> + <li>Whether movements are locked to the current grid scale.</li> + <li>The grid scale. The first number indicate the grid scale + that objects are snapped to. The second number indicates + how big the graphical grid displayed is (the blue lines + in the picture above). This second number changes + automatically as the display is zoomed in and out.</li> + <li>Below this is a line where specific edit modes can show + extra information.</li> +</ul> + +<p>Note that the information bar at the top of the screen will +also indicate what format the level you're editing is in. If the +background to the title bar is blue, this map is in the original +DOOM format. If the background is red then the map is in the +extended HEXEN format.</p> + +<p>The main central part of the screen is made up the map being +edited.</p> + +<p>Spread around the bottom of the screen are information boxes +that display details of the object the mouse pointer is currently +over. The size and information in these boxes changes with the +edit mode.</p> + +<hr> + +<h2>Basic Mouse Operation<a name="BASIC_MOUSE"></a></h2> + +<p>The mouse acts in exactly the same way, independent of the +mode. </p> + +<p>Moving the mouse over an object will change it's colour, +indicating it can be selected. Simply left click over an object +to select it. If the control key is pressed while selecting the +object the object is selected in addition to any others currently +selected.</p> + +<p>If the shift key is pressed then while the left button is held +down a selection rectangle can be dragged out. Any objects within +this box once the button is released will be selected (DOOM map +designers note - in this instance objects are selected in order +from the lowest numbered object up). If the control key is +pressed along with the shift key then the objects in the box are +selected in addition to any others currently selected.</p> + +<p>On pressing the right button a pop-up menu is displayed. If no +objects are currently selected then the menu just has the insert +option. If objects are selected when pressing the right mouse +button (please see the <a href="overview.htm#HOVER_SELECT">overview</a> +to see how the right button can also be made to select objects +the pointer is currently over) then a menu is shown with options +specific to each edit mode.</p> + +<p>If the left mouse button is pressed without the control key +and the pointer is not over any object then the current selection +is cleared.</p> + +<p>If the mouse has a middle button then this can be used to move +objects once they have been selected. This basically a short cut +for pressing the right button then selecting the 'Move' option.</p> + +<hr> + +<h2>General Key Commands<a name="GENERAL_KEY"></a></h2> + +<p>There are a number of key commands that are common to all edit +modes in viDOOM. These are as follows:</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap>F1</td> + <td valign="top">General Help (key commands and mouse + usage).</td> + </tr> + <tr> + <td valign="top" nowrap>F2</td> + <td valign="top">Help specific to the current edit mode</td> + </tr> + <tr> + <td valign="top" nowrap>Escape</td> + <td valign="top">Finish Editing</td> + </tr> + <tr> + <td valign="top" nowrap>Cursor Keys</td> + <td valign="top">Move the map display</td> + </tr> + <tr> + <td valign="top" nowrap>Shift + Cursor Keys</td> + <td valign="top">Move the map display quickly</td> + </tr> + <tr> + <td valign="top" nowrap>Ctrl + Cursor Keys</td> + <td valign="top">Move the map by one pixel (i.e. by + whatever value the scale is currently set to).</td> + </tr> + <tr> + <td valign="top" nowrap>Page Up/Down</td> + <td valign="top">Zoom in/out</td> + </tr> + <tr> + <td valign="top" nowrap>Q/W</td> + <td valign="top">Alert the grid lock scale</td> + </tr> + <tr> + <td valign="top" nowrap>G</td> + <td valign="top">Switch grid lines on/off</td> + </tr> + <tr> + <td valign="top" nowrap>X</td> + <td valign="top">Switch grid snapping on/off</td> + </tr> + <tr> + <td valign="top" nowrap>Tab/Shift Tab</td> + <td valign="top">Go to next/previous edit mode</td> + </tr> + <tr> + <td valign="top" nowrap>V</td> + <td valign="top"><a href="#VERTEX_MODE">VERTEX edit mode</a></td> + </tr> + <tr> + <td valign="top" nowrap>L</td> + <td valign="top"><a href="#LINEDEF_MODE">LINEDEF edit + mode</a></td> + </tr> + <tr> + <td valign="top" nowrap>S</td> + <td valign="top"><a href="#SECTOR_MODE">SECTOR edit mode</a></td> + </tr> + <tr> + <td valign="top" nowrap>T</td> + <td valign="top"><a href="#THING_MODE">THING edit mode</a></td> + </tr> + <tr> + <td valign="top" nowrap>C</td> + <td valign="top"><a href="#MULTI_MODE">MULTI edit mode</a></td> + </tr> + <tr> + <td valign="top" nowrap>HOME</td> + <td valign="top"><a href="#LUMP_EDIT">Lump edit menu</a>. + Note that this only applies when the game type is ZDoom.</td> + </tr> + <tr> + <td valign="top" nowrap>F9</td> + <td valign="top">Deselect all objects</td> + </tr> + <tr> + <td valign="top" nowrap>Shift + F9</td> + <td valign="top">Invert current selection</td> + </tr> + <tr> + <td valign="top" nowrap>F10</td> + <td valign="top">Select all objects</td> + </tr> + <tr> + <td valign="top" nowrap>Shift + F10</td> + <td valign="top">Select all objects with a specific type + (not applicable to VERTEX objects).<p>Note that if the + map is in HEXEN format, then this will select special + actions, rather than types for LINEDEFS. Likewise, when + in THING edit mode you will be asked whether to search + for a THING's type or it's special action.</p> + </td> + </tr> + <tr> + <td valign="top" nowrap>Ctrl + F10</td> + <td valign="top">Select one object at the current + position. This is mainly useful for THING and VERTEX + where it may not be possible to select objects that are + overlaid one another.<p>When pressed if there are more + than one object at the current position a list will be + displayed with object numbers (and perhaps some extra + identifying information). Selecting one of the objects + from this list will select that object, whereas + cancelling the list leaves the current selection as is.</p> + <p>Note that it may not be possible to see the selected + object in it's selected colours if it is not on top of + the stack of overlapping objects. </p> + <p>Also bear in mind, that though sectors can be moved so + they overlap, and these can be picked using this method, + a DOOM level should never have overlapping sectors. + Unless you want the Cyberdemon to come and take you away + in the night. </p> + </td> + </tr> + <tr> + <td valign="top" nowrap>Alt + F10</td> + <td valign="top">As above, but any selected object is + selected in addition to the objects currently selected.</td> + </tr> + <tr> + <td valign="top" nowrap>F11/Shift + F11</td> + <td valign="top">Locate the next or previous selected + object and display it in the centre of the screen.</td> + </tr> + <tr> + <td valign="top" nowrap>Delete</td> + <td valign="top">Delete the selected objects <sup><sup>Note + 1</sup></sup></td> + </tr> + <tr> + <td valign="top" nowrap>Insert</td> + <td valign="top">Insert a new object</td> + </tr> + <tr> + <td valign="top" nowrap>F3</td> + <td valign="top">Merge a map. See the <a + href="#MERGE_MAP">merge map</a> section for details.</td> + </tr> + <tr> + <td valign="top" nowrap>F4</td> + <td valign="top">Move selected objects</td> + </tr> + <tr> + <td valign="top" nowrap>F5</td> + <td valign="top">Rotate selected objects <sup><sup>Note 2</sup></sup></td> + </tr> + <tr> + <td valign="top" nowrap>[</td> + <td valign="top">Rotate selected objects 5° to the left <sup><sup>Note + 2</sup></sup></td> + </tr> + <tr> + <td valign="top" nowrap>]</td> + <td valign="top">Rotate selected objects 5° to the right + <sup><sup>Note 2</sup></sup></td> + </tr> + <tr> + <td valign="top" nowrap>F6</td> + <td valign="top">Scale selected objects <sup><sup>Note 2</sup></sup></td> + </tr> + <tr> + <td valign="top" nowrap>{</td> + <td valign="top">Scale selected objects by 90% <sup><sup>Note + 2</sup></sup></td> + </tr> + <tr> + <td valign="top" nowrap>}</td> + <td valign="top">Scale selected objects by 110% <sup><sup>Note + 2</sup></sup></td> + </tr> + <tr> + <td valign="top" nowrap>F7</td> + <td valign="top">Set tag number for this object (only + applicable to SECTOR and LINEDEF objects).</td> + </tr> + <tr> + <td valign="top" nowrap>Shift + F7</td> + <td valign="top">Select objects with a specific tag + number (only applicable to SECTOR and LINEDEF objects).</td> + </tr> + <tr> + <td valign="top" nowrap>F8</td> + <td valign="top">Locate a certain object and display in + the centre of the screen</td> + </tr> + <tr> + <td valign="top" nowrap>Shift + F8</td> + <td valign="top">Locate a certain object, display in the + centre of the screen and select it.</td> + </tr> + <tr> + <td valign="top" nowrap>R</td> + <td valign="top">Redraw the map display. Handy for + refreshing selected objects in SECTOR mode.</td> + </tr> +</table> + +<p><strong>Note 1:</strong> In viDOOM it is not permissible to +delete objects that are still in use by other objects, i.e. it is +impossible to delete a vertex that is still used as one of the +anchor points for a linedef - the linedef must be deleted first.</p> + +<p><strong>Note 2:</strong> When scaling or rotating multiple +objects the objects are rotated/scaled around the centre of the +imaginary box enclosing all the selected objects. Also grid +locking is not honoured in this mode.</p> + +<hr> + +<h2><a name="SECTOR_MODE"></a>Sector Edit Mode</h2> + +<p>For a basic description of a SECTOR see the <a +href="glossary.htm#SECTOR">glossary</a>.</p> + +<h3><a name="SECTOR_DISPLAY"></a>Display in Sector Mode</h3> + +<p>When in sector mode the display will look like this:</p> + +<p><img src="ed_sect.gif" width="640" height="480"></p> + +<p>When in this mode sectors are drawn in red, vertexes are not +shown and things are drawn as a cross just to indicate their +position.</p> + +<p>At the bottom of the screen is a box which shows the details +of the sector the pointer is currently over.</p> + +<p>Also note that if the tag highlighting mode is enabled any +linedefs that have a tag number matching the one for the sector +the pointer is over will be drawn in white. Note that the +highlighted linedef will not appear if is in a sector that's +selected and highlighted.</p> + +<h3><a name="SECTOR_KEYS"></a>Extra Keys in Sector Mode</h3> + +<p>The following extra keys can be used while in sector mode. +Keys that work on selected sectors will temporarily select the +sector the pointer is over if no sectors are selected.</p> + +<table border="1" cellpadding="3"> + <tr> + <td>H</td> + <td>Toggle the tag highlighting mode on an off. See the <a + href="#SECTOR_DISPLAY">display</a> section for an example + of what this does.</td> + </tr> + <tr> + <td valign="top" nowrap>M</td> + <td valign="top">Change sector move mode. See <a + href="overview.htm#SECTOR_MOVE">overview</a> for details.</td> + </tr> + <tr> + <td valign="top" nowrap>, (comma)</td> + <td valign="top">Decrease selected sectors floor height + by 8</td> + </tr> + <tr> + <td valign="top" nowrap>. (period)</td> + <td valign="top">Increase selected sectors floor height + by 8</td> + </tr> + <tr> + <td valign="top" nowrap><</td> + <td valign="top">Decrease selected sectors ceiling height + by 8</td> + </tr> + <tr> + <td valign="top" nowrap>></td> + <td valign="top">Increase selected sectors ceiling height + by 8</td> + </tr> + <tr> + <td valign="top" nowrap>-</td> + <td valign="top">Decrease selected sectors lighting level + by 16</td> + </tr> + <tr> + <td valign="top" nowrap>+</td> + <td valign="top">Increase selected sectors lighting level + by 16</td> + </tr> +</table> + +<h3><a name="SECTOR_INSERT"></a>Sector Insertion</h3> + +<p>When you insert a sector a popup menu is displayed where you +can select a type of sector to create.</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap><strong>Create unbound sector</strong></td> + <td valign="top">This will create a sector that is + unbound to any linedefs/sidedefs. It will have a normal + type as defined in the <a + href="overview.htm#NORMAL_TYPES">config file</a>, a tag + of zero and a floor height, ceiling height and light + level as defined in the <a + href="overview.htm#DEFAULT_SECTOR_LIGHT_ETC">config file</a>. + The floor and ceiling flats will be set to the <a + href="overview.htm#EMPTY_TEXTURE_NAME">empty texture name</a>. + After it's creation the sector number will be displayed + onscreen.<p>Note that no further editing of the sector + can take place until some sidedefs/linedefs have been + manually bound to the sector, as the sector cannot be + visibly selected until they have.</p> + </td> + </tr> + <tr> + <td valign="top" nowrap><strong>Create polygon</strong></td> + <td valign="top">On selecting this you will be asked for + the number of sides to the polygon (3-64). After entering + this a cross hair will be displayed. Press the left mouse + button when the cross hair is over the point where you + want the centre of the sector. Then the sector will be + drawn and you can drag it into shape (defining it's size + and rotation) using the mouse. Note that when defining + the centre and size/rotation that grid snapping can be + toggled on/off and the usual zoom in/out and map + positioning cursor keys are active.<p>You will be asked + then for the following information:</p> + <ul> + <li>A <a href="overview.htm#LINEDEF_CLASSES">class</a> + and <a href="overview.htm#LINEDEF_TYPES">type</a> + of linedef (e.g. scrolling walls, normal, + switches) out of those defined in the config + file. Note that for an HEXEN format map a special + action will be asked for instead.</li> + <li>The new sectors floor height, ceiling height and + light level. If the sector is being defined + inside another sector that sectors floor, ceiling + and light level will already be in the dialog + when it appears. Otherwise the <a + href="overview.htm#DEFAULT_SECTOR_LIGHT_ETC">default</a> + values will be used.</li> + <li>A further linedef type that defines the linedef's + flags, as defined in the <a + href="overview.htm#LINEDEF_DEFAULTS">config file</a>.</li> + <li>The style in which the sector should be painted + as defined in the <a + href="overview.htm#SECTOR_STYLES">config file</a>.</li> + <li>If the sector is being defined within another + sector you will be asked if you wish make the + right sidedef point outwards from the new sector.</li> + </ul> + </td> + </tr> +</table> + +<h3><a name="SECTOR_DELETE"></a>Sector Deletion</h3> + +<p>It is not possible to directly delete a sector in viDOOM as it +religiously enforces the fact that objects cannot be deleted if +other objects are still bound to them. And once all the linedefs +bound to a sector have been deleted, the sector is no longer +selectable! However, when saving, any sectors that have no +bounding linedefs will be automatically deleted.</p> + +<h3><a name="SECTOR_POPUP"></a>Sector Popup Menu</h3> + +<p>On selecting sectors and pressing the right mouse button to +get the sector popup menu the following options will be +presented:</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap><strong>Change type</strong></td> + <td valign="top">Changes the sector type. The <a + href="overview.htm#SECTOR_CLASSES">classes</a> and their <a + href="overview.htm#SECTOR_TYPES">sector types</a> are + defined in the config file.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change generalised type</strong></td> + <td valign="top">If any generalised sector types have + been defined in the config file, this option allows you + to set them.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set type to value</strong></td> + <td valign="top">Simply allows you to enter any number to + set the sector type too.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change floor height</strong></td> + <td valign="top">Change the height of the floor of the + selected sectors.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change ceiling height</strong></td> + <td valign="top">Change the height of the ceiling of the + selected sectors.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change light level</strong></td> + <td valign="top">Alter the light level of the sectors.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change tag</strong></td> + <td valign="top">Alter the tag value of the sectors.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change floor</strong></td> + <td valign="top">Shows a picklist of the flats from which + the floor texture can be selected.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change ceiling</strong></td> + <td valign="top">Shows a picklist of the flats from which + the ceiling texture can be selected.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Paint sector in style</strong></td> + <td valign="top">Paints the sector using the textures + described as being a style in the <a + href="overview.htm#SECTOR_STYLES">config file</a>.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Move</strong></td> + <td valign="top">Move the selected sectors.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Delete</strong></td> + <td valign="top">Delete the selected sectors. This just + always shows a reminder that empty sectors will be + deleted when the map is saved.</td> + </tr> +</table> + +<hr> + +<h2><a name="LINEDEF_MODE"></a>Linedef Edit Mode</h2> + +<p>For a basic description of a LINEDEF see the <a +href="glossary.htm#LINEDEF">glossary</a>.</p> + +<h3><a name="LINEDEF_DISPLAY"></a>Display in Linedef Mode</h3> + +<p>When in linedef mode the display will look like this:</p> + +<p><img src="ed_line.gif" width="640" height="480"></p> + +<p>When in this mode linedefs are just drawn as grey lines with a +normal indicating which side is the 'right' side of the linedef. +Vertexes are not shown and things are drawn as a cross just to +indicate their position..</p> + +<p>At the bottom of the screen are three boxes which shows the +details of the linedef the pointer is currently over, and any +associated right and left sidedef. Note that in the screenshot +above the type of linedef is show as the hex number and the <a +href="overview.htm#LINEDEF_CLASSES">class</a> of linedef. This +can be altered in the <a +href="overview.htm#SHOW_FULL_LINEDEF_INFO">config</a> file so +that the linedef type is show as as it's hex number and the name +defined for the linedef <a href="overview.htm#LINEDEF_TYPES">type</a> +in the config file if you are using a display with an higher +resolution. An example of the alterative info for the same +linedef is shown below.</p> + +<p><img src="ed_lninf.gif" width="396" height="72"></p> + +<p>Also note this if the tag highlight mode is on then if the +linedef the pointer is over has a non-zero tag number any sectors +with the same tag number are highlighted in white. E.g. in the +display above the pointer is over a linedef set to teleport, the +tag indicating which sector the teleported object will arrive in. +The sector above and to the right of the line has this tag and is +highlighted. Note that only linedefs not already selected in the +highlighted sector will be highlighted.</p> + +<p>Note that in HEXEN maps the showing of full linedef info +switch is ignored, and the full action special name shown. In +addition to this the special arguments are displayed:</p> + +<p><img src="ed_l_hex.gif" width="274" height="110"></p> + +<p>Note that in this mode the tag highlighting will be based on +any special action arguments called "tag".</p> + +<h3><a name="LINEDEF_KEYS"></a>Extra Keys in Linedef Mode</h3> + +<p>The following extra keys can be used while in linedef mode.</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap>H</td> + <td valign="top">Toggle the tag highlighting mode on an + off. See the <a href="#LINEDEF_DISPLAY">display</a> + section for an example of what this does.</td> + </tr> + <tr> + <td valign="top" nowrap>F12</td> + <td valign="top">Check the currently selected linedefs. + It checks and prompts for the following things:<ul> + <li>Removal of lower textures on 1-sided linedefs.<br> + This check can be disabled in the <a + href="overview.htm#CHECK_LINE_1SIDE_LOWER">config + file</a>.</li> + <li>Removal of upper textures on 1-sided linedefs.<br> + This check can be disabled in the <a + href="overview.htm#CHECK_LINE_1SIDE_UPPER">config + file</a>.</li> + <li>Addition of missing middle textures on 1-sided + linedefs.<br> + This check can be disabled in the <a + href="overview.htm#CHECK_LINE_1SIDE_MIDDLE">config + file</a>.</li> + <li>Removal of all textures on 2-sided linedefs where + both sides of the linedef are in the same sector.<br> + This check can be disabled in the <a + href="overview.htm#CHECK_LINE_2SIDE_SAME_SECTOR">config + file</a>.</li> + <li>Removal of middle textures on 2-sided linedefs.<br> + This check can be disabled in the <a + href="overview.htm#CHECK_LINE_2SIDE_MIDDLE">config + file</a>.</li> + <li>Addition of lower textures on 2-sided linedefs + where the floor heights are different on either + side. In this test the lower texture will be + removed if the floor heights are not different.<br> + This check can be disabled in the <a + href="overview.htm#CHECK_LINE_2SIDE_LOWER">config + file</a>.</li> + <li>Addition of upper textures on 2-sided linedefs + where the ceiling heights are different on either + side. In this test the upper texture will be + removed if the ceiling heights are not different.<br> + This check can be disabled in the <a + href="overview.htm#CHECK_LINE_2SIDE_UPPER">config + file</a>.</li> + </ul> + <p><strong>Note:</strong> When prompted whether to fix a + problem, you can either elect to say <strong>Yes</strong>, + <strong>No</strong>, <strong>Yes to All </strong>or <strong>No + to All</strong>. If you select either <strong>No to All</strong> + or <strong>Yes to All</strong> then it applies to <em>all</em> + further answers in <em>all</em> of the different tests.</p> + <p>Whenever textures are to be added viDOOM will display + the picklist to request what texture to paint, unless the + LINEDEF_CHECK_DEFAULT section in the <a + href="overview.htm#LINEDEF_CHECK_DEFAULT">config</a> file + is set up.</p> + <p><strong>Important Note:</strong> That it may not be + advisable to use this on all linedefs if there are lots + of lifts in the level. viDOOM (due to wanting to remain + completely config file driven for types) is unable to + realise that some textures that look like they shouldn't + be there will come into play when the lift is activated. + This may be changed in the future so that sidedefs that + are pointing into a sector tagged to a linedef of a + specified class are not checked.</p> + </td> + </tr> +</table> + +<h3><a name="LINEDEF_INSERT"></a>Linedef Insertion</h3> + +<p>When inserting a new linedef you will be asked for 2 vertices +to link together. You will then be asked for the linedef type +(from the list defined in the <a +href="overview.htm#LINEDEF_DEFAULTS">config file</a>) and the +middle texture for it. Note that the linedef is created bound to +sector zero. This must be manually changed if it is wrong.</p> + +<h3><a name="LINEDEF_DELETE"></a>Linedef Deletion</h3> + +<p>Linedefs can be safely deleted from the map at any time.</p> + +<h3><a name="LINEDEF_POPUP"></a>Linedef Popup Menu</h3> + +<p>On selecting things and pressing the right mouse button to get +the thing popup menu the following options will be presented:</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap><strong>Change linedef type<br> + (Doom only)</strong></td> + <td valign="top">Change the type of the selected + linedefs. On selecting this a list will appear so a class + of linedef can be selected (classes are defined in the <a + href="overview.htm#LINEDEF_CLASSES">config file</a>). + Once the class has been selected the a picklist will + appear from which a type of linedef from that class can + be selected. The types are also defined in the <a + href="overview.htm#LINEDEF_TYPES">config file</a>.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set Generalised linedef<br> + (Doom only)</strong></td> + <td valign="top">If any generalised linedef types have + been defined in the config file, this option allows you + to set them.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set type to value<br> + (Doom only)</strong></td> + <td valign="top">Allows the linedef type to be set to an + arbitrary value.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change special action<br> + (Hexen only)</strong></td> + <td valign="top">Change the special action of the + selected linedefs. On selecting this a list will appear + so a class of special can be selected (classes are + defined in the <a + href="overview.htm#HEXEN_ACTION_SPECIAL_CLASSES">config + file</a>). Once the class has been selected the a + picklist will appear from which a type of special action + from that class can be selected. The types are also + defined in the <a + href="overview.htm#HEXEN_ACTION_SPECIALS">config file</a>.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set special action args<br> + (Hexen only)</strong></td> + <td valign="top">Change the arguments for the selected + linedefs. If all the linedefs are of the same special + action type then the arguments are entered once and set + for all the selected linedefs. If the special actions are + different you are asked if you want to set them all + individually.<p>If you select <strong>yes</strong> then + the argument setting dialog is displayed for each + selected linedef in turn. If <strong>no</strong> is + selected then the first selected linedef is used to work + out what args to ask for, and all selected linedefs have + their arguments set to those.</p> + </td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set special action to + value<br> + (Hexen only)</strong></td> + <td valign="top">Allows the linedef special action to be + set to an arbitrary value.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Clear special action args<br> + (Hexen only)</strong></td> + <td valign="top">Clears all the special action arguments + to zero in the selected linedefs.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set ranged special action + args<br> + (Hexen only)</strong></td> + <td valign="top">Change the arguments for the selected + linedefs, allowing the values to be modified for each + linedef. If all the linedefs are not of the same special + action type then you are asked if you want to continue.<p>If + you select <strong>yes</strong>, or all the linedefs are + of the same special action, then the arguments for the + first line are displayed and can be editted to the + initial values. After this the dialog is redisplayed for + you to enter how much the arguments should change by for + each subsequent line. Once this is entered the arguments + are applied.</p> + </td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change linedef flags</strong></td> + <td valign="top">Allows the flags of the selected + linedefs to be changed. On selecting this a dialog will + appear allowing any of flags (as defined by the <a + href="overview.htm#LINEDEF_FLAGS">config file</a>) to to + toggled on or off.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Swap sides</strong></td> + <td valign="top">Swaps the sides of the linedef, so that + the linedef points in the other direction. Note that on + two sided linedefs the sidedefs are re-arranged so that + the texturing and sector numbers on the sides of the + linedef are not switched.<p>viDOOM will not swap + one-sided by default. Once a one-sided linedef is + detected a question box is displayed to say whether you + want to swap one-sided linedefs (either all or just this + one) or skip them (again either all or this one).</p> + </td> + </tr> + <tr> + <td valign="top" nowrap><strong>Split line</strong></td> + <td valign="top">Splits the selected linedefs in the + middle.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Select trail from this + linedef</strong></td> + <td valign="top">Selects a trail from the last selected + linedef, staying within the same sector as the one on the + linedefs right sidedef, until the starting point is found + again or there are no more linedefs in the same + direction.<p>Note that this behaves differently if the + starting point is a 2-sided line wholly within one sector + - only 2-sided linedefs wholly within the sector too + connected from this one are selected.</p> + </td> + </tr> + <tr> + <td valign="top" nowrap><strong>Join linedefs with steps</strong></td> + <td valign="top">Allows two selected linedefs to be + joined with steps. See the <a href="#STAIR_CREATION">Stair + creation</a> section for details.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Right Sidedef</strong></td> + <td valign="top">This will display a sub menu for + operation for the right sidedef. See the <a + href="#SIDEDEF_MENU">Sidedef menu</a> for details.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Left Sidedef</strong></td> + <td valign="top">This will display a sub menu for + operation for the left sidedef. See the <a + href="#SIDEDEF_MENU">Sidedef menu</a> for details.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change tag<br> + (Doom only)</strong></td> + <td valign="top">Change the tag number for the selected + linedefs.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Move</strong></td> + <td valign="top">Move the selected linedefs.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Delete</strong></td> + <td valign="top">Delete the selected linedefs.</td> + </tr> +</table> + +<h3><a name="SIDEDEF_MENU"></a>Sidedef Menu</h3> + +<p>On selecting the <strong>Right sidedef</strong> or <strong>Left +sidedef</strong> options above the following options can be +chosen.</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap><strong>Change upper texture</strong></td> + <td valign="top">Alter the upper texture on the selected + sidedef.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change middle texture</strong></td> + <td valign="top">Alter the middle texture on the selected + sidedef.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change lower texture</strong></td> + <td valign="top">Alter the lower texture on the selected + sidedef.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change textures to any + value</strong></td> + <td valign="top">Displays a dialog where the texture + names can be entered manually. This is mainly of use to + set texture names to the special values ZDoom supports on + linedefs that describe fog colours and so on.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change texture offset</strong></td> + <td valign="top">Sets the texture offset for the selected + sidedef.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Adjust texture offset</strong></td> + <td valign="top">Adjusts the texture offset for the + selected sidedefs. ie. Entering '10' for X and '-10' for + Y will add 10 to all the X offsets and subtract 10 from + all the Y offsets.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change sector</strong></td> + <td valign="top">Alters the sector number the sidedef is + linked with.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Align textures</strong></td> + <td valign="top">Aligns the linedefs textures in the + selected sidedef. Note that when doing this the widest + texture out of the upper, middle and lower textures are + used to calculate the offsets. Also note that the + linedefs are aligned in the order they were selected, so + ensure you selected them in the order they appear.<p>Remember + that if doing the same set of linedefs then the order + should be reversed when doing the left sidedef over the + right sidedef.</p> + </td> + </tr> +</table> + +<h3><a name="STAIR_CREATION"></a>Stair creation</h3> + +<p>This joins the two selected linedefs with steps. Before +starting this option a couple of caveats should be noted:</p> + +<ul> + <li>Lines must be non-zero in length and not share any + vertices.</li> + <li>viDOOM assumes that the steps join up the left sidedef of + the linedefs together. This will generally be the case + anyway, and if it isn't remember to <strong>Swap sides</strong> + on the linedefs as required before starting (the sides + can be swapped back once the steps have been defined).</li> + <li>If the linedefs already have a left sidedef, this will be + deleted in preference for the new one facing onto the new + sectors.</li> + <li>Not too much error checking goes on. If you do define the + most bizarre looking steps you've never seen on an + automap before, there is a fair chance they won't work + when you play them.</li> + <li>If the steps pass through a sector, it must be the same + sector.</li> +</ul> + +<p>i.e. the following two examples are OK, L1 and L2 can be +joined with stairs:</p> + +<p><img src="ed_ex1.gif" width="204" height="97"></p> + +<p><img src="ed_ex2.gif" width="204" height="97"></p> + +<p>But the following example, where stairs would cross both +sectors S3 and S4 is not allowed:</p> + +<p><img src="ed_ex3.gif" width="204" height="97"></p> + +<p>(Actually, it would be allowed, but wouldn't look too nice +when you played the level...)</p> + +<p>Having got the excuses over with we can now go onto the +process involved with creating the steps. On selecting this +option you will be presented with a display like the following:</p> + +<p><img src="ed_step.gif" width="640" height="480"></p> + +<p>As can be seen the steps have been drawn and their are a +couple of help boxes displayed. The box in the lower left of the +screen shows the following information:</p> + +<ul> + <li>No of steps</li> + <li>The difference in floor height between each step</li> + <li>The difference in ceiling height between each step</li> + <li>The step drawing mode (<strong>Straight</strong> or <strong>Curve</strong> + mode).</li> + <li>Which side is being moved when in <strong>Curve</strong> + mode.</li> +</ul> + +<p>On the left is a box giving a quick help on the following +keys:</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap>+</td> + <td valign="top">Increase the number of steps in the + staircase (maximum 128)</td> + </tr> + <tr> + <td valign="top" nowrap>- </td> + <td valign="top">Decrease the number of steps in the + staircase (minimum 1)</td> + </tr> + <tr> + <td valign="top" nowrap>C</td> + <td valign="top">Change between <strong>Straight</strong> + and <strong>Curve</strong> drawing mode. In straight mode + straight lines are drawn between the linked vertices on + the two linedefs. In curve mode a curve is defined + between the two points by moving the pointer.</td> + </tr> + <tr> + <td valign="top" nowrap>S</td> + <td valign="top">Swaps between the two walls when + defining the curve of the walls in <strong>curve</strong> + mode.</td> + </tr> + <tr> + <td valign="top" nowrap>R</td> + <td valign="top">Swap which vertices are paired up from + the two linedefs. For instance in the example above + switching the vertices would give the stairs a butterfly + shape rather than corridor seen above.<br> + Obviously, the butterfly effect is <b>not</b> what is + wanted...</td> + </tr> +</table> + +<p>After moving the stairs to the position you want you can press +ESC to cancel the process or press a mouse button to lock the +stairs in position and carry on with the creation.</p> + +<p>At this point you will be asked if the ceiling should also be +stepped. Selecting <strong>No</strong> means that the ceiling +will stay at a constant height (the highest ceiling height out of +the two linedef's sectors), otherwise the ceiling will be stepped +accordingly.</p> + +<p>Now the steps are created. Note that in the created steps the +pegging modes defined for the sector style the stairs will be +painted in is ignored and pegging modes and Y texture offsets +will be set appropriately to line up textures on the sides of the +steps.</p> + +<hr> + +<h2><a name="THING_MODE"></a>Thing Edit Mode</h2> + +<p>For a basic description of a THING see the <a +href="glossary.htm#THING">glossary</a>.</p> + +<h3><a name="THING_DISPLAY"></a>Display in Thing Mode</h3> + +<p>When in thing mode the display will look like this:</p> + +<p><img src="ed_thing.gif" width="640" height="480"></p> + +<p>When in this mode linedefs are just drawn as grey lines, +vertexes are not shown and things are drawn as a circle +(indicating their size within the game - like the Spider +Mastermind above) with an arrow indicating their direction. Note +different classes of things are drawn in different colours (these +colour to class pairing are defined in the <a +href="overview.htm#THING_CLASSES">config file</a>).</p> + +<p>At the bottom of the screen is a box which shows the details +of the thing the pointer is currently over. When editing Hexen +maps this will shows extra information for the thing ID, Z +position and special actions:</p> + +<p><img src="ed_t_hx1.gif" width="338" height="90"></p> + +<p><img src="ed_t_hx2.gif" width="273" height="90"></p> + +<h3><a name="THING_KEYS"></a>Extra Keys in Thing Mode</h3> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap>, (comma)</td> + <td valign="top">Rotate the selected things angles + anticlockwise.</td> + </tr> + <tr> + <td valign="top" nowrap>. (period)</td> + <td valign="top">Rotate the selected things angles + clockwise.</td> + </tr> + <tr> + <td valign="top" nowrap><</td> + <td valign="top">Decrement the Z co-ord. This only + applies when the map is in Hexen format.</td> + </tr> + <tr> + <td valign="top" nowrap>></td> + <td valign="top">Increment the Z co-ord. This only + applies when the map is in Hexen format.</td> + </tr> +</table> + +<h3><a name="THING_INSERT"></a>Thing Insertion</h3> + +<p>When inserting a new thing into the map, the thing will be +inserted at the current pointer position using the values (type, +angle and flags) used when a thing was last edited. e.g.</p> + +<ul> + <li>Insert a new thing.</li> + <li>Select the new thing and change it's type to be a + Cyberdemon (see the <a href="#THING_POPUP">Popup Menu</a> + for how to do this).</li> + <li>All newly inserted things will now be Cyberdemons, until + a further edit is made.</li> +</ul> + +<h3><a name="THING_DELETE"></a>Thing Deletion</h3> + +<p>Things can be safely deleted from the map at any time.</p> + +<h3><a name="THING_POPUP"></a>Thing Popup Menu</h3> + +<p>On selecting things and pressing the right mouse button to get +the thing popup menu the following options will be presented:</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap><strong>Change type</strong></td> + <td valign="top">Change the type of the selected things. + On selecting this a list will appear so a class of thing + can be selected (classes are defined in the <a + href="overview.htm#THING_CLASSES">config file</a>). Once + the class has been selected the a picklist will appear + from which a type of thing from that class can be + selected. The types are also defined in the <a + href="overview.htm#THING_TYPES">config file</a>.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set type to value</strong></td> + <td valign="top">Allows the type of the selected things + to be set to any arbitrary value.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change special action<br> + (Hexen only)</strong></td> + <td valign="top" rowspan="5">These options select and set + the special action details for the selected things. This + operates identically to the <a href="#LINEDEF_POPUP">linedef + special action selection</a>.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set special action to + value<br> + (Hexen only)</strong></td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change special action + args<br> + (Hexen only)</strong></td> + </tr> + <tr> + <td valign="top" nowrap><strong>Clear special action args<br> + (Hexen only)</strong></td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set ranged special action + args<br> + (Hexen only)</strong></td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change flags</strong></td> + <td valign="top">Allows the flags of the selected things + to be changed. On selecting this a dialog will appear + allowing any of flags (as defined by the <a + href="overview.htm#THING_FLAGS">config file</a>) to to + toggled on or off.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change angle</strong></td> + <td valign="top">Allows the angle of the selected things + to be changed. On selecting this a dialog will appear + allowing any of 8 major compass points to be selected.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Change angle to value<br> + (Hexen only)</strong></td> + <td valign="top">Allows the angle of the selected things + to be changed to an arbitrary value. This is used to set + the angle field to a Polyobject number.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set Z Position<br> + (Hexen only)</strong></td> + <td valign="top">Sets the Z position of the selected + things.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Set thing ID<br> + (Hexen only)</strong></td> + <td valign="top">Sets the thing ID of the selected + things.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Snap</strong></td> + <td valign="top">Snaps the selected things to the current + grid.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Move</strong></td> + <td valign="top">Move the selected things. Follow the + on-screen prompts for details on how to move the things + or cancel the operation.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Delete</strong></td> + <td valign="top">Delete the selected things.</td> + </tr> +</table> + +<hr> + +<h2><a name="VERTEX_MODE"></a>Vertex Edit Mode</h2> + +<p>For a basic description of a VERTEX see the <a +href="glossary.htm#VERTEX">glossary</a>.</p> + +<h3><a name="VERTEX_DISPLAY"></a>Display in Vertex Mode</h3> + +<p>When in vertex mode the display will look like this:</p> + +<p><img src="ed_vert.gif" width="640" height="480"></p> + +<p>When in this mode linedefs are drawn as grey arrows, the arrow +direction corresponding to direction of the linedef - i.e. the +right side of the linedef is on the right side of the arrow. +Vertices are displayed as white points with a grey selection box +around them.</p> + +<p>At the bottom of the Cyber demons is a box which shows the +details of the vertex the pointer is currently over.</p> + +<h3><a name="VERTEX_KEYS"></a>Extra Keys in Vertex Mode</h3> + +<p>The following extra keys can be used while in linedef mode.</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap>F12</td> + <td valign="top">Goes through all the vertices and delete + ones that are not bound to a linedef.</td> + </tr> +</table> + +<h3><a name="VERTEX_INSERT"></a>Vertex Insertion</h3> + +<p>Inserting a vertex simply inserts a new vertex unbound to any +linedefs at the pointer location.</p> + +<h3><a name="VERTEX_DELETE"></a>Vertex Deletion</h3> + +<p>Vertices can only be deleted if they are not bound to any +linedefs. Linedefs must be <a href="#LINEDEF_DELETE">deleted</a> +before you can delete the vertex.</p> + +<h3><a name="VERTEX_POPUP"></a>Vertex Popup Menu</h3> + +<p>On selecting vertices and pressing the right mouse button to +get the vertex popup menu the following options will be +presented:</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap><strong>Chain selected vertices</strong></td> + <td valign="top">Selecting this object will create + linedefs linking the currently selected vertices. Note + that the linedefs will be created such the the first + selected vertex is connected to the vertex selected, the + vertex selected second to the vertex selected third and + so on.<p>On selecting this option you will be first + prompted to selected a <a + href="overview.htm#LINEDEF_CLASSES">class</a> and <a + href="overview.htm#LINEDEF_TYPES">type</a> of linedef + (e.g. scrolling walls, normal, switches) out of those + defined in the config file. Following this you will be + asked for a further linedef type that defines the + linedef's flags, as defined in the <a + href="overview.htm#LINEDEF_DEFAULTS">config file</a>.</p> + <p>If the selected linedef type is one sided and the <a + href="overview.htm#ASK_MIDDLE_ON_2SIDED">config file + options</a> are set accordingly a middle texture for the + linedefs will be requested. After this you will be asked + if you wish to connect the last vertex to the first one + and the linedefs will be created and any textures aligned + on them.</p> + <p><strong>Tip:</strong> One thing this option is very + useful for is creating pillars and the such like inside + sectors. Insert new vertexes (with the <a + href="overview.htm#INSERT_SELECT">insert select</a> + option in the config file enabled) in the shape you want + in an <strong><u>anti-clockwise</u></strong> direction. + Then select this option and a one-sided linedef type and + the result will be a column in the room.</p> + </td> + </tr> + <tr> + <td valign="top" nowrap><strong>Chain selected vertices + into a sector</strong></td> + <td valign="top">Selecting this object will create + linedefs linking the currently selected vertices and bind + the linedefs to a newly created sector. Note that the + linedefs will be created such the the first selected + vertex is connected to the vertex selected, the vertex + selected second to the vertex selected third and so on. + It is important for this option to operate as described + below that the vertices are selected in a <strong><u>clockwise</u></strong> + direction.<p>You will be asked then for the following + information:</p> + <ul> + <li>A <a href="overview.htm#LINEDEF_CLASSES">class</a> + and <a href="overview.htm#LINEDEF_TYPES">type</a> + of linedef (e.g. scrolling walls, normal, + switches) out of those defined in the config + file.</li> + <li>The new sectors floor height, ceiling height and + light level.</li> + <li>A further linedef type that defines the linedef's + flags, as defined in the <a + href="overview.htm#LINEDEF_DEFAULTS">config file</a>.</li> + <li>The style in which the sector should be painted + as defined in the <a + href="overview.htm#SECTOR_STYLES">config file</a>.</li> + <li>If the sector is being defined within another + sector you will be asked if you wish make the + right sidedef point outwards from the sector. + This is useful as things like teleport linedefs + only work if you cross from the right side to the + left side of the linedef. For this part to work + as described the vertices must have been selected + in a <strong><u>clockwise</u></strong>order.</li> + </ul> + <p><strong>Tip:</strong> If you select vertices that are + bound to linedefs in another sector, once the creation of + the sector has been completed viDOOM will ask you if you + want to merge the new linedef from the new sector with + the old one.</p> + </td> + </tr> + <tr> + <td valign="top" nowrap><strong>Merge selected vertices</strong></td> + <td valign="top">The vertices selected second, third and + so on are deleted and all references to those vertices in + linedefs changed to the be the first selected vertex. + After doing this viDOOM will see if any linedefs are now + using the same vertex pair to define their position and + you can elect to merge these.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Snap</strong></td> + <td valign="top">Snaps the selected vertices to the + current grid.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Move</strong></td> + <td valign="top">Move the selected vertices. Follow the + on-screen prompts for details on how to move the vertices + or cancel the operation.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Delete</strong></td> + <td valign="top">Delete the selected vertices.</td> + </tr> +</table> + +<hr> + +<h2><a name="MULTI_MODE"></a>Multi Edit Mode</h2> + +<h2><a name="MULTI_DISPLAY"></a>Display</h2> + +<p>When in multi mode the display will look like this:</p> + +<p><img src="ed_multi.gif" width="640" height="480"></p> + +<p>When in this mode linedefs are drawn as grey arrows, the arrow +direction corresponding to direction of the linedef - i.e. the +right side of the linedef is on the right side of the arrow. +Vertices are displayed as white points with a grey selection box +around them.</p> + +<p>Things are drawn as a circle (indicating their size within the +game) with an arrow indicating their direction. Note different +classes of things are drawn in different colours (these colour to +class pairing are defined in the <a +href="overview.htm#THING_CLASSES">config file</a>)</p> + +<p>At the bottom of the vertexes is a box which shows what object +type (vertex or thing) the pointer is currently over and it's +number.</p> + +<h2><a name="MULTI_OPERATION"></a>Operation</h2> + +<p>Multi selection mode is given just as a way of manipulating +things and vertexes, allowing them to be moved, rotated and +scaled in unison. Note that linedefs and sectors are not +selectable as these are inherently moved just by moving the +vertices.</p> + +<p>All keys are honoured in multi selection mode, but keys for +insertion and deletion are ignored. Also the locate object number +keys (F8 and Shift + F8) are ignored.</p> + +<h3><a name="MULTI_POPUP"></a>Multi Edit Popup Menu</h3> + +<p>On selecting vertices and things and pressing the right mouse +button to get the multi edit popup menu the following options +will be presented:</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap><strong>Snap</strong></td> + <td valign="top">Snap the selected things and vertices to + the current grid.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Rotate</strong></td> + <td valign="top">Rotate the selected things and vertices + around their common centre.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Scale</strong></td> + <td valign="top">Rotate the selected things and vertices + around their common centre.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Move</strong></td> + <td valign="top">Moves the selected things and vertices.</td> + </tr> +</table> + +<hr> + +<h2><a name="MERGE_MAP"></a>Merging Maps</h2> + +<p>Pressing F3 in any edit mode will allow a different map to be +merged in with the currently edited map.</p> + +<p>First you will be asked if you wish to temporarily load a PWAD +and load the first map from it (note that the 'first' map means +MAP01 if editing DOOM II maps, and E1M1 if editing DOOM maps). If +you select <strong>Yes</strong> then you will be prompted for a +PWAD file to read. If you select <strong>No</strong> you will be +asked for a level to load from the currently loaded WADs.</p> + +<p><strong>Tip:</strong> The idea of this question is that you +can save PWAD files with a structure you wish to re-use in +multiple maps as the first map. Any linedefs in this map that +have a left sidedef bound to sector number -1 will have the +sector number reset to the sector in which the merged structure +has been placed. Note that if you do insert structures this way +and don't opt to have floors/ceilings automatically adjusted then +it is generally a good idea to check the sidedefs to make sure +they have all their necessary upper/lower textures.</p> + +<p>After choosing the map to merge in, a vector display +representing the linedefs from the map that can be moved around +the screen with the mouse is displayed as shown in the screen +below.</p> + +<p><img src="ed_merge.gif" width="640" height="480"></p> + +<p>On the bottom left is a box giving a quick help on the +following keys:</p> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap>, (comma)</td> + <td valign="top">Rotate the map 1° to the left.</td> + </tr> + <tr> + <td valign="top" nowrap>. (period)</td> + <td valign="top">Rotate the map 1° to the right.</td> + </tr> + <tr> + <td valign="top" nowrap><</td> + <td valign="top">Rotate the map 10° to the left.</td> + </tr> + <tr> + <td valign="top" nowrap>></td> + <td valign="top">Rotate the map 10° to the right.</td> + </tr> +</table> + +<p>Pressing ESC will cancel the operation while pressing a mouse +button will place the map where it currently is.</p> + +<p>If the merged map is assumed to be a structure (i.e. it has +left sidedefs whose sector fields are set to -1) you are then +asked whether you wish to adjust the floor heights. If you do +select to adjust them then the sector that is in the middle of +the merged in WAD has it's floor height taken. The floors and +ceilings are adjusted in the new sectors so that the lowest floor +is at the same height as the surrounding floor, but the +difference in heights between the new sectors themselves are +maintained. After this you are asked whether to adjust the +ceiling heights. If you do the ceiling height of the same sector +is taken and the new sector's ceilings adjusted to match the +surrounding ceiling (note that ceilings will not be moved if +moving them places them lower than the floor).</p> + +<p>You will then be asked whether tags within the map should stay +as they are or be adjusted so that they are different from tags +used in the map being edited. After this the map will be inserted +and then a notice displayed showing by how much the various +objects in the merged map where adjusted.</p> + +<hr> + +<h2><a name="LUMP_EDIT"></a>Lump Editing</h2> + +<p>Pressing the HOME key provides you with the lump editing menu. +This menu is different depending on whether the map you are +editting is a DOOM format map or an HEXEN format map.</p> + +<h3>Doom</h3> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap><strong>Edit MAPINFO</strong></td> + <td valign="top">This option only appears if the ability + to edit the MAPINFO lump is enabled in the <a + href="overview.htm#MAPINFO_LUMP">config</a> file. On + selecting this option the loaded MAPINFO lump is + displayed in the text editor for editing.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Switch to HEXEN mode</strong></td> + <td valign="top">This switches a DOOM map to an HEXEN + map.<p><strong>NOTE:</strong> Take heed of the displayed + warning. viDOOM makes no pretence at doing a proper + conversion - special actions, arguments, thing IDs and so + on are simply zeroed.</p> + </td> + </tr> +</table> + +<h3>Hexen</h3> + +<table border="1" cellpadding="3"> + <tr> + <td valign="top" nowrap><strong>Edit MAPINFO</strong></td> + <td valign="top">This option only appears if the ability + to edit the MAPINFO lump is enabled in the <a + href="overview.htm#MAPINFO_LUMP">config</a> file. On + selecting this option the loaded MAPINFO lump is + displayed in the text editor for editing.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Edit SCRIPTS</strong></td> + <td valign="top">This displays the SCRIPTS lump from the + current map in the text editor for changing.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Create BEHAVIOR</strong></td> + <td valign="top">Creates the BEHAVIOR lump from the + SCRIPTS. The ACS compiler must be <a + href="overview.htm#ACC">configured</a> for this to work. + Depending on other <a href="overview.htm#ACS_ALWAYS_VIEW">configuration</a> + the output from the compilation will always be shown, or + just when an error occurs. Note that the current BEHAVIOR + lump is not replaced if an error occurs.</td> + </tr> + <tr> + <td valign="top" nowrap><strong>Switch to DOOM mode</strong></td> + <td valign="top">This switches an HEXEN map to a DOOM + map.<p><strong>NOTE:</strong> Take heed of the displayed + warning. viDOOM makes no pretence at doing a proper + conversion - linedef types will be wrong and any entered + SCRIPTS will be lost.</p> + </td> + </tr> +</table> + +<hr> + +<p><a href="index.htm">Back to index</a></p> + +<p><tt>$Id$</tt></p> +</body> +</html> |