Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
iddq_tea

DOOM BBS Add-Ons: An 800+ WAD mega dump

Recommended Posts

 

19 hours ago, Redneckerz said:

All i am doing is looking at your date of DOPE (December 1993) and saying it can change something from the WAD file. It is very likely that i quantify changing objects in a WAD with altering a WAD file, in which case, i am dumb. Too often in these matters i have this shitty shtick of saying something related but not absolute, whereas your research revolves around absolute statements.

I initially wrote something to this and eventually I decided "nah fuck it I'll just check USENET rather than simply continue with being suspicious". I can confirm that DOPE v1.01 was released around February 6th, with v1.1 (have not found it) being released on February 10th. I can not find a correct date for v1.2, but given the "file date" difference between v1.01 and v1.2 my estimated guess is February 15th - coincidentally, my copy of DOPE12.ZIP is dated February 22nd.

 

This discussion post from USENET implies that an earlier version was released at some point by February 3rd, but I doubt that it was much earlier than this.

 

On the flip side, there is a map viewer that is dated January 5th 1994 simply called DOOM Utilities, made by Bill Kirby (who made a name for himself with his Wolf3D map editor being released shortly after the release of Wolf3D) whose date can be confirmed by this USENET post. I've attached DOOM Utilities to this post.

 

As for the remaining editors/resources of information from January, everything else can be confirmed by extant USENET posts:

 

DMAUD 0.2

Jumble 1.02 (announcement post deleted, just like everything else posted by Hank Leukart)

IWADDUMP.ZIP (not an announcement post, but a discussion post that correlates close enough with the file dates, author email is also listed in the credits for DOPE documentation)

RanDOOM 1.0 (other posts by author regarding RanDOOM can be found with this search, more importantly I can confirm the author's name)

DTEDIT 1.0 (all other versions except for v2.0 can be found with this search, while v2.0 can be found here)

Unofficial DOOM Specs v1.0 (once again, announcement post deleted)

DEU 2.00

DEU 3.01

Renegade Graphics DoomED 0.5 (discussion post, doesn't appear that an announcement post was ever made - this discussion post regarding v0.6 implies that Joe Pantuso didn't have USENET access at this time)

 

Additionally, there's this snippet of source code that doesn't appear to be related to anything that was released.

 

19 hours ago, Redneckerz said:

And yes, i am aware of that text file - But that's exactly why i am speculating about the source file, if they used some kind of script or not.

 

The last thing though, the first WADS had their nodes generated by hand - <- How does one do this, considering the state of editors at the time.

Apologies, you had a perfectly reasonable question there with your previous post that I brushed off too quickly - that's on me!

 

I'll just leave a quick info dump for now, in chronological order:

 

This USENET post from David Simpson from January 13th is the earliest thing I can find with trying to decode the NODES lump.

 

IWADDUMP (January 15th) has this in its source code snippet, not descriptive but it's a starting point:

typedef struct{
       	int x,y;  /*how big is this????*/
        int a,b;
        int p[8];
        int l,n;
        }NODE;

Unofficial DOOM Specs v1.0 (January 21st) does not mention anything useful regarding nodes.

 

Unofficial DOOM Specs v1.1 (February 21st) has the following information regarding the NODES lump:

Spoiler

[3-8]: NODES   
============

There are ((number of SSECTORS) - 1) NODES. Each NODE has 14 (integer)
fields:

1. X coordinate of nodeline's start
2. Y coordinate of nodeline's start
3. X offset to end of nodeline
4. Y offset to end of nodeline

thus 64, 128, -64, -64 would be a nodeline from (64,128) to (0,64)

5/6.    Y coordinates bounding the nodesq1 on the right side of the nodeline.
7/8.    X coordinates bounding the nodesq1 on the right side of the nodeline.
9/10.   Y coords bounding the nodesq2 on the left side of the nodeline.
11/12.  X coords bounding the nodesq2 on the left side of the nodeline.
13.     Is a NODE or SSECTOR number for nodesq1. If bit15 of this 2-byte
        field is set, it means that the nodesq1 contains the SSECTOR whose
        number is in the remaining bits. If the bit15 is not set, then
        nodesq1 is a previously listed NODE.
14.     As with field 13, for nodesq2 on the left.

Each node is thus a "sum" of two other rectangular horizontal spaces, each
of which contains either a NODE or a SSECTOR. So there is a heavy iterative
aspect to this structure. The final NODE is always the size of the entire
level. When a SSECTOR is being "contained", the X and Y coordinates of the
nodesq are such that every SEG in that SSECTOR is completely within the
nodesq. If a NODE is being "contained", then the coordinates will bound the
furthest extent of that (recursed) NODE.

So what are the nodes for? I don't know yet. Stopped working on it a while
back. Will finish sooner or later. Also, need to create an algorithm to
generate the segs, ssectors, and nodes, given the vertexes and linedefs.


NewDEU 4.2 (February 25th) has this in the source code for reading the NODES lump:

   /* read in the nodes information */
   dir = FindMasterDir( Level, "NODES");
   NumNodes = dir->dir.size / 28;
   Nodes = GetMemory( NumNodes * sizeof( struct Node));
   BasicWadSeek( dir->wadfile, dir->dir.start);
   for (n = 0; n < NumNodes; n++)
   {
      BasicWadRead( dir->wadfile, &(Nodes[ n].x), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].y), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].dx), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].dy), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].miny1), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].maxy1), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].minx1), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].maxx1), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].miny2), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].maxy2), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].minx2), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].maxx2), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].tree1), 2);
      BasicWadRead( dir->wadfile, &(Nodes[ n].tree2), 2);
   }

With regards to ORIGWAD, while the text file does not explicitly mention anything we can note that the Unofficial DOOM Specs v1.2 (March 6th) mentions Jeff Bird in the acknowledgments section for more information regarding nodes are built:

 

Spoiler

[1-1]: Acknowledgements
=======================

I have received much assistance lately from the following people. They
either brought mistakes to my attention, or provided additional information
that I've incorporated into these specs:

Ted (tedv@geom.umn.ed) - I had the THING angles wrong. Unforgivable.
Matt Tagliaferri (matt.tagliaferri@pcohio.com) - I forgot to describe the
        TEXTURE1/2 pointer table. Also, gave lots of help with linedef types.
Raphael Quinet (quinet@montefiore.ulg.ac.be) - The author of the NEWDEU
        editor; new info on linedef types and attributes, special sectors.
Robert Fenske (fenske@swri.edu) - part of the VERDA team, gave lots of help
           on linedef attributes and types, blockmap list, special sectors,
        and other stuff
John A. Matzen (jamatzen@cs.twsu.edu) - instrument names in GENMIDI.
Jeff Bird (jeff@wench.ece.jcu.edu.au) - good ideas and suggestions about
        the nodes.


Sorry if I left anyone out. Thanks for all the help!

 

[4-8]: NODES
============

This is what we need to figure out!

The nodes are branches in a binary space partition that divides up the level
and is used to determine which walls and floors are in front of others, thus
"clipping" the walls behind from the virtual view. The nodes/ssectors/segs
resources are used exclusively for these display purposes, and seem to be
precalculated to ease the burden on the game engine.

There are ((number of SSECTORS) - 1) NODES. Each NODE has 14 (integer)
fields:

(1)  X coordinate of partition line's start
(2)  Y coordinate of partition line's start
(3)  DX, change in X to end of partion line
(4)  DY, change in Y to end of partion line

     thus 64, 128, -64, -64 would be a partition line from (64,128) to (0,64)

(5)  Y upper bound for the first bounding-box
(6)  Y lower bound
(7)  X upper bound
(8)  X lower bound

(9)  Y upper bound for the second bounding box
(10) Y lower bound
(11) X upper bound
(12) X lower bound

     Each node has two "children", each of which is either a node or a
     ssector. The bounding box is just big enough to contain whatever is
     in the "child", e.g. if the child is a ssector with 1 seg, then the
     bounding box will be just big enough to contain the extents of the
     seg (and thus a bounding "box" can have zero width, for a horizontal
     or verical seg)

     If the child is a node, the bounding box will be just big enough to
     hold both of its children.

(13) a NODE or SSECTOR number for the first bounding box. If bit 15 is set,
     then the rest of the number represents the child SSECTOR. If not, the
     child is a recursed node.
(14) a NODE or SSECTOR number for the second bounding box.

So there is a heavy iterative aspect to this structure. The final NODE is
always the size of the entire level.

I am optimistic that a valid set of nodes/ssectors/segs can be generated
from a set of vertices and lines by some automatic algorithm, but so far it
isn't happening. Once this problem is solved, we will be able to create
levels from scratch!

 

CROSS has MAKE-LVL.TXT, which for some reason I can't find the USENET post that this is copy+pasted from.

 

There's this USENET post from March 11th which is a copy of "Explaining the NODES", a text document that I haven't searched for at this point.

 

With all of this information, you can eventually brute-force something as all data in the NODES lump are 16-bit signed integers, mostly related to X/Y co-ordinates except for the last two, which are for referencing child nodes. What I do find interesting is that the source code for NewDEU 4.2 does explicitly reference the last two integers as "trees". I haven't spent time digging through USENET posts for further information, but February 1994 would be a good month to sift through as January 1994 doesn't have anything of interest other than a couple of questions. I have not found a copy of v1.1 of the Unofficial DOOM Specs, so I have no idea if any information is included that would be relevant. EDIT 2: Once again, Supergames Volume 2 delivers on the goods and has a copy of the v1.1 specs.

 

EDIT: Another interesting thing I found is this USENET post which indicates that David Simpson was able to make a hand-made level as early as January! I'm surprised that they didn't upload it anywhere to flex that they made the first custom level.

19 hours ago, Redneckerz said:

Now, it begs to wonder if there are any levels out there that are built with BSP 0.9.. (Disclaimer: I didn't read any texts, i am at work.)

The only possible WAD I can think of was DYLAN2.WAD given Dylan Cuthbert's working relationship with Colin Reed, but I did a node rebuild on that with BSP 0.9 and the data had changed.

19 hours ago, Redneckerz said:

Hand on my chest that i am not! When it comes to this kind of things i often ask a whole lot of things that is only tangibly related to the source material. This isn't just to fuck with you, its just for clarity.

All good, it just threw me off a fair bit seeing it several times in a single post :)

 

22 hours ago, thestarrover said:

Is it maybe a custom/modified version of another editor?

No, however the amusing thing is that WADED has a very similar UI layout, though the first version of that was released three months later.

DMUTIL01.ZIP

Edited by deathz0r : David Simpson USENET posts, DOOM Specs v1.1

Share this post


Link to post

Own history tidbits:

Inspired by the above, i took a scour over the usenet archives myself - and found some goodies too.

 

DEHACK:

