You've seen it or have personally experienced it: You downloaded a cool Doom mod that has multiple files but, you have no idea how to load it. You drag and drop multiple .pk3s onto your GZDoom or Zandronum executable and that seems to work, but something is wrong! The mod isn't loaded correctly, or worse, it failed to load at all!
The Solution
If you are new to modding Doom or modding in general, this is obviously a huge frustration. You just want to play! One thing I've seen mentioned a lot online is that the mod files aren't in the proper order. A lot of times, a very brief explanation is given, and for a newbie these explanations can be jarring.
I won't waste time explaining how to use a batch file or command line to run mods, that's not the scope of this article. Instead, I will show you how to use ZDL, a launcher for Doom.
Where do I get ZDL?
First, a pre-requisite. You need Microsoft Visual C++ 2010 Service Pack 1 Redistributable x86 (vcredist_x86.exe). ZDL won't run without it.
I personally like lcferrum's fork, which you can find the downloads here. I'm using Windows, so this guide is tailored for Windows. Download the latest version of ZDL for Windows and extract it somewhere you have access to. For me, it's easiest to make a new folder in My Documents.
ZDL - Setup
For this article, I'm going to use my own mod, Metroid: Demon Hunter, as a reference since my project uses multiple files that need to be loaded in a precise order and Freedoom 2, since it's free to use. You can get Freedoom 1+2 together here for free.
First, open ZDL. You'll be greeted with a rather empty looking application:
The first thing to note is the General Settings tab. Click there first, we have to set up our source port of choice and any IWADs to load. An IWAD is basically a base game WAD file that comes with retail versions of Doom/Final Doom. For Doom II: Hell on Earth for example, you would want to find DOOM2.wad in your Doom II install directory. For this tutorial, we are going to use Freedoom 2 for our IWAD.
Under IWADs, click on the + symbol. Now browse to your copy of Doom II or Freedoom. My copy of Freedoom is in My Documents in a Freedoom folder:
Click Open. You'll See Freedoom listed an an IWAD now:
Cool! We're 1/3rd of the way there! Now, under Source ports, click the + symbol and this time you're going to find your GZDoom or Zandronum executable. My GZDoom executable is in a GZDoom folder in My Documents, so I'm going to browse there. Your ZDL settings should look similar to this so far:
Now we're 2/3rds of the way done! Click on the Launch Config tab at the top. On the right hand side, you will see your source port listed and your newly added IWAD:
Optional: I highly recommend that you take a second to save your ZDL settings! To do this, click on the ZDL button and choose Save .zdl. Name it and save it somewhere you can find it. Now, if you ever need to revert back to these base settings, you can simply load this file. You can also do this to save profiles of loadouts for certain mods!
How To Add Mods & Change The Load Order
For the last step, you can start adding your mod files to the External Files section. Click the + symbol under the External Files section and start adding your mod files:
If I were to load my mod right now, it will fail:
The issue is that my mod and many others have to be loaded in a specific order. For my mod, I should be loading my .pk3 files in this order:
- Main.pk3
- Metroid Levels.pk3
- Scans.pk3
To change the order of the files loaded, simply click on one you need to move and click the Up or Down Arrow buttons on the bottom:
[imgur]blob:https://imgur.com/52ecdbb5-2e5e-4f38-ba26-49ee43861953[/imgur]
Now to make sure this works, I will make sure GZDoom/Zandronum is selected under Source Port and that my IWAD is also selected by clicking on Freedoom 2. If everything looks good, click the Launch button. GZDoom will load your mod!
And that's it! Like I said earlier, order is important for mods. With ZDL though, things are much easier with the added bonus of being able to save presets!
Happy Dooming!
Did I miss something? Please let me know and I'll add it in!
Change Log:
8/16/23 - Added Microsoft Visual C++ 2010 Service Pack 1 Redistributable x86 pre-requisite information.