What should the final CRC32 of a complete doom_complete.pk3 with everything in it be?
A downloadable tool for Windows, macOS, and Linux
WadSmoosh merges your provided Ultimate Doom, Doom 2, Master Levels,
No Rest for the Living, Final Doom, and Sigil data into a single IWAD file that
can be played in GZDoom, with each game as its own entry in the episode
list. This makes it very convenient to play all of classic Doom's
official releases, and user created mods (WADs) for both Doom 1 and Doom 2, without relaunching the game with different settings. You should only need to run WadSmoosh once; then you'll have the PK3 file that can be used with GZDoom indefinitely.
It's fine if you don't have all of the Doom games, eg you have Doom 2 but not Final Doom - WadSmoosh will package up everything it can find.
Note for those running from the itch.io app: WadSmoosh is a command-line program; it has no GUI or configuration options. See the readme for details on how to use it.
Click download now to get access to the following files:
- WadSmoosh 1.31Aug 16, 2023
- WadSmoosh 1.3Nov 03, 2020
- WadSmoosh 1.26 (hotfix)Sep 13, 2020
- WadSmoosh 1.25Sep 01, 2020
- WadSmoosh 1.24Aug 06, 2020
- WadSmoosh 1.23Aug 04, 2020
- WadSmoosh 1.22Aug 01, 2020
- WadSmoosh 1.21Jul 25, 2020
Log in with itch.io to leave a comment.
That depends on so many things (WADs you have, and which exact versions of those you have) with so many possible combinations that it wouldn't be practical to give a single hash or even a list of hashes.
I used the 1.31 version with all the compatible wads, with plutonia i put plutonia.wad and the plutoniau.wad, but in pl_map02 in the texture of the place you spawn is different from the normal.
Are you talking about the animated rock texture on the walls, or something else?
Is "Enable Final Doom Texture Substitutions" switched on in the Wadsmoosh section of the options menu?
This might be weird to ask, but could we get Freedoom Phase 1 & 2 support?
So, Sigil 2 is confirmed, you will add support to that right? Is confirmed is gonna have a paid ost by thorr, that means to wads with two soundtracks, so, why dont add an option to change between ost? Or a option to deactive pistol start in master level (atleast in the python app to compile wadsmoosh)
Will this support One Humanity? Apparently it's no longer gonna be part of SIGIL II
Romero said that that level will eventually be part of another project, so I intend to wait and see what becomes of that.
Does WadSmoosh automatically apply the fix to map31 of TNT, or should the anthology version be used?
GZDoom's built in map patching functionality correctly handles all versions of it, and WadSmoosh doesn't change the contents (thus the checksums, which is what GZDoom uses to detect map versions) of any of the map files it extracts. Nothing needs to be patched or altered by the user.
Are the Xbox levels automatically patched too or should the fixed versions be used?
Ah I'd forgotten, I misspoke in my previous comment: adding the secret exits to E1M1 and MAP02 for the Xbox levels, if WadSmoosh detects SEWERS.WAD and BETRAY.WAD, are the only two times level data is modified.
Wish there was a way to get doom 64 in here, although it is kinda different the doom 64 in doom 2 mod might work
Love this tool, been using it for a long time. I was curious if you could add support for John Romero's E1M4B and E1M8B in some way? I tried using zscript to make a new options menu to toggle between the original maps or Romero's, but I couldn't figure it out. The way I'm doing it now is pretty jank but it works, I have it so if you play through Sewers you go to "Knee Deep B" where it's just the same levels but with Romero's new ones swapped in.
Any chance to add Hell To Pay and Perdition Gate, to this amazing tool ?
Those aren't official (or effectively-official, like Romero's maps) releases, so no. But if you look at the data inside the doom_complete.pk3 you could add support for those as new episodes without much difficulty - you could copy the mapinfo\doom2_levels.txt and have a decent template for a doom2-shaped episode, and only need to change a few things such as level names and music tracks.
¡How i can play master levels without getting my inventory restarted every level?
This is just a hacky solution (and running WadSmoosh again will blow away these changes), but if you open the doom_complete.pk3 file in an archive editor (winzip, whatever) and go to the file mapinfo\masterlevels.txt, and delete every line that says "ResetHealth" and "ResetInventory", you will progress from level to level as you do in vanilla Doom 2 etc.
The maps are not balanced for this; you'll have a much easier time, but it's totally up to you how to enjoy them!
Can you possibly make a similar tool for Wolfenstein 3D? One that would combine Wolfenstein 3D, Spear of Destiny, Return to Danger and Ultimate Challenge?
Getting an odd error when trying to use WadSmoosh's Doom Complete result with Voxel Doom II, in which the Doom II exclusive sprites, super shotgun, archvile, revenant, and the like are still 2D.
Will this support Maximum Doom? It's basicily official.
No. Maximum Doom is 3461 levels, some of which are duplicates, some of which don't work, some of which are actually Heretic levels, etc. It's all freely available from other sources anyway (WadSmoosh is for compiling retail content) and even if it weren't there's no reasonable way to integrate such a big mess.
Does this support the PSX exclusive maps?
Could you make it so when you add the sigil_shreds.wad file to the iwads folder you can have an option to switch between the James Paddock and Buckethead soundtracks?
Managed to throw together an updated Plutonia MAPINFO lump, for proper crediting to both Dario & Milo Casali. Would it be possible to issue a mini-update with this fix? https://forum.zdoom.org/viewtopic.php?p=1233562#p1233562
Hi, thanks for putting this together and apologies for being out of touch. Yes, I'll make sure this is in the next release, whenever I can get it together.
When I try to run the pk3 it acts as if I have three wads to load (Doom Classic Complete, and the two Final Doom episodes).
When I try to run Classic Complete, I get this error
Script error, "doom_complete.pk3:cvarinfo.txt" line 1:
cvar 'ws_finaldoom_texswap' already exists
EDIT: Tried this on my work computer this morning to see if it's a computer thing. That one doesn't even bring up the dialog box for multiple iwads, it just fails with the same error message as above. I even tried downloading a fresh copy of GZDoom to make sure I didn't break anything.
Are you launching GZDoom from the command line or by clicking a shortcut? Which IWAD/IPK3 are you using? What other files are you loading? Anything in your INI autoload list?
I'm drag/dropping the doom_complete.pk3 directly onto the GZDoom executable, no other WADs or PK3s in the directory with it. Nothing in the INI autoload list. Not loading any other files.
I made a few different versions of doom_complete.pk3 to test if it was a problem with it not doing it right the first time (also to have the different orders for master levels and whether it has the midi or real music soundtrack for Sigil), but that hasn't fixed it.
doom_complete.pk3 is an IWAD (an IPK3, functionally the same thing - a primary resource file, same as DOOM2.WAD) so you don't drag it onto GZDoom.exe like you would an addon wad (PWAD). When GZDoom pops up with a window asking which IWAD to use, select doom_complete.pk3 - that is now your running IWAD, and you can access all the episodes etc. The reason GZDoom gave you that script error is because you were effectively loading doom_complete.pk3 twice.
I mean, I drag/drop doom.wad, doom2.wad, tnt.wad, plutonia.wad, chex3.wad, freedoom1.wad, freedoom2.wad, hacx.wad, heretic.wad, hexen.wad, hexdd.wad, and strife1.wad onto the GZDoom exe without issue. But I do notice that I get a similar error if I try it with hxdd,wad, and that it works right if I just have the file in the GZDoom directory (or the defined iwad directory) and choose it upon launch instead of trying to drag/drop it from another folder.
I mean, I drag/drop doom.wad, doom2.wad, tnt.wad, plutonia.wad, chex3.wad, freedoom1.wad, freedoom2.wad, hacx.wad, heretic.wad, hexen.wad, hexdd.wad, and strife1.wad onto the GZDoom exe without issue
The reason those work is because those are all vanilla Doom data and don't redefine any of GZDoom's cvars (console / user config values). The error you're getting is GZDoom saying that you're trying to define the same cvar twice, which you'd definitely get if you're loading doom_complete.pk3 as both an IWAD (as defined in your gzdoom.ini, which gets set when you pick an IWAD from the pre-launch window) and as a PWAD (by dragging it onto the EXE, which GZDoom always interprets as "load this WAD as an addon").
Would this work with the Doom Metal Soundtrack Vol 7 and Buckethead Soundtrack for Sigil?
Nevermind, figured out the Buckethead soundtrack. Would be cool if you included the fact that SIGIL_SHREDS.wad is supported directly with Wadsmoosh in your documentation, I only discovered that when I was scrolling through the comments here to see if anyone else had reported the same issue I'm running into (posted above).
I noticed that "The Lost Episodes of Doom" isn't working with this program, which is an official Episode Pack akin to Master Levels I think. Will support be added to it?
No, it's not an official episode pack. That's why it was sold as a book with a free disk. And that's why it's not included.
Hi, I'm trying to use the program to smoosh my Master levels. I've put all 20 into the proper folder, but the program does not create the file it is supposed to. When I look at the log, it says:
Found in source_wads/:
So, apparently, it is only noticing the first wad in the folder?
Attack.wad is just the file it checks for to see if the Master Levels are present at all, it logs that rather than logging all 20. What does the rest of the log say? Any errors?
FYI you can mirror your repo by adding additional remotes to your local git repo `git add remote <remotename> <repo-address>` and then pushing to the specific remote with `git push -u <remotename> <branchname>`.
It's a nice idea to have public mirrors if you're self hosting git. i.e. github, bitbucket or gitlab
when I try to run the program on linux (debian 11 running on ChromeOS) I get this error: ./wadsmoo.sh: 2: python: not found
WadSmoosh is written in Python so if you're running it "from source" (which is what that shell script does) you'll need Python installed on the system. I've never used ChromeOS before but it looks like it doesn't include Python out of the box.
I installed some version of python 2 and 3 and it still didnt work, I only started using linux/chrome os like 4 days ago.
Try typing just this at the terminal:
and see what appears next. If that actually launches the Python interpreter, quit out of it and type
If that returns a path (eg /usr/bin/python) then try running
from the directory where you have WadSmoosh.
Let me know what each of those commands result in. Like I said I don't know anything about ChromeOS specifically but if you're able to get a reasonably normal Linux environment, running programs in python should be straightforward.
I have attached a screen grab of what I see when I run those commands in terminal + other weirdness and from what I know linux runs in a container but google uses the words VM as well to describe it so your guess is as good as mine, I am only on this because well my main laptop died this week and for the foreseeable future this is all I have.
Ahh, okay so it appears that you have "python2" and "python3" executables on your system but it doesn't alias either to "python" the way that pretty much any distro would do. In that case it's probably simple: type "python3 wadsmoosh.py", or edit wadsmoosh.sh to use python3 instead of just python.
Hello, I've tried to play but this message shows up
That is the project's source code repository - it's hosted using the Mercurial version control system. If you just want to use WadSmoosh, you should download it from here on itch.io. Even if you're just looking to modify the code for your own purposes, the code is included with the itch download. The only reason you'd want to access the mercurial repo is if you want to create your own fork of the code.
Uh, the red crosses on the berserk pack, medkit, and stimpack are gone, it's replaced with this logo instead:
Those are the medkit etc sprites from the "BFG Edition". If you want the original red cross medkits, use the original (pre-BFG Edition) WADs. If you want the newer green cross ones, use the WADs from the Unity ports. The files are otherwise the same, they just made those changes for legal reasons (IIRC the International Red Cross organization is strict about people using their symbol)
Could you make a list of all supported wads and what the wad file name should be? Thanks.
Is there any chance of using some ZScript trickery to allow players to toggle between the Buckethead and Jimmy Paddock soundtracks when playing Sigil?
Could you somehow make the pk3 generated an ipk3?
The only difference between a PK3 and an IPK3 I'm aware of is the file extension, so try just renaming the file.
Ipk3 is basically an IWAD PK3.
The doom_complete.pk3 file WadSmoosh generates has an IWADINFO lump in it, that is what makes GZDoom treat it as an IWAD. There is zero byte-level difference between a version of the file WadSmoosh outputs with a .PK3 extension and an .IPK3 extension. Rename the file if you'd like it to have that extension.
there is a way to run the midi packs of some levels (plutonia masters etc)?
I'm not sure what specific MIDI packs you mean, but further down in this thread I did put together an unofficial, unsupported version of a few of them (for the things WadSmoosh already supports; I don't plan to add any more or do any further work in this direction): https://itch.io/post/4237949
thats 2 are exactly was i was looking for but the links dont work
Your web browser might be refusing to download the ZIP files because my website doesn't use HTTPS. There is no executable code in the ZIPs I link there so the security risk is overstated - you can tell your browser to make an exception just this one time.
After compiling a Doom_complete.pk3 my chaingunners are invisible when firing. I tried many different combinations of brightmaps and mods and it seems to only be a problem when using the Wadsmooshed PK3. Anything you've seen before?
If I leave my load order unchanged and I switch to Doom2.wad the chaingunners appear normal. Only Doom_Complete gives me invisible chaingunners.
Would you mind posting your log file from a session where this happens? From the command line, something like:
gzdoom.exe > gzdoom.log
You can post the contents of that log file to something like pastebin. Then I could see what is being loaded and in what order.
I did a little bit of digging since i posted and It seems to be some sort of issue when running Wadsmoosh 1.3 with the NeuralUpscale2x_v1.0 mod. If i disable the Neural upscale everything works as it should. Best i can tell only the Chaingunner has issues, but all looks normal to me when I start digging around in the actual sprite folder. Maybe something to do with the Filter naming?
Alright, sorry to keep blowing up the thread, but i spent last night troubleshooting and in GZDOOM 4.5 there's no issue. As soon as I switch to 4.6, 4.61, or 4.7.1 I get invisible chaingunners but only with the Neural upscale sprites.
I can confirm this on my system, and in fact all Doom 2 sprites (monsters, archvile fire, super shotgun pickup etc) are invisible. I am baffled as to what would have changed in GZDoom 4.6 to have caused this. I'll investigate.
Will Wadsmoosh be updated to include Romero's new One Humanity wad?
It's a map from Sigil 2; once the full Sigil 2 is released (ETA unknown) I'll make a call on whether it gets to be its own episode in WadSmoosh. Nothing until then.
I keep getting exit code 0x1 on my Macbook. Any idea what that is? It recognizes all my WADs, but then it fails at the end.
Just curious, what version of macOS are you running? Macs ship with an increasing ancient version of Python and I'm guessing the error is due to that.
If you don't mind getting your hands a little dirty, you could try this:
1. Open wadsmoosh.py in a text editor.
2. Search for the line that reads:
input_func = raw_input if sys.version_info.major < 3 else input
3. Replace it with:
input_func = input
4. Then try running wadsmoosh again.
Let me know if that works or not. I don't have easy access to such a system.
I'm using Monterey 12.2.1. Unfortunately, it doesn't work . If there's no easy fix on your end, I'll try to just borrow a a Windows computer from someone and do it that way if it's easier. It's not a big deal! The error message is attached if you want to see.
Also, on Works of the Masters in Waters of Lethe, there are a lot of textures missing. Any idea what's causing it?
I just wanted to let you know that I was able to combine then after using Boot Camp! Thank you!
Sorry. I'm hanother issue. I was playing Mines of Titan on Works of the Masters in GZDoom with this load order: Beautiful_Doom_716.pk3, doom_complete.pk3, masters.pk3. When I got to the exit of Mines of Titan, I got an error.
EDIT: Apparently there are discrepancies with Beautiful Doom. Worked perfectly fine when I took it off the load.