WadSmoosh - merge all official id releases into one PK3 IWAD

Any utility that assists in the creation of mods, assets, etc, go here. For example: Ultimate Doom Builder, Slade, WadSmoosh, Oblige, etc.
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
Yarn366
Posts: 58
Joined: Fri Mar 02, 2018 11:48 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by Yarn366 »

JPL wrote:
Yarn366 wrote:I noticed that level intermissions look a bit different in WadSmoosh than they do normally: lines have more space in between, and numbers are gray instead of red and kerned a bit differently. Is this intentional, and if so, how is it being done (out of curiosity)? I couldn't find anything in WadSmoosh's files that affect how text is displayed on that screen (apart from the addition of level author credits).
Hmm, that's definitely not being done intentionally, and I have no idea why it happens. WadSmoosh doesn't contain any data that overrides the intermission screens.
One wild guess is that, under the hood, GZDoom is treating WadSmoosh like Doom 2 in some senses, and some data it's using for doom 1 (eg in the "filter" subdirectory) isn't used in quite the same way here.
I did a bunch of experimentation on this. It turns out GZDoom apparently isn't reading the intermission number font graphics (WINUM0-WINUM9 at the least, but probably also WIPCNT, WICOLON, and WIMINUS) from PK3 files, even though it does read them from WAD files.

To see what I mean, first create a WAD file (I'll call it NUM_FONT.WAD) containing only the aforementioned lumps (WINUM0-WINUM9, WIPCNT, WICOLON, WIMINUS), a PK3 file (I'll call it NUM_FONT.PK3) with the same lumps in a "graphics" folder, and a version of DOOM2.WAD without those lumps. If you load only the modified DOOM2.WAD, the intermission screen will look like the one in WadSmoosh (minus the map author, of course). If you load NUM_FONT.WAD (or whatever you name it) on top, that screen will look correct. However, if you load the PK3 version instead (still on top of the modified DOOM2.WAD), the screen will look like the (wrong) WadSmoosh one.

The rest of the text on the intermission screen (such as "kills" and "items") does load properly from PK3 files; it's just the numbers and possibly the symbols that aren't used.
User avatar
JPL
 
 
Posts: 521
Joined: Mon Apr 09, 2012 12:27 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by JPL »

Thanks for this research, I had no idea this was happening. I also have no idea why it's happening! Anyone who knows this part of the engine have any ideas? The graphics lumps are present, and AFAIK one shouldn't have to do anything other than have them in an accessible namespace (graphics/ subfolder within the IPK3) to have them be used properly?
Last edited by JPL on Sun Sep 13, 2020 10:55 am, edited 1 time in total.
Gez
 
 
Posts: 17683
Joined: Fri Jul 06, 2007 3:22 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by Gez »

For what it's worth, it works for me:
Spoiler:
Yarn366
Posts: 58
Joined: Fri Mar 02, 2018 11:48 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by Yarn366 »

Gez wrote:For what it's worth, it works for me:
Are you loading any mods, by any chance? It looks like the numbers in your screenshot are higher resolution, while most of the letters are not.
Gez
 
 
Posts: 17683
Joined: Fri Jul 06, 2007 3:22 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by Gez »

No, it's just that I have xBRZ x2 enabled for fonts only. Only mod in my autoload is Jimmy's Jukebox which shouldn't affect the menu.

Testing with autoload disabled, same result.
Yarn366
Posts: 58
Joined: Fri Mar 02, 2018 11:48 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by Yarn366 »

I tested some earlier versions of GZDoom and found that the bug was introduced in GZDoom 4.4.0. In other words, GZDoom 4.3.3 loads the intermission font from PK3 files properly, while GZDoom 4.4.0 (and later) does not. (I also tried LZDoom 3.86a, and it also loads the font properly.)

Gez, what version of GZDoom are you running? If it's 4.3.3 or earlier, then that's why the intermission screen is displaying properly for you.
Yarn366
Posts: 58
Joined: Fri Mar 02, 2018 11:48 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by Yarn366 »

On a different topic...

