The Andrew Turnbull Network

presents

Using the Yadex Doom Level Editor on Windows


What is Doom?

[Doom]

A: Doom is a computer game developed by Id Software in 1993. To say that its impact was "tremendous" would be an understatement: Its immersive gameplay and graphical realism won awards and acclaim, and transformed the expectations of what personal computers could physically do. The ultimate credit to the quality of Doom is the sustained popularity that the game continues to enjoy today...almost 30 years after its release.

I recommend the Doom Wiki as the springboard to learning and discovering more about this classic game.

What is Yadex?

[Yadex]

A: Yadex is a Doom level editor for Unix and Unix-like operating systems with the X Window System, developed by French developer André Majorel between 1997 and 2003 as an outgrowth of the Doom Editing Utilities created by Raphaël Quinet et al in 1994.

(It also shouldn't be confused with Yandex, which is a Putin-controlled search engine. But I digress...)

Why would you want to run Yadex?

A: Yadex is the only Doom level editor capable of parsing and displaying map data from early, pre-release alpha versions of the game. Doom was an absolutely groundbreaking milestone in the history of the PC as an entertainment platform, and being able to view alpha maps lends valuable insight into its development process.

As an actual day-to-day tool for the type of purpose a level editor is usually used for (i.e., creating custom levels for Doom gold), Yadex is of less benefit. Newer editors such as Doom Builder, Slade, and Eureka exist that offer WYSIWYG functions, easier-to-use GUIs, and out-of-the-box compatibility with modern platforms like Windows 7. Some of these are actually forks of Yadex. None of these programs, however, are capable of reading alpha maps.

But I don't use Unix or Linux. I use Windows.

Ah, therein lies the rub: Yadex is not a cross-platform utility. Quoteth a Doomworld thread from 2001: "I asked for a yadex binary for windows years ago I think, and I got a rather flamy reply ;)"

Even if you do have access to a Linux system, getting Yadex up and running today would be a difficult proposition due to dependency hell, exacerbated by the passage of 20 years...and the fact that you have to compile it yourself, with a makefile that will almost certainly have to be changed.

How to get Yadex running on Windows.

But if there's a will, there's a way. Here's what I did.

NOTE: I am an amateur, and I make no guarantees that the instructions below will work on other systems. There may be omitted steps, and mistakes. If you follow them to the letter and end up toasting your computer...I'm sorry, and c'est la vie!


Step 1: Download and install Cygwin.

Cygwin is a Unix-like environment and tool package for Windows, serving as a bridge between platforms. While it doesn't allow Linux binaries to run directly on Windows (à la Wine in reverse), many Unix and Linux programs can be compiled from source to run in this environment.

Several versions of Cygwin are available. For my purposes, I deliberately chose 1.7.18 with setup version 2.774 because that is the last Windows 2000-compatible version (I prefer to avoid XP-only software out of principle), and I figured it might give fewer headaches than a newer version in getting a 2003-era program off the ground. The downloadable file is a stub installer, and the following parameter is required to run it:

Cygwin_setup-2.774.exe --no-verify --only-site --site http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/2013/06/04/121035

During the installation procedure, Cygwin will prompt the user with a "Select Packages" window. By default, few options are selected...and a default Cygwin installation is too minimal to provide all the functionality necessary to get Yadex compiled and running.

[Cygwin]

Officially, Yadex has the following prerequisites:

I didn't have the patience to dig through the list, trying to figure out which packages out of literally thousands provided this functionality...so I clicked "All - Default" to change the selection to "All - Install," as shown above. In return, I was rewarded with an installation process that took all afternoon and then some to complete, and an installation directory that took up 16 gigabytes of space! Oh well...

Once the dust is clear (rebooting may be necessary), launch Start > Programs > Cygwin > Cygwin Terminal. You'll arrive at a Unix-like prompt. By default, its location will correspond to C:\cygwin\home\(your name) in your local directory structure. For those familiar with DOS, it's useful to know that ls is the Unix equivalent of the dir command, while cd is similar on both.

Step 2: Download and compile Yadex.

Though the official Yadex website is no longer live, the Internet Archive never forgets. The "yadex-1.7.0.tar.gz" file is essentially an archive within an archive, and it may be unpacked with a utility like 7-Zip.

Extract the unpacked yadex-1.7.0 folder to C:\cygwin\home\(your name).

At this point, we're ready to compile the software following the instructions in Yadex's enclosed README file...except if you follow them as-is, you're going to run into errors that thwart the compiling process. With decade-old forum posts as guidance, I made the following alterations:

Now, you should hopefully be able to coax Yadex along:

Step 3: Run Yadex.

Yadex is a GUI application that makes use of the X Window System. From Cygwin Terminal, type xinit. This may take several tries before it executes successfully... but when it does, a window will load with yet another Unix-like prompt.

Next, configure Yadex to find your game data. This is stored in yadex.cfg in Yadex's installation directory (e.g., C:\cygwin\etc\yadex\1.7.0\), and by default it looks in the following places:

Doom = /usr/local/share/games/doom/doom.wad
Doom II = /usr/local/share/games/doom2/doom2.wad
Heretic = /usr/local/share/games/heretic/heretic.wad
Hexen = /usr/local/share/games/hexen/hexen.wad
Strife 1.1 = /usr/local/share/games/strife/strife1.wad
Doom Alpha 0.2 = /usr/local/share/games/doom02/doom.wad
Doom Alpha 0.4 = /usr/local/share/games/doom04/doom.wad
Doom Alpha 0.5 = /usr/local/share/games/doom05/doom.wad
Doom Press Release Pre-Beta = /usr/local/share/games/doompr/doompres.wad
Strife 1.0 = /usr/local/share/games/strife10/strife1.wad

You may wish to make copies of your WAD files and place them in these locations so that they're readily accessible to the editor.

To start Yadex, type its name at the xinit prompt:

yadex

By default, it assumes that the game you want to edit is Doom II. This may be changed per the game = parameter in yadex.cfg, or you can specify the preferred game from the command line (yadex -g doom, yadex -g doom2, yadex -g doom05, etc):

[Yadex]

If all goes well, a graphical window will load. You should now be able to view and edit Doom maps, including the maps of pre-release alpha versions. In Windows!

[Yadex]

[Home] The Network [Bome] Doom





©2023 Andrew Turnbull.
Last update 7 May 2023.