home *** CD-ROM | disk | FTP | other *** search
/ FMI Superhry 1 / Superhry-I.bin / bonus / doom / programs / mde10 / mde.txt < prev    next >
Text File  |  1994-04-06  |  25KB  |  597 lines

  1.                   M.D.E. - "My DOOM Editor"
  2.                     by Patrick J. Steele
  3.  
  4. Copyright (c) 1994, Patrick J. Steele
  5. Version 1.0
  6. Additional design/input by Steven Spalding and Kevin Plancke
  7.  
  8. ** NEW TO VERSION 1.00 **
  9. -------------------------
  10.  
  11.      * PWAD support!  MDE will now create a PWAD instead of
  12.      modifying your original DOOM.WAD.  A PWAD is a small
  13.      WAD file with only the information for one level -
  14.      great for uploading to bbs'!
  15.      
  16.      * Enhanced user interface!  Now objects, wall textures
  17.      and floor textures have a "windows-like" listbox from
  18.      which to make your selections.
  19.      
  20.      * The listbox mentioned above has a "preview" option to
  21.      look at the floor/ceiling textures as well as the wall
  22.      textures!
  23.      
  24.      * The floor/ceiling texture display (as well as the new
  25.      wall display) have been greatly speeded up!
  26.      
  27.      * Color-coded objects!  The map is easier to view and
  28.      setup with the addition of color codes for the
  29.      different objects.
  30.      
  31.      * Deaf creatures!  You can now modify the behavior of
  32.      the DOOM creatures.  Deaf creatures will not move until
  33.      they actually see you, while "non-deaf" creatures will
  34.      start hunting you down as soon as they hear all the
  35.      racket you're making!
  36.      
  37.      * Thanks to the new DOOM specs (v1.2) all of the
  38.      Linedef attributes are known, and modifiable, in MDE.
  39.      
  40.      * A "Use Last" button when changing wall textures!
  41.      This button allows you to quickly copy wall textures to
  42.      different walls.
  43.      
  44.      * MDE now has a batch file to load/unload the video
  45.      driver automatically.
  46.      
  47. FASTGRAPH/LIGHT
  48. ---------------
  49.  
  50. This program is using FastGraph/Light, a powerful graphics
  51. library for C/C++, BASIC, PASCAL and FORTRAN.  I highly
  52. recommend it to all programmers looking for a fast graphics
  53. library that supports a *lot* of video cards/modes.
  54. Contact:
  55.  
  56.                      Ted Gruber Software
  57.                         PO Box 13408
  58.                      Las Vegas, NV 89112
  59.                  Orders/Info (702) 735-1980
  60.                      FAX (702) 735-4603
  61.                      BBS (702) 796-7134
  62.  
  63. The one drawback is the external driver needed to run
  64. FG/Light applications.  It's included with MDE and it must
  65. be loaded before running MDE.  It takes about 120k of
  66. conventional memory.  The full blown version of FastGraph
  67. does not require this driver (and it has a lot more
  68. features), but it was $150 more than FG/Light ($49).  So, I
  69. hope you have enough memory to run MDE.  I still need to do
  70. more testing to determine the minimum amount needed to run.
  71.  
  72. LEGAL NOTICE
  73. ------------
  74.  
  75. MDE will only work with the registered version of DOOM.  If
  76. you only have the shareware version, I strongly suggest you
  77. register.  The $46 is well worth it.  Episodes 2 and 3 are
  78. fantastic!
  79.  
  80. MDE is Copyright(c) 1994 by Patrick J. Steele.  MDE is not
  81. an id Software product and id Software cannot provide any
  82. support or assistance for MDE.  Also, id Software cannot
  83. provide any support for any levels modified by MDE.
  84.  
  85. THANKS
  86. ------
  87.  
  88. A special thanks goes out to Steven Spalding and Kevin
  89. Plancke for beta testing MDE and providing some really neat
  90. ideas.  Thanks guys!
  91.  
  92. INSTRUCTIONS
  93. ------------
  94.  
  95. To run MDE, simply enter, "MDE" at the DOS prompt.  The
  96. FastGraph video driver will be installed and MDE will run
  97. (NOTE: The driver will automatically be unloaded after you
  98. exit MDE).  You will be prompted with a selection screen.
  99. You can use the arrow keys to select the episode and level
  100. number you want to edit.  Any other keys will be used as
  101. input into the bottom field where the location of your
  102. DOOM.WAD is located.  You need to include the DOOM.WAD in
  103. the filename.  Example: If you have DOOM installed on the E:
  104. drive in a directory named "DOOM", your path would be:
  105.  
  106. E:\DOOM\DOOM.WAD
  107.  
  108. Once you've entered the location of your DOOM.WAD and
  109. selected a map, press <Return> to edit the map.
  110.  
  111. You will be given an overhead view of the map.  The red dots
  112. are creatures, the blue dots are objects you can pick up or
  113. interact with (ammo, weapons, keys, health, etc.), the
  114. yellow dots are the rest of the miscellaneous items (trees,
  115. candles, dead bodies, etc.) and the green points are
  116. vertexes.  Move the mouse to the edges of the screen and the
  117. map will automatically scroll.
  118.  
  119. Press the left mouse button while pointing to an object or a
  120. vector to bring up detailed information.
  121.  
  122. FOR OBJECTS:
  123.  
  124.      You may change what the object is, the angle it faces,
  125.      what skill levels it will appear on and whether it will
  126.      show up only in network play.
  127.      
  128.      For setting the angle, the following numbers are used:
  129.      
  130.                      9 0
  131.                135    |    45
  132.            180       -+-       0
  133.                225    |    315
  134.                      270
  135.      
  136.      
  137.      The option to set a deaf creature is also available.  A
  138.      deaf creature will not attack you, no matter how much
  139.      noise you're making, unless he can actually see you.  A
  140.      "non-deaf" creature will start moving and searching for
  141.      you once he hears you shooting.  This option is great
  142.      to create an ambush situation.  Place about 5 "non-
  143.      deaf" sergeants around a corner.  Then place a former
  144.      human at the end of the hall leading to that corner.
  145.      The DOOM player will take a few shots at the former
  146.      human, and the guards will growl to life and suddenly,
  147.      the player is faced with 5 angry sergeant blasting away
  148.      at him!
  149.  
  150. FOR VERTEXES:
  151.  
  152.      In the DOOM maps, two vertexes form a line (called a
  153.      "linedef" in the WAD file).  A line consists of a
  154.      "from" vertex and a "to" vertex.  When you select a
  155.      vertex, MDE will display a green line that corresponds
  156.      to a linedef.  MDE assumes the vertex you selected was
  157.      the "from" vertex.
  158.      
  159.      NOTE: Some lines are formed by two vertexes at the same
  160.      x,y location.  Example:
  161.      
  162.                1
  163.                |
  164.                |
  165.                |
  166.                2------------4
  167.                |
  168.                |
  169.                |
  170.                3
  171.      
  172.      This map shows a line going from 1 to 2, a line from 2
  173.      to 3, and a line from 2 to 4.  If you select vertex 2,
  174.      MDE will find the first line that uses vertex 2 as the
  175.      "from" vertex.  If the line from 2 to 3 was the first
  176.      one, that line would always be selected.  To tell MDE
  177.      to ignore the first instance of the vertex, hold the
  178.      ALT key down while pressing the left mouse button on a
  179.      vertex.  In this example, the result would be the line
  180.      from 2 to 4 being selected.
  181.      
  182.      Once a line is selected, a dialog box will display
  183.      information for that "linedef".  A sample dialog box is
  184.      show below:
  185.      
  186.           +------------------------------------------------+
  187.           | Attrib |Impass | |MBlock | |2-sided| |BlkSnd | |
  188.           |        |Up-Upeg| |Lo-Upeg| |NoMap  | |StrtMap| |
  189.           |        |Secret |                               |
  190.           |                                                |
  191.           |   Type  000  |+|  |-|    Trigger  000 |+|  |-| |
  192.           |                                                |
  193.           |       |Edit R Side|      |Edit L Side|         |
  194.           +------------------------------------------------+
  195.      
  196.      
  197.      NOTE: The "Edit L Side" button will only be displayed
  198.      if there is a left sidedef (explained later) for this
  199.      line.
  200.      
  201.           "Impass" - This toggle button will make a line
  202.           impassable by the DOOM player.  This is generally
  203.           used along walls and the edge of the DOOM
  204.           playfield.
  205.           
  206.           "MBlock" - When pressed, this toggle button will
  207.           block a monster from passing this line.
  208.           
  209.           "2-sided" - This attribute tells the DOOM engine
  210.           that this line has two sides - so if no wall
  211.           texture is defined, the wall is transparent.  Wall
  212.           textures are discussed later.
  213.           
  214.           "BlkSnd" - When pressed, this toggle button will
  215.           block sound from passing the selected line.
  216.           
  217.           "Up-Upeg" and "Lo-Upeg" - These attributes tell
  218.           the DOOM engine whether the above (upper) and
  219.           below (lower) wall textures (explained later) are
  220.           "pegged" or not.  A pegged texture will move along
  221.           the sector it's defined when the sector moves
  222.           (changes height).  An unpegged texture will not
  223.           move.  It's a difficult thing to explain.  Try and
  224.           look at it graphically:
  225.           
  226.           Imagine the "above" texture being the numbers 1-5
  227.           listed vertically - here's the effect of the wall
  228.           texture on a line that is "unpegged".
  229.           
  230.           |  1  |  |  1  |  |  1  |  |  1  |  |  1  |
  231.           +-----+  |  2  |  |  2  |  |  2  |  |  2  |
  232.                    +-----+  |  3  |  |  3  |  |  3  |
  233.                             +-----+  |  4  |  |  4  |
  234.                                      +-----+  |  5  |
  235.                                               +-----+
  236.           
  237.           It looks "funny".  The wall doesn't actually look
  238.           like it's "moving" down.  If you set the texture
  239.           to be "pegged", the effect will be like this:
  240.           
  241.           |  5  |  |  4  |  |  3  |  |  2  |  |  1  |
  242.           +-----+  |  5  |  |  4  |  |  3  |  |  2  |
  243.                    +-----+  |  5  |  |  4  |  |  3  |
  244.                             +-----+  |  5  |  |  4  |
  245.                                      +-----+  |  5  |
  246.                                               +-----+
  247.           
  248.           See the difference?  The five is always at the
  249.           bottom of the wall.  The "above" texture "moves"
  250.           with the wall.  You will see pegged textures with
  251.           doors, since you want the texture to move up as
  252.           the door opens.
  253.           
  254.           "NoMap" - When this button is pressed, the
  255.           selected line will not show up on the map - even
  256.           when the Computer Map is found.
  257.           
  258.           "StrtMap" - When this button is pressed, the
  259.           selected line will show up on the map at the
  260.           beginning of the level - even if you haven't seen
  261.           the line yet.
  262.           
  263.           "Special" - This button will make the automapper
  264.           draw the selected line as a normal line -
  265.           protecting any secret area until the secret is
  266.           opened.  This option has nothing to do with the
  267.           secret percentage at the end of a level.
  268.           
  269.           "Type" - The primary use of this field is for
  270.           special "trigger" functions (explained later).
  271.           
  272.           "Trigger" - This field will tie a line and a
  273.           sector (or sectors) together, so when this line is
  274.           crossed or the wall this line defines is pushed,
  275.           something will happen in the sector(s) with the
  276.           same trigger number.  That "something" will depend
  277.           on the "Type" field.  For example, the value 35 in
  278.           the Type field will cause a sector to go dark
  279.           (loose all light) when the line is crossed.
  280.           Triggers will be discussed in more detail later.
  281.           
  282.           For the "Type" and "Trigger" fields, click the +/-
  283.           buttons to increase and decrease the values.  Hold
  284.           down the control key while clicking with the mouse
  285.           to change the value by 10.
  286.           
  287.      Clicking on one of the two "Edit Side" buttons will
  288.      bring up information for a sidedef (explained later).
  289.      A sample dialog box for a sidedef is show below:
  290.      
  291.                +-----------------------------+
  292.                | T-above -           |?|     |
  293.                | T-norml STARTAN3    |?|     |
  294.                | T-below -           |?|     |
  295.                |                             |
  296.                | |Edit Sector|     |Restore| |
  297.                | |Use Last   |               |
  298.                +-----------------------------+
  299.                
  300.           "T-above" shows the name of the texture used to
  301.           define the area of a wall "above" a sector where
  302.           there is an adjacent sector with a lower ceiling.
  303.           
  304.           "T-norml" is the name of the normal (eye-level)
  305.           texture used to define the wall image.
  306.      
  307.           "T-below" is the name of the texture used to
  308.           define the area of a wall "below" a sector where
  309.           there is an adjacent sector with a higher floor.
  310.           
  311.           For the 3 texture fields, click the ? button next
  312.           to the texture name to display a list of available
  313.           wall textures.  The 'T' and 'B' keys in the
  314.           listbox allow you to quickly move to the top and
  315.           bottom of the list.  The up and down triangle move
  316.           the list in pages, while the up and down arrows
  317.           move through the selections displayed.  To see
  318.           what a wall texture looks like click on the
  319.           "Preview" button.  When you are done viewing the
  320.           wall, press the right mouse button to continue.
  321.           Select "Ok" to use the selected texture or
  322.           "Cancel" to ignore your selection.
  323.           
  324.           A texture of "-" means there is nothing defined
  325.           for that texture.  See the "DETAILED INFORMATION"
  326.           section below for help on these fields.
  327.      
  328.           "Edit Sector" will bring up detailed info about
  329.           the sector this sidedef surrounds (defines).  You
  330.           may change a sectors' floor/ceiling texture,
  331.           floor/ceiling height, the amount of light in the
  332.           sector, set up special flags for the sector
  333.           (radioactive damage, flickering lights, pulsating
  334.           lights, etc.) and set the trigger number for
  335.           special effects.
  336.           
  337.           "Restore" will restore the texture names to the
  338.           ones first displayed in this dialog box.  If you
  339.           made a mistake in the selection of wall textures,
  340.           press "Restore" to bring the old names back.  Once
  341.           you leave this dialog box, the names are saved in
  342.           memory for the rest of the editing session.
  343.           
  344.           "Use Last" will use names of the textures from the
  345.           last "side" you edited.  This is handy for copying
  346.           a common set of textures across multiple lines.
  347.           
  348.      When you press the "Edit Sector" button, a third dialog
  349.      box will appear with information for that sector.  A
  350.      sample is show below:
  351.      
  352.                +---------------------------------+
  353.                | Ceiling  CEIL3_5     72  +   -  |
  354.                |   Floor FLOOR4_2      0  +   -  |
  355.                |   Light 144  +  -               |
  356.                | Special   0  +  -               |
  357.                | Trigger   0  +  -               |
  358.                +---------------------------------+
  359.           
  360.           "Ceiling" and "Floor" shows the name of the
  361.           texture used on the ceiling and the floor,
  362.           respectively (CEIL3_5 and FLOOR4_2 in this
  363.           example), the ceiling height (72) and the floor
  364.           height (0) and the usual +/- buttons for changing
  365.           the height of the ceiling/floor.  Click on the
  366.           texture name to change the ceiling or floor
  367.           texture.  A listbox will appear allowing you to
  368.           select a new texture.  Since floor and ceiling
  369.           textures are so small, the preview button is
  370.           enabled while you scroll through your selections.
  371.           
  372.           The ranges for the ceiling/floor seem to be from
  373.           512 to -264.  A difference of more than 28 will
  374.           prevent the DOOM player from crossing into a
  375.           higher sector.  The DOOM player may fall any
  376.           distance.
  377.           
  378.           "Light" displays the light level for the sector.
  379.           The ranges are from 0 (very dark!) to 255 (full
  380.           light)
  381.           
  382.           "Special" - set special flags for this sector.  In
  383.           the list below, sectors that cause damage have two
  384.           percentages listed.  The first percentage is the
  385.           damage when playing at skill level 1, the second
  386.           percentage is the damage playing at skill levels 2
  387.           and above.  The current known values for "Special"
  388.           are:
  389.           
  390.                0 - Normal sector
  391.                1 - light level blinks randomly
  392.                2 - light quickly blinks for 0.5 seconds
  393.                3 - light quickly blinks for 1.0 second
  394.                4 - lights pulsate and 10%/20% health loss
  395.                5 - 5%/10% health loss
  396.                7 - 2%/5% health loss (typical green acid)
  397.                8 - light oscillate from 255 to light level
  398.                of adjacent sector
  399.                9 - secret sector (increments the # of
  400.                secrets found)
  401.                10 - unknown
  402.                11 - 10%/20% health loss and takes player out
  403.                of god mode
  404.                12 - blink (down to very dark)
  405.                13 - quick pulsate
  406.                16 - 10%/20% health loss
  407.           
  408.           Values other than those listed can cause DOOM to
  409.           crash with a "UNKNOWN SPECIAL SECTOR" error.
  410.           
  411.           "Trigger" - This will tie a sector and a linedef
  412.           together.  Set this field to the same number as
  413.           the trigger field in a linedef to "connect" the
  414.           sector and linedef.  The number used to connect
  415.           the sector can be any number you want, just make
  416.           it unique.
  417.      
  418.      Click the right mouse button to back out of all of
  419.      these menus.
  420.  
  421. OBJECT MOVEMENT
  422. ---------------
  423.  
  424. To move an object, select it with the right mouse button.
  425. While holding down the right mouse button, drag the object
  426. where you want it and release the mouse button.
  427.  
  428. KEYS
  429. ----
  430.  
  431. Press 'W' to write your changes to a PWAD file.  If you
  432. don't press 'W' your changes will not be saved!  MDE will
  433. warn you if you try to exit without saving your changes.
  434. The name of the PWAD will be MDE_ExMy.WAD where 'x' is the
  435. episode # (1-3) and 'y' is the level # (1-9).  Press [ESC]
  436. to exit the program.
  437.  
  438. To run DOOM with your PWAD file, simply run DOOM with the
  439. following command:
  440.  
  441. DOOM -file [your wad file]
  442.  
  443. Example: If you modified episode 2, level 6 and saved the
  444. PWAD (MDE_E2M6.WAD), run DOOM as:
  445.  
  446. DOOM -file mde_e2m6.wad
  447.  
  448. DETAILED INFORMATION
  449. --------------------
  450.  
  451. Here's some more detailed info about MDE.  The moving and
  452. changing of objects is pretty straightforward.  What I'll
  453. explain here is the options you have with the vertexes,
  454. sidedefs and sectors.  If you want to understand more of
  455. what's here, I've included a copy of "The Unofficial DOOM
  456. Specs v1.2".  That's what made this editor possible and it
  457. may explain better what I'm about to describe.
  458.  
  459. Each line will have at least one side defined, called a
  460. "sidedef", or possibly two.  A line will only have one
  461. sidedef if the DOOM player will never see the other side.
  462. For example, on the first level of episode one, the DOOM
  463. player can turn around 180 degrees and see a door.  There is
  464. no way (except with cheat codes) for the player to be on the
  465. other side of that door, so that line only has one sidedef.
  466.  
  467. An example of a line with two sidedefs is also on the first
  468. level of episode one.  If you look out the window to the
  469. right, there's the familiar pool of ooze with the combat
  470. (blue) armor.  The lines defining that pool of acid have two
  471. sidedefs, the side that faces "in" the pool of acid, and the
  472. side that faces "out" of the pool.
  473.  
  474. All of the lines in DOOM have a 'from' vertex and a 'to'
  475. vertex.  As noted earlier, when you select a vertex, MDE
  476. will find a line based on the point you select being the
  477. 'from' vertex.  When you select a vertex with the left mouse
  478. button, hold down the mouse button.  The line will be high-
  479. lighted in green so you can see the entire line.  The 'from'
  480. and 'to' vertexes for a line also establish a direction for
  481. the line.  Consider the picture below:
  482.  
  483.             "left side"            "right side"
  484.      From------------------->To<-----------------From
  485.             "right side"           "left side"
  486.  
  487. If you were standing with your back to the 'from' vertex and
  488. your head facing the 'to' vertex, you would see that your
  489. right arm is on the "right" side of the line and your left
  490. arm is on the "left" side of the line.
  491.  
  492. When you release the mouse button, the dialog box for the
  493. line displays.  The button "Edit R Side" allows you to edit
  494. the right side of the line.  The "Edit L Side" button allows
  495. you to edit the left side of the line.  This is cumbersome
  496. at first, but after a while, you'll get used to it.
  497.  
  498. As noted above, each line has at least one sidedef.  A
  499. collection of sidedefs forms (or "defines/surrounds") a
  500. sector.  A sector is where the floor/ceiling altitude is
  501. defined and where the lighting and special flags (for acid
  502. damage, etc.) are defined.  You may edit the altitude of the
  503. floor and the ceiling, set the light level, and set special
  504. flags for the sector.  You may also tie a line to a sector
  505. with the "Trigger" field.
  506.  
  507. SIDEDEF TEXTURES
  508. ----------------
  509.  
  510. The three texture names for a sidedef, T-above, T-norml, and
  511. T-below, all have special meaning.  The T-norml level is
  512. easy - it's the "eye-level" texture for the wall.  The above
  513. and below names are a little tricky.
  514.  
  515. The above texture tells DOOM what to draw "above" a sector,
  516. if the sector's ceiling is lower than an adjacent sector.
  517. Episode 1, Level 1 will give us a good example.
  518.  
  519. Start on this level, and go the left.  When you stand at the
  520. base of the stairs (leading up to the armor), there are two
  521. columns with some pulsating lights.  This is an example of a
  522. sector with a lower ceiling than an adjacent sector.
  523.  
  524. At the top of the column is a kind of diamond shaped light.
  525. That is the ceiling texture for that sector.  The sector you
  526. are standing in has a higher ceiling than the column, thus
  527. DOOM needs to know what to draw "above" the column.  If you
  528. look at sidedef1 for each of the 4 sides of the column, T-
  529. above is set to TEKWALL4.
  530.  
  531. This same reasoning applies to the below texture.  If the
  532. column and gone all the way to the floor, you wouldn't need
  533. a below texture.  However, the floor of the column is
  534. "higher" than the "adjacent" sector (which is the sector you
  535. are standing in).  DOOM needs to know what to draw under the
  536. floor.
  537.  
  538. TRIGGERS
  539. --------
  540.  
  541. To get a sector "tied in" to a line, set the "Trigger" field
  542. for the linedef and the sector to the same value (any value
  543. you make up is fine - just make sure it's not in use by some
  544. other trigger).  Once a line and sector are tied together
  545. (by having the same trigger number), you can define what
  546. will happen to the sector when the line is crossed, or a
  547. button along the line is pushed.
  548.  
  549. The "Type" field of a line will determine what will happen
  550. in the "tied in" sector.  The DOOM specs do an excellent job
  551. of listing all of the values currently known.  Instead of
  552. duplicating the effort, please consult the DOOM specs for
  553. the trigger values.
  554.  
  555. One note about teleporters (trigger 39 and 97):  Teleporters
  556. *require* a teleport destination object to be in the sector
  557. the trigger is tied to.  You will teleport into the sector
  558. that is "tied in" to the linedef.  If a DOOM player crosses
  559. a line with a type of 39 or 97, DOOM will look for the
  560. sector the line is tied to.  If there is no teleport
  561. destination object in that sector, the teleport will not
  562. work (nothing will happen).  If there is a teleport
  563. destination object, the player will be placed there and will
  564. be facing whatever direction the object is pointed in.
  565.  
  566. THE END?
  567. --------
  568.  
  569. Ok, now I need to know what you think.  I need all feedback
  570. - good/bad/wants/needs.  Please leave feedback to me on:
  571.  
  572.      Software Creations: (508) 368-7036
  573.               User name: Patrick Steele
  574.      
  575.      Internet: patrick.steele@swcbbs.com
  576.      
  577. COMING UP
  578. ---------
  579.  
  580. * Creating maps!  Right now, there are a few editors out
  581. there that let you edit/create levels.  As soon as I get a
  582. hold of some code for the internal structures of the WAD
  583. file that need to be re-created when walls are added/moved,
  584. I'll start work on MDE to allow map creation!
  585.  
  586. * Because of memory requirements, Episode #2, Level 7 can
  587. not be loaded into MDE.  It's a huge level (almost 200k of
  588. data!)  I'm going to use expanded memory (EMM) in my next
  589. version of MDE to reduce the amount of conventional memory
  590. required.  With EMM, adding objects will be available!
  591.  
  592. * One of my beta testers, Steve Spalding, suggested some
  593. kind of utility to easily run DOOM with multiple PWAD files
  594. (instead of typing them all in at the command line).  I'm
  595. looking into that.
  596.  
  597.