With GRNROCK now set as the default border graphic, there's a negative side effect: if you only smoosh Doom 1 content and then play a Doom 1 WAD that includes its own MAPINFO lump, and that lump doesn't set a border graphic, then the border will just be black. (Deathless is an example of such a WAD.) This is because GZDoom is trying to use GRNROCK as the border, which isn't in your Doom 1-only doom_complete.pk3 because that texture is found only in Doom 2 and Final Doom.

One way to work around this, and probably the easiest, is to copy FLOOR7_2 to GRNROCK when smooshing DOOM.WAD, and then overwrite GRNROCK when smooshing DOOM2.WAD and any of the Final Doom WADs. This allows such Doom 1 WADs to have a border graphic, even if Doom 2 content isn't smooshed in.

(That does mean that if Doom 2 content is smooshed, then those WADs will use Doom 2's border. However, the other "easy" option is to make FLOOR7_2 the default border graphic, which would make WadSmoosh a bit harder to maintain because more MAPINFO lumps would need to set a different border graphic--and then Doom 2 WADs with their own MAPINFO lumps would generally use Doom 1's border. For the sake of easier maintenance, and because most people probably wouldn't care which border is used, I suggest going with the first option.)
User avatar
NightFright
Spotlight Team
Posts: 1305
Joined: Fri May 02, 2008 12:29 pm
Location: Germany

Re: WadSmoosh - merge all official id releases into one PK3

Post by NightFright »

BTW, if you wish to integrate the visual changes from the Unity port, I have prepared a GZDoom patch which can be used in this project if you wish. I uploaded it over at the Duke4.net forums.
User avatar
ShockwaveS08
Posts: 185
Joined: Thu Jul 07, 2016 7:29 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Android 10
Location: Manhattan, IL

Re: WadSmoosh - merge all official id releases into one PK3

Post by ShockwaveS08 »

Bethesda and id have released the widescreen Unity assets to the general public, for modding purposes.

https://slayersclub.bethesda.net/en/art ... nd-doom-ii
Yelso
Posts: 34
Joined: Tue Jun 04, 2019 9:42 pm
Graphics Processor: nVidia with Vulkan support

Re: WadSmoosh - merge all official id releases into one PK3

Post by Yelso »

JPL wrote:Hi folks. Recently I've been learning the intricacies of how ZDoom reads resources, and created a tool others might find useful:

https://jp.itch.io/wadsmoosh
(this link will always have the most recent released version)

It reads available IWADs, Master Levels, and No Rest for the Living PWADs from a subfolder called "source_wads/" and creates a new PK3 with all the unique content from each merged together and organized into episodes via custom mapinfo data. All the music, intermission text and art, etc are correct for each episode.

Note: With the sole exception of SIGIL, non-official content, even stuff that was sold at retail by random companies like the Lost Episodes, is not supported! People in this thread have customized WadSmoosh to do this but it's outside the scope of what I wrote WadSmoosh to do and I have no intention of supporting it. Also please note that you don't need WadSmoosh to merge non-commercial content! Use a WAD editing tool like SLADE3 instead.

Here's what the episode select screen looks like:
UyoUFl.jpg
The tool is called WadSmoosh. I wrote it in Python but a Windows EXE is included, as well as a shell script for running the source script on Linux and macOS (Python2 only, for the moment). It uses the wonderful OMGIFOL library to do all the lump extraction, and I used SLADE to build the texture definitions for each IWAD.

Other details of note:
- The full size pk3 is about 40mb uncompressed. (17MB with max ZIP compression, 11MB with 7zip compression - you'll have to do these yourself though)
- WadSmoosh does not apply any map fixes directly to maps, it relies on GZDoom's internal level compat process.
- WadSmoosh is smart enough to not include the Master Levels and NRftL levels if Doom 2 isn't present.

If you have any comments or run into any issues using this, let me know!
Is there a way to play so when starting from episode one you move to each episode sequentally without having to select new game? I remember being able to do that, do I need a seperate Wad?
AvzinElkein
Posts: 607
Joined: Wed Nov 17, 2010 6:35 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by AvzinElkein »

Yelso wrote:
JPL wrote:Hi folks. Recently I've been learning the intricacies of how ZDoom reads resources, and created a tool others might find useful:

https://jp.itch.io/wadsmoosh
(this link will always have the most recent released version)

It reads available IWADs, Master Levels, and No Rest for the Living PWADs from a subfolder called "source_wads/" and creates a new PK3 with all the unique content from each merged together and organized into episodes via custom mapinfo data. All the music, intermission text and art, etc are correct for each episode.

Note: With the sole exception of SIGIL, non-official content, even stuff that was sold at retail by random companies like the Lost Episodes, is not supported! People in this thread have customized WadSmoosh to do this but it's outside the scope of what I wrote WadSmoosh to do and I have no intention of supporting it. Also please note that you don't need WadSmoosh to merge non-commercial content! Use a WAD editing tool like SLADE3 instead.

Here's what the episode select screen looks like:
UyoUFl.jpg
The tool is called WadSmoosh. I wrote it in Python but a Windows EXE is included, as well as a shell script for running the source script on Linux and macOS (Python2 only, for the moment). It uses the wonderful OMGIFOL library to do all the lump extraction, and I used SLADE to build the texture definitions for each IWAD.

Other details of note:
- The full size pk3 is about 40mb uncompressed. (17MB with max ZIP compression, 11MB with 7zip compression - you'll have to do these yourself though)
- WadSmoosh does not apply any map fixes directly to maps, it relies on GZDoom's internal level compat process.
- WadSmoosh is smart enough to not include the Master Levels and NRftL levels if Doom 2 isn't present.

If you have any comments or run into any issues using this, let me know!
Is there a way to play so when starting from episode one you move to each episode sequentally without having to select new game? I remember being able to do that, do I need a seperate Wad?
I believe you're looking for this: viewtopic.php?f=43&t=66213
irukanjji
Posts: 116
Joined: Fri Feb 28, 2014 4:27 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by irukanjji »

you need this one:

Full Run for WadSmoosh'd GZDoom

https://jp.itch.io/doom-fullrun
caikelm
Posts: 2
Joined: Wed Apr 01, 2020 6:01 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by caikelm »

Is there a way to isolate what this mod does to the Master Levels? I would really like to have them as an episode for Doom 2 with pistol start between maps without having to merge anything or changing the title or background image.

I've found some mods that do add the master levels as an episode but they don't have pistol start between maps :/
And if I use this mod it changes the game's title and background image on the menu.

Thanks in advance!
User avatar
JPL
 
 
Posts: 521
Joined: Mon Apr 09, 2012 12:27 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by JPL »

caikelm wrote:Is there a way to isolate what this mod does to the Master Levels? I would really like to have them as an episode for Doom 2 with pistol start between maps without having to merge anything or changing the title or background image.

I've found some mods that do add the master levels as an episode but they don't have pistol start between maps :/
And if I use this mod it changes the game's title and background image on the menu.

Thanks in advance!
This is all just off the top of my head and obviously unsupported, but you can open the PK3 in any ZIP archive utility and delete files from it. Removing the file "smooshed.txt" will cause it to no longer be recognized as an IWAD by GZDoom. From there you can delete all the art and sound resources. Trim out everything in the mapinfo.txt except the master levels episode definition. The line "clearepisodes" in that file is what clears the existing episode list, take that out.

There's also this project of mine, which I really need to finish the last few readme bits on soon. It creates full episodes for each author of the master levels, plus the other levels they did in the same serieses: https://www.doomworld.com/forum/topic/1 ... er-levels/
User avatar
JPL
 
 
Posts: 521
Joined: Mon Apr 09, 2012 12:27 pm

Re: WadSmoosh - merge all official id releases into one PK3

Post by JPL »

Regarding Unity IWAD + widescreen support, I'm waiting to see how GZDoom 4.5 handles it and will release a WadSmoosh 1.3 that piggybacks off that.

Return to “Creation, Conversion, and Editing”