M.D.E. - "My DOOM Editor" by Patrick J. Steele Copyright (c) 1994, Patrick J. Steele [BETA] v0.8b NOTE: This *is* a beta version. The reason I call it beta is because I don't think it's "polished" or user-friendly enough to be a final product. It will not change your WAD file unless you tell it to (explained later). Also, this beta version will only work on Episode 1 of DOOM - Knee Deep In The Dead. The full version will work on all three episodes, but only on the registered version. Beta or not, PLEASE MAKE A BACKUP OF YOUR WAD FILE BEFORE USING ANY DOOM EDITOR. FASTGRAPH/LIGHT --------------- The program is using FastGraph/Light, a powerful graphics library for C/C++, BASIC, PASCAL and FORTRAN. I highly recommend it to all of you programmers looking for a fast graphics library that supports a *lot* of video cards/modes. Contact: Ted Gruber Software PO Box 13408 Las Vegas, NV 89112 Orders/Info (702) 735-1980 FAX (702) 735-4603 BBS (702) 796-7134 The one drawback is the external driver needed to run FG/Light applications. It's included with MDE and it must be loaded before running MDE. It takes about 120k of conventional memory. The full blown version of FastGraph does not require this driver (and it has a lot more features), but it was $150 more than FG/Light ($49). So, I hope you have enough memory to run MDE. I still need to do more testing to determine the minimum amount needed to run. BUGS ---- There is one problem that I know about and I'm looking into, although it may be out of my control. I have a Microsoft mouse and the mouse driver that came with it is ver. 9.1. For some reason, that mouse driver (when running MDE) moves along at 2 pixels horizontally instead of 1, so I only receive values of 0,2,4,6,8,etc... from the mouse. If an object is in placed in an odd pixel (1,3,5,7,etc...) you will not be able to select it. Older Microsoft mouse drivers do not have this problem. I found a ver 8.2 Microsoft mouse driver, and when using that one, MDE works fine. I'm going to see if I change the mouse speed or something to see if I can get it to move along every pixel horizontally. If you have ver 9.1 of the Microsoft mouse driver I'm sorry - I'm trying to remedy the situation. See if you can get an older version (8.2 works). QUICK INSTRUCTIONS ------------------ For those who want to jump in a explore, this should get you going quickly. To run MDE, you'll first need to load the FastGraph/Light driver. This is included with MDE. After extracting MDE, enter: FGDRIVER This will load the FastGraph/Light driver (when you are done with MDE, you may unload the FG/Light driver with "FGDRIVER /u"). To run MDE, enter: MDE [WAD file] [ExMy] Where, [WAD file] - is the name of the .wad file you want to modify [ExMx] - where x is the episode# and y is the level EXAMPLE: To modify the final level of Episode #1, enter: MDE DOOM.WAD E1M8 This will use DOOM.WAD as the wad file and edit level 8 of episode 1 (level 9 is the secret level). You will be given an overhead view of the map. The light blue dots are objects, the green points are vertexes. Move the mouse to the edges of the screen and the map will automatically scroll. Press the left mouse button while pointing to an object (light blue dot) or a vector (green dot) to bring up detailed information. FOR OBJECTS: You may change what the object is, the angle it faces, what skill levels it will appear on and whether it will show up only in network play. FOR VERTEXES: Selecting a vertex will bring up a box asking you to view sidedef1 (explained later) or sidedef2 (if available). Selecting sidedef one or two will bring up wall texture information for that sidedef and an "Edit Sector" button. Clicking on the "Edit Sector" button will bring up detailed info about the sector this sidedef surrounds (defines). You may change a sectors' floor/ceiling height, the amount of light in the sector, and set up special flags for the sector (radioactive damage, flickering lights, pulsating lights, etc...) Click the right mouse button to back out of these menus. To move an object, select it with the right mouse button. While holding down the right mouse button, drag the object where you want it and release the mouse button. Press 'E' to export the placement of the objects for this level. A file will be created called DMAPExMy.DAT where x is the episode# and y is the level. Press 'I' to import object placement data from the corresponding .DAT file as explained above. Before you exit, press 'W' to write your changes to the WAD file. If you don't press 'W' your changes will not be saved! Press [ESC] to exit the program. INSTRUCTIONS ------------ Here's some more detailed info about MDE. The moving and changing of objects is pretty straightforward. What I'll explain here is the options you have with the vertexes. If you want to understand more of what's here, please D/L DMSPCS10.ZIP (The Unofficial DOOM Specs). That's what made this editor possible (thank you rogerffff@aol.com!!) and it may explain better what I'm about to describe. All of those green dots on the map represent a vertex. Two vertexes define a line. There is a "from" vertex and a "to" vertex. For each line, it will have at least one side defined, called a "sidedef", or possibly two. A line will only have one sidedef if the DOOM player will never see the other side. For example, on the first level of episode one, the DOOM player can turn around 180 degrees and see a door. There is no way (except with cheat codes) for the player to be on the other side of that door, so that line only has one sidedef. An example of a line with two sidedefs is also on the first level of episode one. If you look out the window to the right, there's the familiar pool of acid with the combat (blue) armor. The lines defining that pool of acid have two sidedefs, the side that faces "in" the pool of acid, and the side that faces "out" of the pool. As noted above, each line has at least one sidedef. A collection of sidedefs forms (or "defines/surrounds") a sector. A sector is where the floor/ceiling altitude is defined and where the lighting and special flags (for acid damage, etc...) are defined. You may edit the altitude of the floor and the ceiling, set the light level, and set special flags for the sector. When you select a sidedef to view, texture information for that sidedef will be displayed. T-above shows the name of the texture used to define the area of a wall "above" where there is an adjacent sector of a different height. T-norml is the name of the normal (eye-level) texture used to define the wall image. T-below is the name of the texture used to define the area of a wall "below" where there is an adjacent sector of a different height. The texture properties will help you pick which sector to modify when there are two sidedefs since I cannot tell from the vertex you select which sector you want to edit. SECTOR INFORMATION ------------------ Ok, here's what you can do in a sector: Change floor/ceiling altitude - ranges are from -264 to +264. A difference of 28 or more between two sectors will prevent the player from crossing the sectors. Light - ranges from 0 (very dark!) to 255 (full light) Special - set special flags for this sector. A few that have been found are: 0 - Normal sector 1 - light level blinks randomly 2 - light quickly blinks 3 - lights blink 4 - lights pulsate and 10% health loss 5 - 5% health loss 6 - DO NOT USE! Exits to DOS with "unknown sector flag" 7 - 2% health loss (typical green acid) 8 - lights pulsate 9 - secret sector (increments the # of secrets found) 10 - unknown 11 - 10% health loss 12 - blink (down to very dark) 13 - quick pulsate 14 - unknown 15 - unknown 16 - 20% health loss Beyond that, use at your own risk! Hold the [Ctrl] key down while pressing on any of the +/- buttons to change the values by 10 instead of 1. THE END? -------- Ok, now I need to know what you think. I need all feedback - good/bad/wants/needs. Please leave feedback to me on: Software Creations: (508) 368-7036 User name: Patrick Steele Internet: psteele@aol.com (I've been having a real hard time getting on to AOL, so you may also try my internet address at Software Creations: patrick.steele@swcbbs.com) COMING UP --------- What I'd like to see in the future (besides map editing!) is the ability to change the wall textures that are displayed for a sidedef and the floor/ceiling textures in a sector. The choices would be limited to the available ones, but it would be neat. I plan on setting the mouse to a sort of "bulls-eye" to make object/vertex selection easier. I'm going to change the export to export the object placement data for an entire episode (not just on level as it is now). I may also add exporting the sector data that is changed. I'd like to be able to add objects to a level. This is rather easy process in memory, but on disk, I'll need to recreate the entire .wad file! (Got a spare 10megs for the new wad file!?). As for deleting objects, just move them off the map.