Several months later, in June 1994, Matt Fell of the Unofficial Doom Specs wrote Hacking The Doom.EXE, an article on how to read the THINGS and FRAME tables and so on. Included were 5 QBASIC programs that would dump these tables into a human readable format. These were started on March 4, 1994 (the THING table), so around the time most of the structures sans NODES were known. As you can tell, there is no NODES.BAS. This isn't unlike the program Alistair Brown made which actively generated all the needed structures, but it provided a less technical audience a way to inspect Doom's inner structure without a hex editor. As such these QBasic programs provided a more general starting point for players as opposed to programmers (who would scour over DEU instead).

 

I have dumped the timestamps and what each DEHACK file does directly from the .BAS file as its just human-readable text.

DEHACK 1 - The text strings which form the first part of the data segment. - written 3/17/94, last revised 6/13/94
DEHACK 2 - The THING TABLE - written 3/4/94, last revised 6/13/94
DEHACK 3 - The FRAME TABLE - written 3/5/94, last revised 6/13/94
DEHACK 4 - The SPRITE NAME LIST - written 6/13/94
DEHACK 5 - The SOUND TABLE - written 6/13/94

' These crude programs extract information from the DOOM.EXE or DOOM.WAD
' files and store it into a TXT file, suitable for perusing or printing.
' If you want to print the results, you might have to reformat it. Please
' don't waste reams of paper. Thanks.
' All of these only work on the 1.2 registered doom.exe, because I use
' simple byte offset numbers, not search strings.

HEX HACKER:

I once wrote about Doom Hockey, a very early WAD by Seth Cohn that patches up the Doom.exe binary before DeHacked did.  This is what it did:

 

Spoiler
  • Comes with a pre-Dehacked binary patch, PATCH.HKY, which is utitlizing an executable called HACK.EXE. PATCH.HKY is generated by a utility called Hex Hacker 1.01 and which will ''patch''/rename the Doom engine to NORMAL.EXE, utilizing similar methods like DoomHack. It is a pre-DeHacked, pre-DeusF form of patching. The WAD is utilizing a voodoo doll as a puck to implement a new game mode.

 

Included in the archive is HACK.EXE - Hex Hacker. As it turns out, Hex Hacker has had some history of its own:

  • A Usenet post dictates it was released on December 15, 1993 as DOOMHACK.ARJ and as a Save Game Editor. Sadly, that specific archive is gone, as the only available file with this name is something differently entirely. Save Game Editors modified a Doomsave.dsg file to tamper with the contents - This is before much of the WAD structure was even understood. Hex Hacker directly edits the binary.
  • The HACK.EXE from Doom Hockey is even earlier - December 12, 1993. This would mean this was released a mere two days after Doom's release, making it one of the earliest third party programs for Doom.
  • Matt Fell (of the Unofficial Doom Specs) posted a full patch on June 15, 1994 in a USENET post for usage with HACK.EXE. Its called EFFECTS.PAT and has to be launched from a batch file (called EFFECTS.BAT) against Doom.exe 1.2:
Spoiler

=====this is the text of EFFECTS.BAT=====cut this line!==================
@echo off
echo Special Effects!
echo.
echo I'm going to patch doom.exe (after I back it up to doomnorm.exe)
echo To switch back to normal doom, run this batch file again.
echo Note this only works with the registered 1.2 doom.
echo For information on what's different, read the file effects.pat
echo.
pause
if not exist doom.exe goto bailage
if exist doomnorm.exe goto normal
echo Copying doom.exe to doomnorm.exe
copy doom.exe doomnorm.exe
echo Patching for Special Effects.
hack.exe effects.pat doom.exe > nul
goto end
:normal
echo Copying doomnorm.exe to doom.exe
del doom.exe
copy doomnorm.exe doom.exe
del doomnorm.exe
goto end
:bailage
echo Please run this patch from the DOOM directory
:end
===========here ends EFFECTS.BAT====cut this line!=======================

==========this is the text of EFFECTS.PAT======cut this line!=============
/*************************************************/
/* Patch File for Special Effects! */
/* Only works with registered 1.2 doom */
/* First back up DOOM.EXE */
/* Then, usage: hack effects.pat doom.exe */
/* Or, simply run EFFECTS.BAT! */
/*************************************************/
/* This demonstrates SOME of the things that are */
/* possible by patching the doom.exe file. Look */
/* for an a file on ftp called DEHACKER.ZIP or */
/* see the article "Hacking DOOM.EXE" on */
/* alt.games.doom - this article will probably */
/* end up in the coming soon doom specs 1.4 */
/* --=--Matt Fell (matt.b...@acebbs.com)--=-- */
/*************************************************/

08B475 66 /* Imps walk on air WORKS */

08B4CE 44 /* Regular troopers inviso WORKS */

08B4D4 76 /* Sargeants look and sound like players */
08B4DC 77 /* BUT THEY DON'T MOVE */
08B4EC 7D /* WHY NOT? */
08B4F4 19
08B4FC 7B
08B500 7F
08B504 86
08B508 2A

08B564 02 /* Demons are slooooow WORKS */

08B844 1E /* Cacodemon shoots 'lost souls', sort of */
08B845 01 /* BUT THEY DISAPPEAR IMMEDIATELY, LAME. THIS IS LIKE WITH
*/
08B870 28 /* THE SARGEANTS. MAYBE IT HAS TO DO WITH FIELDS 4-5 IN
THE */
08B871 01 /* FRAME TABLE (AND MAYBE IT'S NOT 2 2-BYTE INTEGERS, I */
/* NOW THINK IT MIGHT BE A SINGLE CODE-POINTER) */

08B8D6 03 /* Baron's fireball's sloooooow, like floating worms WORKS
*/

08B8F8 01 /* You can shoot rockets out of the air WORKS */
08B8F9 00
08B924 73
08B944 14
==========here ends EFFECTS.PAT=======cut this line!======================

  • Doom Cheat Patch (by Ziria) was a very early patch that patched your executable for various enhancements: Maximum health of 65535%, starts out with BFG9000 (on reg. version), max shells, and so on. As it turns out, this too used HACK.EXE. It was found on the DOOMMISC directory of the Sprint OS 5 disc, the text file indicates 1.1 was released on FTP and 1.0 was the first release. The patch files, despite their weird extension can be viewed in Notepad.

DOOM UTILITIES:

Here's the system I came up with, although I don't have my editor working
just yet:

My editor will output a .DU (DOOM Utilities) file which contains only
the things you changed in the .WAD file. You can then install this into
a registered version .WAD file using a little command line utility called
DUINST.EXE When I modify a .WAD file I don't erase anything, I just add
to it. This will allow you to restore any modified .WAD file just by
running RESTORE.EXE on it.

So to distribute any changes, you include the .DU file and the DUINST
and RESTORE programs.
  • Sadly Bill Kirby didn't finish this through. The only released version 0.1 is merely a viewer. Like Dooze, it is very much built off the Unofficial Doom Specs.

REJECT.EXE:

We all know RMB by Jens Hykkelbjerg, right? A REJECT builder that speeds up line-of-sight calculations. IDBSP did this (But this is not mentioned on the Wiki, nor does REJECT builder), and RMB does this to this very day. But alongside RMB, there was REJECT.EXE by Lee Witek. This too was found on the Sprint OS 5 disc. Includes source under the GPL v1 license. Witek wrote REJECT for a simple reason:

I wrote REJECT10 originally for one purpose: to speed up starwar1.wad which
ran too slowly on my machine to be playable. After processing the wad
with REJECT10 it plays at a decent speed. This is something that IDBSP does
not do (I'm not convinced IDBSP uses true LoS calclations either). 

REJECT had some criticism from some people, stating that it doesn't do LOS calculations. Witek replied this with the following:

REJECT10 *DOES* generate valid REJECT resources is as much as they have the
required effect of reducing the amount of work (ie line of sight calculations)
which has to be done by the DOOM engine therefore making the game faster.
Just because it does not use the same algorithm as id used to create their
levels does not (IMHO) make REJECT10 invalid.

The method REJECT10 uses IS simplistic, I must admit, but it is also
effective on most levels. There are some levels on which it is not suitable
such as those with large open courtyard type arrangements, but no one is
forcing you to use it.

However, it was mentioned that REJECT.EXE tends to screw up with monster behavior. I haven't tested this.

 

Several early WADS used REJECT.EXE in its intended way of speeding up calculations, sometimes with DEU2C (Which is one of those DEU edits Deathzor mentioned) There is a REJECT 2.0 mentioned, but it was never released.  There were two versions:

VNB:

Even lesser known than REJECT.EXE is VNB by Robert Fenske, the author of VERDA. This is not only a REJECT builder, it is also a NODES builder. VNB thus stands for Verda Node Builder. VNB is interesting from a historical perspective because Fenske started this around March 1994, so around the time DEU5BETA released its first nodesbuilder. Several WADS have used this. The text file contains a lot of interesting perspective, including creating the nodebuilder out of the Unofficial Doom Specs and it includes some source files too:

Well, I've finally gotten around to finishing my node builder.
I started it last March, but got interrupted during April and half of May.
The program builds the NODES, SSECTORS, SEGS, and BLOCKMAP resources of a
PWAD file, IWAD file, or VERDA patch file.  (VERDA is our level editor
whose lastest version will be released one of these days.)  This release
is version 1.050.  The program VNB.EXE, this text file VNB.TXT, and the
four source files DMGLOBAL.I, VNB.C, NODES.C, and BLOCKMAP.C are included
in the VNB.ZIP file.

The program is fairly quick and, except for a couple of instances
produces, fewer NODES and SEGS than id Software's generator (which suprised
me since I had expected id to have their generator highly optimized).  The
program can process E2M7 from DOOM.WAD (the largest level) in about two
minutes on my 486/33.  The BLOCKMAP generator is extremely fast and processes
any level in under a second.  Executing the program with no command line
arguments will display help regarding the command line, but essentially
after processing an input file, the program can either rewrite the input
file or write to a different output file.

I wrote the node generator from the description of the nodes given in
Matt Fell's Unofficial DOOM Specs; the blockmap generator algorithm is my
own idea.  I did most of the coding and debugging on a Sun, hence the code
will compile and run on either a Sun or a PC.  I didn't handle the
byte-swapping in the most elegant way, but I don't want to take the time to
make it any cleaner.

It isn't on /idgames.

WARM:

Robert Fenske wouldn't be done yet, as he would release another node and REJECT builder - WARM, or WAD Auxiliary Resource Manipulator. As writing this post becomes very long, i just list the one version that is on /idgames:

In much the same manner there is JBSP. I find that even the /idgames directory has a lot of undocumented stuff, not so much the earlier days perse, but still very useful.

 

Addendum:

@deathz0r i know you just mentioned things like Doom Utilities as i was writing this post (since yesterday).

 

You mentioned not finding the USENET post where MAKE-LVL.txt from CROSS.WAD is from. That is this USENET post. It refers to a custom program he made using a modified PWAD writing routine from NewDEU. Sadly that program has been missing.

 

PS: I gotta love that David Simpson post and how blind i am - I found this one yesterday too, but unlike you who actually reads a post in full, i merely glanced over it and looked at the time stamp. I didn't read ''I doubt it is the first since i made one a month ago'', can you imagine?: But yeah, David Simpson's WAD is a strong contender then for first WAD. And, unless we would contact him or Alistair, lost to time.

 

PPS:

The authors of Jumble, Empty Productions, were working on a map editor called JADE (Or Just Another Doom Editor) as early as January 1994. Considering not much of the Doom structure was known back then, it remains curious what JADE could do. USENET post reference (January 13, 1994).  The Doom FAQ mentions:

JADE - Just Another DOOM Editor.
640x480x256 color VESA standard support.
Level editor with Mouse support.
- FEATURES / Special Effects -
- Map transformations :
MIRROR BEND RIPPLE
SKEW STRETCH TIGHTWAD
SQUASH BUBBLE "AutoMake"
- Integrated JUMBLE.
- Perspective View of Level. (Possibly with Texture mapping)

 

Edited by Redneckerz : Reference to JADE

Share this post


Link to post

Double post but this is by sheer accident, again from the Sprint OS 5 CD. Unless i am completely blind, this isn't on Usenet.

 

EDIT: I am blind. Jason Hoffoss didn't had a USENET account yet, so Paul A Hagstrom released it, on March 31, 1994.

 

Posted for Jason Hoffoss, I'll take email responses until his account is up
and running..

===== Included text =====

That's right. I have written a node generator for DMapEdit, and am
releasing the routines for it. They don't quite seem to work right, but
I'm hoping that with the source for it out there for everyone to look
at, someone might be able to figure out what the problem is. It is a
little complex, isn't obscenely commented, and my programming style is a
little unique, but it is a good example of some of the more difficult
programming problems out there. It's called "NODE_GEN.ZIP". It
contains 2 files, a C source, and an informational text file about the C
source. So, anyone interested, knock yourself out. Be advised,
however, that it isn't a stand alone program. If you are not a
programmer, then it's useless to you as it is. If you are just starting
to learn to program, don't blame me if you head explodes from trying to
understand these routines.. BTW, DMapEdit v1.2 is coming along. It
should be released sometime sorta soon. Anyway, later..

-Jason Hoffoss
DMapEdit author

===== End included text =====

 

Jason Hoffoss's NODE_GEN:

 

If DEU5BETA (March 17, 1994) contains the earliest known nodegenerator, then NODE_GEN.C is fairly close too, being made on March 30, 1994.

It was released by Jason Hoffoss, author of DMAPEDIT. He released this standalone node generating algorithm as an auxillary piece of information. Compiling it doesn't instantly land you a fully functioning nodesbuilder, but it gives you a good idea of how to merge this algorithm with the other parts of the WAD.

 

Hoffoss indicates that a fully working version will also be released. It may very well be that DMAPEDIT 2.0 has this, but on its own, this is a fantastic piece of early code that highlights how people were making these. It also gives an idea how Alistair Brown made his WAD to begin with. EDIT: DMAPEDIT 2.0 did release with a node generator.

 

It seems to generate nodes:

void generate_nodes(void);
void add_node_list(int far *list, int *index, int line, int v1, int v2);
uint nodize(uint size, int far *list);
int resolve_space(int line, int size, int far *list,
	int far *left_list, int far *right_list, int *lx1, int *ly1,
	int *lx2, int *ly2, int *rx1, int *ry1, int *rx2, int *ry2, int test);
void add_node_list2(int far *list, int index, int line, int v1, int v2,
	int *x1, int *y1, int *x2, int *y2);
int make_seg(int line, int v1, int v2);
int calc_line_cross(int *y, int x1, int y1, int v2, int v3, int v4);
uint calc_angle(int x1, int y1, int x2, int y2);
int adjusted_angle(uint angle, int x1, int y1, int x2, int y2);
void adjust_limit(int x, int y, int *xmin, int *ymin, int *xmax, int *ymax);
void error(char *msg);
void fatal_error(char *msg);

But the text file is more interesting. It describes how it has minor errors still, and how it was tested on CROSS.WAD. Furthermore, it explictily mentions that at this time frame, only Hoffoss, The DEU crew, and ID Software have made Node builders. Because of it, i include it in its entirety here in code, because it retains the structure:

--------------------------------
           NODE_GEN.C
    Written by Jason Hoffoss
Copyright (C) 1994 Jason Hoffoss
--------------------------------

Notice:  I give hereby give permission to everyone to copy, distribute, 
and use these routines, in part or as a whole, so long as it is stated 
that I am the original author of these routines.  Routines based or 
derived from these routines should also state that they are based or 
derived from my routines.  You may not sell these routines, but you can 
sell programs with routines based or derived from these routines, or 
incorperating these routines, if these routines comprise less then 20% 
of your program.

Ok, so here is an algorithm I wrote to generate nodes.  It has all the 
routines and structures it need run inclusive, however it is not a stand 
alone program.  If you try to just compile it, you will get an error 
stating that the function "main" was not found.  Simply adding the 
function "main" and compiling it again will also not work.  It will 
compile at that point, but it will not have any data from which to 
generate the nodes.  It doesn't contain any routines for reading a wad 
file, either.  The purpose of these routines is to be informative, and 
to be used in other programs.  The main entry point to generate nodes 
is (of course) "generate_nodes()".

WARNING:  These routines don't fully work yet.  I don't know what's wrong
with them exactly, but I am sure it's something minor.  Therefore, the
third purpose of releasing these routines is so that hopefully someone can
figure out what I'm doing wrong.  From the information currently available
on nodes, it is working fine.  When you give it to doom to use, however, it
doesn't work so desirably.  Sometimes you get "hyper-junk" walls.  I have
also gotten a "M_Player located in unknown special sector #29" (and it
isn't a sector problem, either.)  I think there's something else that
needs to be done that no one has mentioned yet.

My favorite map to use for testing node generation is CROSS.WAD.  Being 
the simple map that it is, it's easy to see how everything fits 
together.  These routines will pick the same first nodeline as the 
author used, however all nodelines thereafter are picked differently.  
Why?  Better balance on the two sides.  If anyone has ideas on a better 
way to tell which nodeline should be used, let me know, eh?  Anyway, 
using CROSS.WAD, we end up with 6 nodes, 7 sub sectors, and 28 segments 
(no splits).  Here's a diagram of what it generated:

            +++++
            +   +
            +   +                 +++ single sided linedef
            + 6 +
            +   +                 --- double sided linedef
            +   +
        +B+++---+++++             ... imaginary node bounding limit
        +           +
        +     5     +             A-F nodelines: letter is at tail of line
+A+++++++...........+++++++++
+       |           F       +     1-7 Sub Sectors
+   2   E     0     |   1   +
+++++++++...........+++++++C+
        +           +                  Line Sidedef Dir Vertexes
        +     3     +
        +++++---+++D+                 A   0    0    ->   0 ->  1
            +   +                     B   2    2    ->   2 ->  3
            +   +                     C  10   10    <-  10 -> 11
            + 4 +                     D  12   12    <-  12 -> 13
            +   +                     E  20   20     ^  18 ->  1
            +   +                     F  22   24     v   8 -> 11
            +++++

Ok, so you start off in sub sector #2, facing right.  Once you enter Sub 
Sector #0, by crossing linedef #20 (which is nodeline E) you only see 
what's in front of you if you still are facing right.  The 2 imaginary 
node bounding limits on either side of you are no longer updated, and 
you just see hyper-junk there.  However, if you turn enough so that your 
gun points straight at a corner where nodeline F crosses nodeline A or 
C, then it detects sub sector 5 or 3, and will draw those walls again.  
I can see these symptoms, but I don't know what is causing them.  So, 
what I think I really need is to know how a program would use a BSP tree 
to detect what walls to draw.  Anyone ever write a program to use BSP 
trees?  I can't see how it one would even use such information.. 

Anyway, enjoy this little node generator.  When I get it working 
properly, I'll will release it too.  If anyone else has written a node 
generator, could I get a copy to examine?  As far as I know, only 
myself, the authors of DEU, and the team at ID have written node 
generators.  Post any comments about this to Alt.games.doom.

   -Jason Hoffoss
    DMapEdit author

Share this post


Link to post

This is kind of a tangent, but since we're talking about this kind of really early stuff - a while back I went digging through old stuff from textfiles and Usenet myself and collected as many versions of the different Doom FAQs that I could find. The result is here - each of the files has Git history, so you can look at the old versions and even use Blame to see when particular parts were changed. Maybe at some point I'll see if I can find the time to collect some of the source code from these early tools and do the same thing.

 

10 hours ago, deathz0r said:

Jumble 1.02 (announcement post deleted, just like everything else posted by Hank Leukart)

 

It really sucks that all his posts are gone. I even went digging through the dumps on archive.org to see if I could find copies of them, but they aren't there either. Particularly frustrating because obviously it was him that posted the old versions of the FAQ.

Share this post


Link to post
11 minutes ago, fraggle said:

This is kind of a tangent, but since we're talking about this kind of really early stuff - a while back I went digging through old stuff from textfiles and Usenet myself and collected as many versions of the different Doom FAQs that I could find. The result is here - each of the files has Git history, so you can look at the old versions and even use Blame to see when particular parts were changed. Maybe at some point I'll see if I can find the time to collect some of the source code from these early tools and do the same thing.

By all means, please do. The more data the merrier - I rather prefer a cove of data before we do the minin'.

I should stress that (and this is even before this thread even was made) that a ton of stuff is already on /idgames or on 3ddownloads just waiting to get dissected.

Share this post


Link to post
6 hours ago, ETTiNGRiNDER said:

@iddq_tea

Would you like me to help post this to archive.org like I did with WADS of WADS so it has a safe(r) place to be than Mediafire?

 

 

Oh, absolutely! I will add the link to my original post if you do.

Share this post


Link to post
1 hour ago, iddq_tea said:

Oh, absolutely! I will add the link to my original post if you do.

Great!  For the purposes of upload metadata, is there any sort of publisher info anywhere on this?  It doesn't look like there are any on the insert or disc judging by the photos, but maybe the side label?  Some of these discs really are that anonymous though, especially the weird rare ones.

Share this post


Link to post
16 hours ago, ETTiNGRiNDER said:

Great!  For the purposes of upload metadata, is there any sort of publisher info anywhere on this?  It doesn't look like there are any on the insert or disc judging by the photos, but maybe the side label?  Some of these discs really are that anonymous though, especially the weird rare ones.

I will take a look later today, remind me if I forget. More than likely it's anonymous, but it's worth taking a closer look just in case.

 

EDIT: I have no idea where the CD currently is, it has a tendency to get lost before turning up again months (or even years) later. I'm currently quite sick and it's difficult to comprehend things, I can try searching for it more thoroughly some other day.

Edited by iddq_tea

Share this post


Link to post

@deathz0r i was wondering: What are the 7 hacks of DEU you found? I know of ADE II and DEU II but i love to see a write up on these.

Perhaps the following below you didn't know. Or perhaps you did. In that case the follow is just a write up for later inclusion on the wiki :)

 

EDIT: What was to be only a post on HFDE became a rather large post on various old editors with some lineage to DEU or fairly obscure. I hope this post provides some resource for other historians out there.

 

The Cream of the Crop collection has a lot of these old editors.

 

HFDE:

Because, inspired by your hunting, i have been doing some searching too and i found a very peculiar one - HFDE, Hack of A Famous Doom Editor. 

 

Joe Wilcox of Simply Silly Software (A rather known entity within Doom) made this hack based off DEU 5.21. GUI improvements were the biggest change, and HFDE was first used internally. It also shows that on November 25, 1994, it could build a Doom 2 PWAD. 

 

The legendary Hank Leukart used HFDE/2, a public version for Doom 2, for his level Hank's Lair and there is also HFDE/H, for Heretic.

 

Its text history is thus interesting to include:

WHAT'S IS HFDE/2
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
HFDE/2 started with DOOM, when I found that out of all of the DOOM editors
available, DEU 5.2 was the best, but the interface was very clumsly.  So I
created HFDE (a complete hack of DEU with a new GUI) and myself and several
close friends used it to build our PWADS.
  
When DOOM 2: Hell on Earth came out, I wait patiently for DEU 5.3 to come.  A
promised new GUI and full DOOM 2 support were worth the wait.  Well, 3 months
later, DEU 5.3 is still held up, so I started a quick convert on HFDE.  Thus
HFDE/2 was born.
  
Well, I passed it around to a few friends on the internet, and everybody loved
it.  So, I did more work on it, cleaned it up, fixed alot of bugs and decided
to give it a real release.
  
But I'm a busy programmer so in order to keep HFDE/2 changing and growing I
hope to build it in to a public project (much like nethack).  Hopefully, the
users of HFDE/2 will join in and help mold it into the best editor around.
CURRENT VERSION INFORMATION
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+ HFDE/2 is currently at version 1.00.03!                    December 12, 1994
  
  þ Fixed bug in insert Linedef that forced it to always try and split a
    sector
  
  þ Rewrote the LoadFTextures code so it would pull in ALL of the floor &
    ceiling texture names.
  
  þ Documentation updated.
  
- version 1.00.02                                            December 04, 1994
  
  þ First Public release
  
  þ Dissapearing Select object bug fixed.
  
  þ Sprite viewer fixed
  
  þ Item names fixed
  
  þ Complete Sector type and linedef type info added (from DOOM 2 specs)
  
  
- version 1.00.01                                            November 30, 1994
  
  þ Internal version
  
  þ Stairs from Sector code finally working correctly.
  
  þ tites, info screens, and text changes made.
  
- version 1.00.00                                            November 25, 1994
  
  þ HFDE successfully builds a DOOM 2 PWAD.
  
  þ All code update to load/edit/save using the new DOOM 2 wad file.
  
  þ several small bugs fixed.
  

The download i have is HFDE/2 Version 1.00.03, December 13, 1994.

IDE:
Joe Wilcox continued on and also released IDE, short for iD Edit. It also builds upon DEU 5.1 and 5.2 and has hacked in Doom 2 and Heretic support along with a improved GUI. It defaults to using Heretic.WAD. The latest version on /idgames is beta 1.00.725, of July 25, 1995. Sadly there isn't much history included here.
MKD2EDIT:
Mark Klem (also known as Mark A Klem) is a rather legendary MIDI musician, who in the early days of 1994-1995, also did some levels. But as it turns out, Mark also created his own level editor, based off DEU 5.21. Known as MKD2EDIT, this hack added Doom 2 support to DEU. Several levels were made using it, but far as i can tell, there was only one release, from October 28, 1994.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ °°°°°°° MKD2EDIT v1.0 °°°°°°°° ³
ÀÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÙ
 ³ Map editor for DOOM ][.      ³
 ³ Modified version of DEU 5.21 ³
 ³ Access ALL of the new WALL   ³
 ³ textures, FLOOR/CEILING      ³
 ³ textures and ALL the new     ³
 ³ Enemies, MegaSphere, Super   ³
 ³ Shotgun, Sector types, Line  ³
 ³ Def types, and Specials.     ³
 ³ Read MKD2EDIT.DOC for info.  ³
ÚÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁ¿
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
MKD2EDIT v1.0 Map Editor by Mark A. Klem
for DOOM ][ - Hell on Earth by id Software, Inc.
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Changes from DEU5.21 in MKD2EDIT v1.0
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Yes, this is a modified version of the original DEU v5.21.
To respect the DEU Authors wishes, this Editor was not named
DEU v6.00, I believe they are currently working on version 6
at this time.  

This version allows you to access all of the new Wall textures,
plus, ALL of the new Floor and Ceiling textures as well.

All the new Enemies, the Super Shotgun, and the Mega Sphere can
be used also.

Enjoy making your DOOM ][ WADs.  I know I am.
--MK--
WAD Master:
But Klem didn't stop there, but together with [ice] also released WAD Master 5 months later. It is a fully featured editor, with a texture editor, patch editor, even a COLORMAP editor (in beta) is included. It also includes a level editor, based off DEU with the node builder removed and includes a 3D previewer ala DoomCAD and interactive texture alignment The modifications are detailed in WM.DOC:
  9.  The Level Editor
  --------------------
  The level editor is actually a revamped version of DEU by Raphael
  Quinet and Brendon J. Wyber.  If you don't know how to use DEU, you
  will need to obtain a copy of the documentation from your local BBS
  or an ftp site.  Following is a list of changes/additions to the
  original DEU code:

  - The nodes builder has been completely removed.  You will have to use
    an external nodes builder to rebuild the nodes in your level before
    Doom can use them.  I highly recommend getting a copy of BSP by 
    Colin Reed.  BSP is the best nodes builder I have seen.
  - Cheesy 3D preview mode.  I don't have this complete yet, but it will
    give you the general idea.  Top-of-the-line Cheese!
  - Interactive Texture Alignment(ITA).  Select 2 joined linedefs and align 
    the textures.  This one's not fully complete yet either, but usually 
    works fine.
  - Changed the 'Select Texture' box.  Size of patch is displayed as well
    as the number of patches in the texture.  Moved some of the text around
    so more of the texture can be seen in 320x200.
  - When you select a sprite, the sprite is displayed in a window just as
    the textures are.  I did this because of the next change I made...
  - Textures & sprites from loaded PWADs are now shown.  Before, DEU would 
    crash if you had any kind of graphic replacements in any loaded wads.
  - Texture & sprite drawing routines totally re-written.  The new routines
    are faster, smaller, and use less memory.  And they're faster.
  - 90% of the graphics routines had to be re-written for Watcom.
  - Added a check for 'medusa' textures.  A 2-sided linedef with a normal
    texture with more than one patch is a no-no.  Now, you don't have to
    worry about that.  This check is performed when you select Check |
    Check Textures.
  - Only 2 graphic modes are supported now: 640x480x16 (with 320x200x256
    fallback), and 640x480x256.
  - All input boxes for height, light level, etc... have a +8, -8 step by
    pressing the up or down arrows.  Helps when making stairs, etc...
  - Lotsa descriptions changed, stuff moved around, better organization...
  - And of course, all of the new Doom 2 things, linedef types, and sector
    types have been added.  It is very complete.

It does include a batch file, B.BAT, that tells you how to build the BSP nodes (It assumes BSP.EXE) will be used:

REM This is an example BATCH file of how you may want to
REM run your nodes builder after editing a level.
REM
@echo off
cd\doom2
bsp map02.wad
copy tmp.wad map02.wad
doom2 -warp 2 -file map02.wad < NUL
WADMSTR:
The same name as the editor above, it is made by two completely different people. In fact, it is an early program (March 2, 1994) whose editor (DEDIT.EXE) could only save THINGS, but did allow viewing of the NODES. So this gives a timeframe of when the NODES lump atleast could be viewed. It was made by Richard Hawkins and John Milton as WDMSTRx. What i have is version 0.5, as WDMSTR05.zip. Again found on the Sprint OS disc.
It includes:
Spoiler

WADMASTR series Version 1.00

This set of tools/utils is the first in a line of WAD packing/editing tools
which are capable of taking a doom WAD file and splitting it into many named
pieces.  This release also includes the means to take these pieces and
reassemble them into a doom.wad file again.  With this doom editing method,
the number of anything is not fixed (including patterns, etc.)  Furthermore,
to change any item in DOOM, it's file simply needs to be altered/added/deleted.
Thus, if you have a new set of sounds you want to use to replace the old ones,
simply replace the relevant files in the unpacked wad directory and re-pack
verything.  The sizes of the new files are completely IRRELEVANT.

For this release, there are only the most basic of utilies.  They are:

WADDIR {WADFILE}

    Extracts all filenames from a .wad file and writes a series of
    lines to standard out.  (It also adds some comment-like lines
    starting with #.)  The fields are:
    
    DOSNAME        WADNAME        SIZE

    DOSNAME is used in conjunction with UPWAD and PWAD to determine
    the path to put/take a file in the dos tree.  WADNAME is the
    .wad filename used inside the .wad file.  SIZE is totally
    unused by any of the other utilities and is only introduced
    for the sake of the user.  Any DOSNAME with a trailing \
    denotes a directory to be created (and using an editor, the
    filenames of subordinate files can be placed in such a directory).
    Any WADNAME with a trailing \ indicates that the name is a TAG
    (not a directory, but not a file either - more a marker so DOOM
    can find a subsection quickly or seperate levels).  (See DOOMDIR)
    If WADFILE is omitted, doom.wad is assumed.

UPKWAD {-v} {-q} {-o directory} {-s} WADDIR {WADFILE}

    Extracts the files specified by the contents of WADDIR, which
    is in the format output by the WADDIR command.  Only the files
    specified are extracted, but they must be in the same order
    as the directory of the .wad file involved.  If WADFILE is
    omitted, doom.wad is assumed.  If -v is specified, the command
    becomes verbose.  If -q is specified, the command becomes
    quiet (not displaying error messages, but statistics are still
    displayed at the end).  If -s is specified, the command
    does not display statistics at the end.

PKWAD {-p} {-v} {-q} {-o directory} {-s} WADDIR {WADFILE}

    De-extracts the files specified by the contents of WADDIR, which
    is in the format output by the WADDIR command.  Only the files
    specified are integrated.  If WADFILE is omitted, doom.wad is
    assumed.  If -v is specified, the command becomes verbose.  If
    -q is specified, the command becomes quiet (not displaying error
    messages, but statistics are still displayed at the end).  If
    -s is specified, the command does not display statistics at the end.
    -p creates a PWAD (patch) file using the directory structure
    provided.

DEDIT

    This is the editor for this system.  It should be executed at the
    base of the tree where the UPKWAD was performed (but it is not
    necessary to do so there).  DEDIT is a mouse-driven (only) editing
    mechanism which can display all things, lines, vertices, nodes,
    and corresponding ssectors and segs.  Currently only THINGS can be
    saved, however, the number of things may vary between loading and
    saving.  Object selection is performed by clicking the left mouse
    button over a particular thing or vertex.  Dragging will move that
    item.  Double-clicking over a thing will produce a thing editing
    menu.  Pressing the right mouse button produces a main menu to
    the menu system.  The menu items are reasonably self-explanatory.
    The following keystrokes are recognized:

    1,3,4,7: Toggle the display of things, lines, vertices, and nodes
        respectively.
    ALT-1, ALT-2, ALT-MINUS: Descend left, right, and ascend the node
        BSP tree respectively.
    F1: Load a level
    F2: Save the things in a level
    KEYPAD PLUS: Zoom in
    KEYPAD MINUS: Zoom Out
    ALT-P: Pan the map
    ALT-C: Toggle coordinates
    INSERT: Insert a thing
    HOME: Center on mouse

Special files:
DOOMDIR:
    This is a WADDIR output of the standard doom.wad which has been
    modified so that a standard directory structure can be given
    to UPWAD and PWAD.  It is suggested that it be used for    
    the purposes of standardization.  It is also suggested that
    packages of doom things use variations of this DOOMDIR as
    a standard mea
ns of packaging so that replacements can be
    made easily.

Laura Beyer's Level Editor (LDLC):

Some of you may remember Laura Beyer's Doom - A infamous PWAD that was sold as a commercial addon with debateable quality maps. But there was also a level editor. It uses BSP 1.2x (BSP12x) as a nodes builder. It was distributed as LBCREATE.ZIP and it is on the Sprint OS disc. It also includes a map, SHADOWS.WAD, from November 25, 1994 as a demonstration map. It was a payware program: What is on the disc is the demo version. One was ought to order the registered version. The demo version disables saving.

 

Below is the layout of SHADOWS.WAD, exported from SLADE (Open in separate window to see the background, it turns black in forum):

 

SHADOWS.WAD_MAP01.png.c783136333b8039eab2be1fda1764d7a.png

SuperWADED:

SuperWADED was to be a enhanced WADED clone by Matthew Ayres who was 18 years old at the time. There has only be one release available, 1.967 Alpha of June 26, 1995. Its only a THINGS editor at this point. The history suggests there was an earlier version on a book by Sam's Publishing:

---------------
  A good portion of WADED was rewritten to make SuperWADED.  There's still
  a lot of work to do, but it's MUCH easier to work with now.

-=[ v1.83 beta ]=-
  Oh boy, here's where we left off... pretty stable version, but it had its
  flaws if you weren't familiar with it.

-=[ v1.87 beta ]=-
  Special registered versions for Sams Publishing.  You shouldn't have this
  unless you bought the book.  It's the same as v1.83 (I think... hmm, well
  there might be one tiny little fix.  I'm not gonna say what it is, nahnah...
  ok so I can't remember what it was anyhow.)

-=[ v1.9xx alpha ]=-
  Code revamped.  Worked on it on and off a lot over the past few months.
  Recently working on it a lot.

-=[ v1.967 alpha ]=-
  Released alpha version with only THINGS mode working.

Ayres did promise a lot features, however:

  More alpha's with more modes and features enabled.  Probably in this order:
  Load, Save, LINES, SECTORS, DRAW MAP VERTICES, DRAW MAP LINE(S), DRAW ROOM,
  Help, Check, Make Sector, Sector Define, Move VERTICES/LINES/SECTORS.  Also
  soon to come: Cut & Paste, allow many maps opened at once, other nifty
  things, and 3D preview...

But obviously, it never came to be.

viDOOM:

Unlike most of the above, this is actually a late DOS release, starting at August 5, 2000. Made by Ian Cowburn, viDOOM carries a GPLv2 license. This is a from-scratch level editor that can edit all Doom games, but can also support BOOM and ZDOOM extensions. These aren't included here, but viDOOM was mean't to be configurable from scratch. It doesn't have a node builder, but it suggests to use BSP. It has some extensive help files. It seems this editor never got any popularity. As for the reason why viDOOM was made:

Quote

Why bother?

Good question. Anyone who has ever used them will know there are a number of very good DOOM editors available (links to lots of them can be found at Doomworld and all good FTP servers).

However, I always felt a bit clumsy using them, and in true hacker fashion I decided writing one I could use would be easier then reading the instructions for the others. Hence viDOOM.

I reasonably like the way viDOOM works, so I release it on the off chance other people may too.

The Doom Editor (DEDIT):
The last one is a doozy, it is a Doom Save Editor. It has a file date of December 12, 1993. Doom Save Game editors were the earliest form of modification (see also DSGEDIT). It was made by The Harrison Hackers:
This file contains the DOOM editor which will give
you a variety of neat stuff (maps, light visors, keys,
health, weapons (yes!!!!!), ammo, god mode (more later),
rad suits, invisibility, etc. ). 

Notes:
1. DOOMEDIT.EXE _must_ be in the \doomdata directory.

2. The PLASMA CANNON and BFG9000 are NOT available in
   the shareware version.

3. God Mode is activated by selecting FULL INVISIBILITY.
   God mode is not equiv. to unlim ammo... but it makes
   killing by chainsaw just that much safer!
   
4. Play around with it, it's fun... it's exciting..
   it's the DOOM EDITOR!!!! (version 2) (v1 sucked) 
   
5. Happy slaughtering!!!

Hugs and kisses,
The Harrison Hackers:
kaseeley@sage.cc.purdue.edu
fisheric@mentor.cc.purdue.edu
burdicdj@mentor.cc.purdue.edu
blabus@sage.cc.purdue.edu
Edited by Redneckerz

Share this post


Link to post

@deathz0r and @Never_Again and @thestarrover Speaking of David Simpson's illustrious first WAD: Obviously the idea of an original WAD way before ORIGWAD and without being an ID-edited level is very interesting to me, so i set out to find some more evidence to David's original comment that he made the first WAD. I found the original post where he claims he created the first original WAD. It is interesting to see how Simpson was figuring things out as they go. Still no level, but there is a possible creation date: January 27, 1994. (Usenet post)

 

David asked in a Usenet post from January 13, 1994 for info on how the NODES structure worked:

A possible and quite feasible solution to finding difference between the two
.WAD files (shareware and not) is to look at the indices at the end of the
.WAD files. These index certain things within the file (graphics, sound,
maps, etc.) and many of the items in the full version do not exist in the
shareware version. A good example is the BFG9000, which has a name like
BFUG9 something or other. Well it's there anyway.

Someone also brought up a question on how to distribute altered and
new maps to Doom. The best method I have come up with is to distribute
(either seperately or with a map editor) a small program that just simply
inserts a new map into .WAD file. This can simply be done by placing the
new map into its spot in the .WAD file and then by changing all of the pointer
references at the end of the .WAD file that reference the map and probably all
of the pointers after them (it is highly unlikely that new maps will be
exactly the same size as the one it will replace). This small program
should also give the ability to replace the distributed livel with any of
the levels in Doom. It may be also possible to not have to overwrite the
old level being replaced. Since the pointers just point to a place in the
file, just place the new level after the exiting level and change the pointers.
To go back to the old level, just change the pointers back and voila! it's
back.

Now, if anybody knows exactly how the NODES section of the map is
set up and what each integer does, please send me mail. The only thing
I know so far about it is that integers 0, 6, 7, 10, and 11 are X coordinates,
integers 1, 4, 5, 8, and 9 and Y coordiantes, integers 12 and 13 are some
sort of index number and that each entry is 28 bytes long.

Another Usenet post from January 19, 1994 shows Simpson making improvements and having figured most things out on the structure of a WAD, yet still struggling with understanding the NODES structure:

If there is anyone out there that knows what the NODES section in the map
definitions is used for and how it is setup, I would really like to hear
about it. I've got most everything else figured out, but the NODES are
confusing the hell out of me.
What I do know about them is that each entry is 28 bytes (14 ints)
set up like this: X Y ? ? Y Y X X Y Y X X Index Index, where the X's and Y's
are coordinates on the map, the Indices are some sort of refernce number
(to SSECs, I believe) abd I have no clue what the ?s are (but haven't looked
at those too much yet). I really can't tell if specific points are made
by combos of the X and Y coordinates or if they diffine lines or what.
Perhaps more importantly, what are the NODES function?

The January 27, 1994 Usenet post actually talks about REJECT  (and doesn't mention the term nodes, so it was easily missed to time) and not understanding what this seems to do, but it does mention the following:

However, I think I've figured out just about everything else, although
I don't have comprehensive lists of such things as LINEDEFS functions and
items. I have in fact created my own level (by hand in a hex editor). It
was just a single room which had two distinct levels and a couple of objects.
I never did get the exit switch to work right, but I did make a wall into an
exit that would work by running into it.

So around this time, Simpson understood the NODES and proceeded to craft his very own level. It isn't sure what Simpson mean's with two distinct levels, but most likely it isn't about an upper floor and a lower floor, rather one room with two seperate subrooms. Atleast that's my impression of it.

 

So i reckon inbetween January 13 and January 27, 1994, Simpson figured out how NODES worked and crafted his own level in a hex editor, predating ORIGWAD by more than a month (January 13-27 to March 7).

 

It is baffling to me however that Simpson didn't think his achievement was worth sharing to the world, yet mentioned having made that level in a March 11, 1994 Usenet post on ORIGWAD, because for all we know now, Simpson may have beat ORIGWAD by a significant margin. The only way we could confirm this is ask Simpson himself provided he is still alive (And same goes for Alistair Brown).

 

All in all this is interesting enough to put on the wiki.

Edited by Redneckerz

Share this post


Link to post

I now have a history repository built from the releases of BSP that I've been able to locate. You can get some nice blames of the source files (example) that show how the code changed over time.

 

Thanks to everyone in this thread for locating some of the old versions. Obviously it's an incomplete history; if you have copies of versions that are not in that list please let me know. It's particularly frustrating that I've been unable to find the earlier v2.x releases (bsp20x, bsp21x, bsp22x).


The repository is autogenerated so expect the history to be entirely rewritten as I incorporate new things. In particular I've just noticed that the source dating back to v2.3 appears to have been tracked in CVS so I'll be able to get more fine-grained history.

 

I'm in the process of doing the same thing for DEU and its forks. If you have obscure versions of that, let me know.

Share this post


Link to post
16 hours ago, fraggle said:

It's particularly frustrating that I've been unable to find the earlier v2.x releases (bsp20x, bsp21x, bsp22x).

I have the following files:

BSP20X.RAR. BSP21X.RAR, BSP22X.RAR, BSP23X.RAR (versions 2.0, 2.1, 2.2, 2.3)

Are these the files you are looking for?

 

  • BSP20.TXT

This is BSP version 2.0 dos extended, written by Colin Reed:

creed@graymatter.on.ca.

Please send all comments and/or questions about BSP to Lee Killough
(killough@rsn.hp.com), since Colin Reed is too busy now.

-----------------------------------------------------------

New to 2.0x:

Multilevel support!!!  Automatically builds all levels in wad.

Does not strip textures or other lumps from wads anymore!!!

Supports HOM-free transparent doors:

  Simply make the sector referenced by the doortracks have a
  sector tag of >= 900. No need to remember sector numbers
  and type them in on a command line -- just use any sector
  tag >= 900 to permanently mark the sector special.

  See TRANSDOR.WAD for an example of sector tags in the 900's
  being used to create HOM-free transparent door effects.

-----------------------------------------------------------

Changes from 1.4x to 1.5x:

Replaced GO32.EXE with newer version, to support Windows
and DPMI.

-----------------------------------------------------------

Changes from 1.3x to 1.4x:

Lee Killough:

Fixed bug which caused BSP to "do nothing" on systems where
GO32.EXE was not in the user's path.

Added -factor option to allow changing the heuristic used by the
node picker. Factor can be any positive integer, and the larger
the factor, the more costly seg splits are. A factor of 17 is the
default and behaves just like earlier versions of BSP. Changing the
factor can sometimes prevent visplane overflows in wads. But then
again, some wads have just too many visible 2s linedefs for the
node builder to make a difference. If you have visplane overflows,
experiment with the -factor option before giving up.

-----------------------------------------------------------

Changes from 1.2x to 1.3x:

New version due to performance enhancements by Lee Killough
(killough@rsn.hp.com).

Runs at least 3 times as fast as before, due to changes in PickNode.
Same results are obtained, but with greater speed. Differences from
1.2x:

     PickNode() rewritten to maximize performance. New PickNode()
     algorithm features pruning strategy which allows inner loop
     to exit as soon as a seg is detected as being worse than the
     best so far.

     All floating-point arithmetic inside inner loop has been eliminated.

     GetVertexes() changed and Reference() removed, replaced with a
     faster vertex renumbering algorithm which also removes lines of
     length zero.

     IsLineDefInside() tuned by eliminating bit mask variable.

     Functions are static, to reduce code size by permitting total
     inlining.

     Various other minor performance enhancements

-----------------------------------------------------------

Changes from 1.1 to 1.2x:

New version 1.2 due to bug found by Mark Harrison that caused some
problems with flipped segs having their textures buggered up.

The GO32 dos extender has been pre-pended to the executable.

-----------------------------------------------------------

This builds a BSP node tree for your DOOM wad files.

Usage:

BSP [-factor nnn] <input file> [<output file>]

If no output file is specified 'tmp.wad' is written.

-----------------------------------------------------------

This ZIP includes the fullly commented source code for all you
Doom editor/utility writers out there.

-----------------------------------------------------------

A known problem is a conflict between the GO32 dos extender
and QEMM's DPMI... put 'set GO32=nodpmi' in your autoexec.bat
to avoid problems.

-----------------------------------------------------------

Future enhancements (possibly, depending on demand):

* Ability to specify level(s) to build separately

* Reject map build

* Automatic visplane overflow protection  (no, really!)

 

  • BSP21X.TXT

This is BSP version 2.1 dos extended, written by Colin Reed:
creed@graymatter.on.ca.

Please send all comments and/or questions about BSP to Lee Killough
(killough@rsn.hp.com), since Colin Reed is too busy now.

-----------------------------------------------------------
Changes in 2.1x:

Lee Killough 06/03/97

Fixed design bug which caused invisible barriers or
disappearing Things. Problem was in how segs parallel
to a partitioning node line were partitioned -- they were
partitioned according to sidedef, rather than vertex,
orientation w.r.t. the node line. Flipping the affected
seg's linedef usually fixed the problem. Now a parallel
seg is properly partitioned either on the left or right
side of a node line depending on whether the two segs are
in the same direction or not, not whether they are both
flipped or not.

Credit should go to Jan Van der Veken <h5019065@khk.be>, 
for providing me with a demo wad which clearly illustrated 
the disappearing Things bug.

Added special effects features:

If a linedef has a sector tag >= 900, then it is treated
as "precious" and will not be split unless absolutely
necessary. This is good to use around borders of deep
water, invisible stairs, etc.

Furthermore, just for grins, if the linedef's tag is 999,
then the sidedefs' x-offsets set an angle adjustment in
degrees to be applied -- you can look straight at a wall,
but it might come right at you on both sides and "stretch".

-----------------------------------------------------------

New to 2.0x:

Multilevel support!!!  Automatically builds all levels in wad.

Does not strip textures or other lumps from wads anymore!!!

Supports HOM-free transparent doors:

  Simply make the sector referenced by the doortracks have a
  sector tag of >= 900. No need to remember sector numbers
  and type them in on a command line -- just use any sector
  tag >= 900 to permanently mark the sector special.

  See TRANSDOR.WAD for an example of sector tags in the 900's
  being used to create HOM-free transparent door effects.

-----------------------------------------------------------

Changes from 1.4x to 1.5x:

Replaced GO32.EXE with newer version, to support Windows
and DPMI.

-----------------------------------------------------------

Changes from 1.3x to 1.4x:

Lee Killough:

Fixed bug which caused BSP to "do nothing" on systems where
GO32.EXE was not in the user's path.

Added -factor option to allow changing the heuristic used by the
node picker. Factor can be any positive integer, and the larger
the factor, the more costly seg splits are. A factor of 17 is the
default and behaves just like earlier versions of BSP. Changing the
factor can sometimes prevent visplane overflows in wads. But then
again, some wads have just too many visible 2s linedefs for the
node builder to make a difference. If you have visplane overflows,
experiment with the -factor option before giving up.

-----------------------------------------------------------

Changes from 1.2x to 1.3x:

New version due to performance enhancements by Lee Killough
(killough@rsn.hp.com).

Runs at least 3 times as fast as before, due to changes in PickNode.
Same results are obtained, but with greater speed. Differences from
1.2x:

     PickNode() rewritten to maximize performance. New PickNode()
     algorithm features pruning strategy which allows inner loop
     to exit as soon as a seg is detected as being worse than the
     best so far.

     All floating-point arithmetic inside inner loop has been eliminated.

     GetVertexes() changed and Reference() removed, replaced with a
     faster vertex renumbering algorithm which also removes lines of
     length zero.

     IsLineDefInside() tuned by eliminating bit mask variable.

     Functions are static, to reduce code size by permitting total
     inlining.

     Various other minor performance enhancements

-----------------------------------------------------------

Changes from 1.1 to 1.2x:

New version 1.2 due to bug found by Mark Harrison that caused some
problems with flipped segs having their textures buggered up.

The GO32 dos extender has been pre-pended to the executable.

-----------------------------------------------------------

This builds a BSP node tree for your DOOM wad files.

Usage:

BSP [-factor nnn] <input file> [<output file>]

If no output file is specified 'tmp.wad' is written.

-----------------------------------------------------------

This ZIP includes the fullly commented source code for all you
Doom editor/utility writers out there.

-----------------------------------------------------------

A known problem is a conflict between the GO32 dos extender
and QEMM's DPMI... put 'set GO32=nodpmi' in your autoexec.bat
to avoid problems.

-----------------------------------------------------------

Future enhancements (possibly, depending on demand):

* Ability to specify level(s) to build separately

* Reject map build

* Automatic visplane overflow protection  (no, really!)

 

  • BSP22X.TXT

This is BSP version 2.2 dos extended, written by Colin Reed, Lee Killough

Please send all comments and/or questions about BSP to Lee Killough
(killough@rsn.hp.com).

-----------------------------------------------------------
Changes in 2.2x:

Lee Killough 10/97:

Added -vp option to reduce the chances of visplane overflows, without loss
of detail. Using -vp causes node line picker to choose node lines in a way
that is empirically known to reduce or eliminate visplane overflows (see
visplane.txt). No guarantees, though!!!

Added -vpwarn option to warn about possible visplane overflows (see
visplane.txt).

-vpmark option also added, which leaves permanent marks in the form of player
1 starts. It's a good idea to write to a separate output file when using this
option!!!  You can then use an editor, play each alternate player start, and
see if each one causes visplane overflows, and then remove it. Usually no-
clipping must be used, at least to step out from the wall, since it inserts
player starts without regard to collisions, and it uses walls as a basis for
visplane calculations.

Added -noreject option, to allow building nodes without messing up an
already-built reject map.

Added -thold option to change the visplane threshold. May be used to report
more potential visplane overflows if the -vpwarn or -vpmark approximations
estimate too few visplanes. Default threshold is 128.

Changed the way level markers in the lump directory are handled, to
accomodate DCK3.61, EdMap, and perhaps other editors. Some editors, such
as DCK3.61, do not always set the length field in a level marker to 0, and
EdMap requires that the offset field in a level marker be equal to the
offset of the first resource.

-----------------------------------------------------------
Changes in 2.1x:

Lee Killough 06/97

Fixed design bug which caused invisible barriers or disappearing Things.
Problem was in how segs incident to a partitioning node line were
partitioned -- they were partitioned according to sidedef, rather than
vertex, orientation w.r.t. the node line. Flipping the affected seg's
linedef usually fixed the problem. Now an incident seg is properly
partitioned either on the left or right side of a node line depending
on whether the two segs are in the same direction or not, not whether
they are both flipped or not.

Added special effects features:

If a linedef has a sector tag >= 900, then it is treated as "precious"
and will not be split unless absolutely necessary. This is good to use
around borders of deep water, invisible stairs, etc.

Furthermore, just for grins, if the linedef's tag is 999, then the sidedefs'
x-offsets set an angle adjustment in degrees to be applied -- you can look
straight at a wall, but it might come right at you on both sides and
"stretch".

-----------------------------------------------------------

New to 2.0x:

Multilevel support!!!  Automatically builds all levels in wad.

Does not strip textures or other lumps from wads anymore!!!

Supports HOM-free transparent doors:

  Simply make the sector referenced by the doortracks have a
  sector tag of >= 900. No need to remember sector numbers
  and type them in on a command line -- just use any sector
  tag >= 900 to permanently mark the sector special.

  See TRANSDOR.WAD for an example of sector tags in the 900's
  being used to create HOM-free transparent door effects.

-----------------------------------------------------------

Changes from 1.4x to 1.5x:

Replaced GO32.EXE with newer version, to support Windows
and DPMI.

-----------------------------------------------------------

Changes from 1.3x to 1.4x:

Lee Killough:

Fixed bug which caused BSP to "do nothing" on systems where
GO32.EXE was not in the user's path.

Added -factor option to allow changing the heuristic used by the
node picker. Factor can be any positive integer, and the larger
the factor, the more costly seg splits are. A factor of 17 is the
default and behaves just like earlier versions of BSP. Changing the
factor can sometimes prevent visplane overflows in wads. But then
again, some wads have just too many visible 2s linedefs for the
node builder to make a difference. If you have visplane overflows,
experiment with the -factor option before giving up.

-----------------------------------------------------------

Changes from 1.2x to 1.3x:

New version due to performance enhancements by Lee Killough
(killough@rsn.hp.com).

Runs at least 3 times as fast as before, due to changes in PickNode.
Same results are obtained, but with greater speed. Differences from
1.2x:

     PickNode() rewritten to maximize performance. New PickNode()
     algorithm features pruning strategy which allows inner loop
     to exit as soon as a seg is detected as being worse than the
     best so far.

     All floating-point arithmetic inside inner loop has been eliminated.

     GetVertexes() changed and Reference() removed, replaced with a
     faster vertex renumbering algorithm which also removes lines of
     length zero.

     IsLineDefInside() tuned by eliminating bit mask variable.

     Functions are static, to reduce code size by permitting total
     inlining.

     Various other minor performance enhancements

-----------------------------------------------------------

Changes from 1.1 to 1.2x:

New version 1.2 due to bug found by Mark Harrison that caused some
problems with flipped segs having their textures buggered up.

The GO32 dos extender has been pre-pended to the executable.

-----------------------------------------------------------

This builds a BSP node tree for your DOOM wad files.

Usage:

BSP [-factor nnn] <input file> [<output file>]

If no output file is specified 'tmp.wad' is written.

-----------------------------------------------------------

This ZIP includes the fullly commented source code for all you
Doom editor/utility writers out there.

-----------------------------------------------------------

A known problem is a conflict between the GO32 dos extender
and QEMM's DPMI... put 'set GO32=nodpmi' in your autoexec.bat
to avoid problems.

-----------------------------------------------------------

Future enhancements (possibly, depending on demand):

* Ability to specify level(s) to build separately

* Reject map build

 

If they are the right files I can upload them here. Let me Know :)

Edited by thestarrover : BSP text files added

Share this post


Link to post
6 hours ago, thestarrover said:

If they are the right files I can upload them here. Let me Know :)

Those are exactly what I'm looking for! Can you please share?

 

And out of curiosity where did you get them from?

 

Share this post


Link to post
33 minutes ago, fraggle said:

Those are exactly what I'm looking for! Can you please share?

 

And out of curiosity where did you get them from?

 

BSP20X.RAR

BSP21X.RAR

BSP22X.RAR

 

Downloaded from http://www.owlserver.de:2080/ftp/pub/echo/games/g_idsoft.add.dm2/ sometime ago. The site seems to be offline, or very slow to load. I downloaded the full site. There are files ( wads and utilities) for Doom, Doom 2, Heretic, Hexen.

Share this post


Link to post
23 minutes ago, thestarrover said:

Downloaded from http://www.owlserver.de:2080/ftp/pub/echo/games/g_idsoft.add.dm2/ sometime ago. The site seems to be offline, or very slow to load. I downloaded the full site. There are files ( wads and utilities) for Doom, Doom 2, Heretic, Hexen.

Did you happen to notice if any of the Heretic/Hexen stuff looked like it was files not commonly available on places like idgames/wad station/etc?

Share this post


Link to post

This thread gets so much deeper into the weeds of Doom wad-making history than I ever could have expected, awesome to read.

 

@iddq_tea Is there any chance you could share the entire ISO of this disc? I tried running Menu.exe via Dosbox-X, but it seems to be pretty useless and crash-prone on its own.

Share this post


Link to post
3 hours ago, Lollie said:

This thread gets so much deeper into the weeds of Doom wad-making history than I ever could have expected, awesome to read.

 

@iddq_tea Is there any chance you could share the entire ISO of this disc? I tried running Menu.exe via Dosbox-X, but it seems to be pretty useless and crash-prone on its own.

I no longer possess a CD drive (those files were copied in 2017, I still had my old laptop) so it take some time for me to create an ISO. I don't remember if I ever tried launching a wad through MENU.EXE, I probably only checked that it boots up at all (not getting any crashes though, what did you do to trigger it?)

 

But I see what the problem is, I think it expects a specific directory structure, and I don't remember the exact CD structure anymore since I unzipped all the files and separated them 6 years ago. When I find the CD and get my hands on a portable disc drive, I'll make a new rip and write down the steps needed to use the MENU executable.

Share this post


Link to post
On 9/25/2023 at 1:51 AM, fraggle said:

I'm in the process of doing the same thing for DEU and its forks. If you have obscure versions of that, let me know.

Right now I don't remember if it has been already mentioned, but Joe Wilcox (Simply Silly Software) released in May 1994 ( according to the date of DEUH.EXE) an hacked version of Deu 5.1 called DEUH 1.0 ( Beta version)

  • DEUH.DOC

=================================
    This is a beta release

 Please use it at your own risk
=================================

Welcome to DEUH 1.0· (also known as DEU 5.1 hack version 1.0).  This new
'Hack' of DEU has many improvements over it's original.  See the file WHYAHACK
for a story on why I hacked this.

I would like to give credit to the following people for their work on DEU 5.1,
and BSP.

               Raphael Quinet & Brendon J. Wyber for DEU 5.1
               Colin Reed for BSP.

If you haven't guessed, this hack contains code from both of the above.  In
fact one of the major features is that DEUH contains the node builder in BSP.
Translation:  Perfect PWADS.

Before I go in to quickly explaining the new features in a bit a detail (like
how to use them), let me say this.  DEUH can ONLY (I repeat ONLY) use the BGI
driver SVGA256.BGI!  Also, I know of a bug in the video init. code.  Please
only use the following values for VIDEO in DEUH.INI....

                           02 - 640x480x256c
                           03 - 800x600x256c
                           04 - 1024x768x256c

Also, this is a beta.  It's constantly changing, and being redesigned.  I know
of several bugs.  I will include a full list at the end of this file.  I will
also release the source with the final release, but if you want it sooner,
just email me.

Ok, on to the show.

NEW FEATURE #1:  Improved interface....

I have greatly improved the interface used by DEU.  A quick list of
improvements are...

       ˛ Mouse in SVGA modes
       ˛ Easier to read displays
       ˛ Better ZOOM and Grid handling
       ˛ Better mouse support in general.

Mouse is SVGA!  That's right.  I have added a full featured software mouse
cursor.  Now you can see what your doing without that ANNOYING fake cursor.
In fact, don't use the FAKE CURSOR...It's not supported, and I have not removed
it yet.  Also, the ruler is no longer supported.  The LINEDEF display's now
show length of the linedef.

I have updated all of the displays, and improved either they look (in my
opinion) or the amount of information they give.  For example, the LINEDEF
display tells you the length.  The Sectors display show what linedefs effect
the sector (and what effect they have on it).  The things can now show the
actual sprite for the object as well as a easy to read compass rose for
direction (this is changing in the next release...)

I have improved the ZOOM and Grid handling abilities in DEU.  The grid can
now be hidden while objects still snap to it.  You can quickly switch between
ZOOM factors, and even the grid color can be customized.  A BIG change, is the
grid is hidden while the map scrolls.  This GREATLY increases scroll speeds.

Let's talk about the new mouse/keyboard support.  Here is the new mouse button
layout...

        Left Mouse Button  - Like DEU... Mark and UnMark an object
  Shift+Left Mouse Button  - Like DEU... Drag a selection box
    Alt+Left Mouse Button  - Deletes currently selected object.

       Right Mouse Button  - Like DEU drags an object.
 Shift+Right Mouse Button  - Edits the selected object (will be changed to
                             CTRL in next version).

Notice when you press and hold the ALT key, the cursor changes color to RED.
This is to show the change.

When you are editting Vertexes, you can press BACKSPACE to switch from
Mark/Unmark mode to AutoLink mode.  In AutoLink, when ever you select 2
vertexes, DEUH will automaticly create a linedef between them.

When you are editting Things, you can press BACKSPACE to switch to Stamp mode.
When in stamp mode, pressing the mouse button will create a new instance of
the last things you had selected.  Press BACKSPACE to switch back (same for
Autolink mode).

Notice the little info box at the bottom right hand corner of the screen.  It
tells you your current location in the map, as well as button modes, etc.

When editting LINEDEF's, you have 2 new keys.  You can press "F" to flip the
linedef (same as Flip LineDef in F8).  If you hold SHIFT while pressing "F",
will swap the sidedefs, but keep the vertexes where they belong.  You can
also press "." to split the linedef and add a vertex.

Anytime you create a LINEDEF, DEUH will test to see if it splits a sector.  If
it does, DEUH handles this automaticly.  But there is a bug.  DEU's (and
DEUH's) SplitSector routine fail is there are any sectors inside that are
split.  I'm working on this...

Some other neat keyboard commands are...

 ALT-1 through ALT-0 and  SHIFT-ALT-1 through SHIFT-ALT-0 will quickly
change the ZOOM factor to 1:1 through 1:10 and 1:11 through 1:20.  It also
centeres around where the mouse is pointer to.

 ALT-G hides the grid, but keeps all objects snaping to it.
 ALT-[-] (read: Alt minus) and ALT-[+] will scroll through the grid color.
 I will added a command to the INI to allow you to set it from the start.

Oh.. you can also now view all the sprites from inside the editor.  When in
Things mode, press ALT-I (misc menu) and select view sprites.

More changes are coming to the interface (an no, the Make Stairs from Sector
option is now finished; It's partly there, but not done yet.) so if you
have a suggestion, please email me.

NEW FEATURE #2: BSP 1.1x built in.

That right, I threw the node builder in DEU 5.1 out (it did not work) and have
merged BSP 1.1x in.  Let me tell you, it was not easy, and still has a few
bug.  They are...

  ˛ You can't press ESC to abort like you are told.
  ˛ If you opt to to rebuild, then DEUH does not save the data correctly.
    THIS ONLY OCCURES if you get the "You must rebuild" message.  You can
    still change textures, etc and not have to rebuild.
  ˛ After building a PWAD, you have to exit.  It's not freeing out all of
    the memory it is using.
  ˛ It's limited to building PWADS no larger than 160k.  I could build my
    larget PWAD, but still can't build Episode 2 Mission 7.  Working on
    it through.
  ˛ The fill bar at the bottom of the window does not represent amount of
    time left (or % done).  It can flip over any number of time.  All it
    says is "Look at me.. I'm working".

But, the good news is, DEUH creates perfect PWADS.  Although it's not as fast
as BSP (BSP is uses a DOS-Extender and works much faster) it does work.

NEW FEATURE #3: Revision Tracking...

DEUH will now keep multiple backup copies of your pwad.  Anyone know has ever
tried to create a pwad should love this feature.  Currently, you have to
restore them by hand but in the next build, DEUH will have the REVERT command
added.

These files use the name .. filename.Rxx, where filename is the name of your
pwad, and xx is the revision number.  You must turn on 2 settings in DEUH.INI:

"revisions=TRUE" turns revision tracking on (DO NOT TURN IT OFF IN THIS BETA..
BIG TIME BUG that trashes the WAD)

"maxrevisions=xx" tells DEUH the max. # of Rxx file it can create before it
should loop around.

The revision tracker uses the .Rxx file's time&date stamp to keep track of
which is the newest.

NEW FEATURE #4: Better memory SWAP support.

DEUH will swap more things out to disk, thus allowing you to work on larger
maps.  EMS support is being designed.


COMING SOON:
------------

Here is what I will be working on over the next week or two (besides trying
to correct any bugs).

  ˛ Finished the Create Stairs from Sectors, and added the Create Hidden
    stairs from Sectors.

  ˛ Allow DEUH to save sectors out to a file, thus creating pre-defined
    rooms, etc.

  ˛ Allow DEUH to build E2M7, and imporve the swap routines (even add EMS).

  ˛ Several little interface changes.

  ˛ Finished Revision Tracking support

  ˛ Add the ALT-T hotkey that will shell DOOM so you can test the wad.

  ˛ Who kowns... any suggestions.

HOW TO MAKE A COMMENT, REPORT A BUG, ETC.
-----------------------------------------
DO NOT CALL ME, or SIMPLY SILLY SOFTWARE.  I will not support DEUH over the
phone (I have enough trouble supporting DM).  If you have a comment, bug, or
suggestion, then please E-MAIL me at

                          joewilcox@aol.com

HOW TO GET THE SOURCE CODE
--------------------------
It's free, just email and ask.  I will release the code with the actual
release of DEUH.  Until then, you need to ask for it.


=============================================================================
       T H I S   I S   A   B E T A   -   R E M E M B E R   T H A T
=============================================================================
btw:  These are not the final docs...

DEUH_B01.ZIP ( Power Duke CD) . Also included, unzipped, in few other CDS.

Share this post


Link to post

Thanks - I did see that version I think; unfortunately I'm looking for versions that have source code though, as it's a source code history that I'm trying to build.

 

Anyone have versions of DETH? I've only been able to find three (2.3, 3.6, 4.24). There were definitely more released.

Share this post


Link to post
41 minutes ago, fraggle said:

Thanks - I did see that version I think; unfortunately I'm looking for versions that have source code though, as it's a source code history that I'm trying to build.

 

Anyone have versions of DETH? I've only been able to find three (2.3, 3.6, 4.24). There were definitely more released.

I found on my archive these versions: 2.1, 2.2, 2.5, 3.0, 3.5, 3.7 (unzipped), 3.85, 3.87, 3.89, 3.92, 4.14b, 4.16b. 

Share this post


Link to post
1 hour ago, thestarrover said:

Right now I don't remember if it has been already mentioned, but Joe Wilcox (Simply Silly Software) released in May 1994 ( according to the date of DEUH.EXE) an hacked version of Deu 5.1 called DEUH 1.0 ( Beta version)

  • DEUH.DOC

Nope, it hasn't, that's a great discovery. This sounds like this was the predecessor of HFDE, which was for Doom 1. Perhaps this was made shortly prior? Without HFDE though, we can't know for sure.

 

But using DEU 5.1 as basis for DEUH on May 15, 1994, when DEU 5.2 and 5.21 were released May 22, 1994 is either unlucky timing or mere coincidence.

I can also see a slight irony in using BSP as your nodesbuilder versus DEU's own considering BSP's nodesbuilder contains (albeit a little) code from DEU itself.

1 minute ago, thestarrover said:

I found on my archive these versions: 2.1, 2.2, 2.5, 3.0, 3.5, 3.7 (unzipped), 3.85, 3.87, 3.89, 3.92, 4.14b, 4.16b. 

By all means, upload these! In fact, if you have any other DEU hacks laying around (DEU II, ADE II and the like are known and on /idgames though) or any other editors, please share them aswell. For instance, 1DEU2 (Like MKD2EDIT, a DEU hack that adds Doom 2 support) by VT101 would be useful to have. The more the merrier. This thread and the 25 PWADS archaeology thread contain a wealth of information and i am happy that this research has been done, stuff like this is invalueable for the ages.

1 hour ago, fraggle said:

Thanks - I did see that version I think; unfortunately I'm looking for versions that have source code though, as it's a source code history that I'm trying to build.

 

Anyone have versions of DETH? I've only been able to find three (2.3, 3.6, 4.24). There were definitely more released.

In case you missed it, @deathz0r published a rather complete official DEU collection in this post, going back when it was still called NEWDEU aswell (The last NEWDEU was 4.31).

 

With that collection and your history (and hopefully Deathzor's post on the 7 DEU hacks he found), the entire DEU article on the wiki can be pretty much rewritten to a much higher standard.

Share this post


Link to post
11 hours ago, thestarrover said:

Included in the zip:

all the DETH versions I was able to find on my archive, another copy of DEU5BETA.ZIP found on a Mediashare cd, DEU II by Adler and three versions of DIE -Doom Image Editor.

DETH +EXTRA.zip

And you left in a surprise, namely 1DEU2 :) Very interesting, thank you.  How did you find that one? So that's the Adler one, somehow in my brain i thought ADE II was the one and DEU II, but that's DEU2C by Admiral and Sonic.

 

For readers out there, ill list out the details:

  • Executable is from September 4, 1994.

1DEU-II.TXT:

DEU II (V1.0) - Doom Editor Utility for DooM II: Hell on Earth
--------------------------------------------------------------
DEU II by ADLER based on DEU 5.21 for DooM
DEU2INFO.TXT and LINEDEF.TXT by AIRWOLF

this program will enable you to edit doomII.wad.
however, due to a bug in DEU it is possible that this program
affects your doom II IWAD, so make a backup first.
anyway, you know what you're doing, don't you, and won't complain
if strange happenings spoil your pleasure of DOOM editing?
	ADLER the F*CKER

LINEDEF.TXT:

New Linedefs of DooM II
-----------------------

DEU II does not direct support the new Linedefs of DooM II.
To insert the new DooM II - Linedefs choose:
EDIT LINEDEF -> CHANGE TYPE -> ENTER DECIMAL VALUE

DEU2INFO.TXT:

DEU II (V1.0) - Doom Editor Utility for DooM II: Hell on Earth
--------------------------------------------------------------

DEU II by ADLER based on DEU 5.21 for DooM
DEU2INFO.TXT and LINEDEF.TXT by AIRWOLF

Use this DEU only with the new DOOM2.WAD from DooM II.
Features of DEU II:

  - Editing of all 32 DooM II Level
  - Use all new DooM II Graphics
  - Place 8 new Monsters
  - Place 1 new Weapon (Super Shotgun)
  - Place 1 new Bonus (Megasphere)
  - Place various new Decoration-Things
  - Create PWAD-Files to run with DooM II

Changes to DEU 5.21
-------------------
DooM II works no more with Episodes and Mission. DEU II needs
only a Level-Number to edit a Level.
Example: 
Type "E 7" to edit Level 7
Please note that the old DooM-IWAD or PWAD Files NOT compatible
with DEU II. Make sure the MAIN-Entry in DEU2.INI points to the
DOOM2.WAD.

DooM II-Level:
--------------
1-29  = normal Game-Level
30    = Final Game-Level
31    = Secret Level
32    = Super Secret Level

New Linedefs !
--------------
This Time DEU II does NOT suport the new Linedefs of DooM II direct !
See the LINEDEF.TXT how you can use the new Linedefs.

Use the new Level
-----------------
To use the PWAD-Levels from DEU II type:
DOOM2 -FILE [pwadname]

Manual for DEU
--------------
Use the Manual from DEU 5.21 for DEU II


 

Share this post


Link to post
20 hours ago, Redneckerz said:

In case you missed it, @deathz0r published a rather complete official DEU collection in this post, going back when it was still called NEWDEU aswell (The last NEWDEU was 4.31).

Thank you! There were a few there that I didn't already have; I've incorporated those into the history now.

 

But a note to @deathz0r that DEU52.ZIP is not actually DEU 5.2; it's just another copy of 5.21 with the wrong name. I haven't been able to find a copy of 5.2 either but I reconstructed the (probable) source by comparing the 5.2 and 5.21 GCC ports.

 

16 hours ago, thestarrover said:

Included in the zip:

all the DETH versions I was able to find on my archive, another copy of DEU5BETA.ZIP found on a Mediashare cd, DEU II by Adler and three versions of DIE -Doom Image Editor.

DETH +EXTRA.zip

Thank you! This is also helpful - it means I now have a mostly-complete history of the DETH 2.x source history. It's a shame that with the 3.0 release they started shipping the source code separately.

 

Here's DETH 2.3 as a repayment of sorts. I saw it wasn't in your .zip.

deth23.zip

Share this post


Link to post
51 minutes ago, fraggle said:

Thank you! There were a few there that I didn't already have; I've incorporated those into the history now.

You are welcome. I have noticed that DEU 2.00 was released one time as DEU200.zip (Find here under February 1994), but in the DEU collection by Deathzor it is DMEDUT.ZIP, with a timestamp of January 26, 1994. It also doesn't have source code.

 

Just as a heads up :)

 

DEU 1.00 was never publically released. DEU 3.00 the first one with source code.

Share this post


Link to post
27 minutes ago, Redneckerz said:

DEU 1.00 was never publically released. DEU 3.00 the first one with source code.

Yes, I saw that DEU.TXT in the older versions explained that.

 

On 9/26/2023 at 11:07 AM, thestarrover said:

DEUH_B01.ZIP ( Power Duke CD) . Also included, unzipped, in few other CDS.

Side note, I just found another DEU5 beta on this CD (duum_1/grafix/deu5_b4.zip), so that's another one I can add to the history. It might be worth checking if there's anything else of interest on that CD.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×