WadSmoosh - merge all official id releases into one PK3 IWAD

Any utility that assists in the creation of mods, assets, etc, go here.
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.

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

Postby Yarn366 » Sat Sep 12, 2020 11:01 pm

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.
Yarn366
 
Joined: 03 Mar 2018

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

Postby JPL » Sun Sep 13, 2020 10:40 am

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.
User avatar
JPL
 
 
 
Joined: 09 Apr 2012

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

Postby Gez » Sun Sep 13, 2020 10:51 am

For what it's worth, it works for me:
Spoiler:
Gez
 
 
 
Joined: 06 Jul 2007

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

Postby Yarn366 » Sun Sep 13, 2020 1:40 pm

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.
Yarn366
 
Joined: 03 Mar 2018

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

Postby Gez » Sun Sep 13, 2020 1:47 pm

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.
Gez
 
 
 
Joined: 06 Jul 2007

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

Postby Yarn366 » Sun Sep 13, 2020 4:10 pm

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
 
Joined: 03 Mar 2018

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

Postby Yarn366 » Mon Sep 14, 2020 8:31 pm

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.)
Yarn366
 
Joined: 03 Mar 2018

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

Postby NightFright » Thu Sep 17, 2020 11:58 pm

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
NightFright
Spotlight Team
 
Joined: 02 May 2008
Location: Germany

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

Postby ShockwaveS08 » Tue Sep 22, 2020 3:43 pm

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
ShockwaveS08
Ripping and tearing on Android.
 
Joined: 08 Jul 2016
Location: Manhattan, IL
Discord: Shockwave_S08#0859
Github ID: ShockwaveS08

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

Postby Yelso » Sun Oct 04, 2020 9:10 pm

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?
Yelso
 
Joined: 05 Jun 2019
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

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

Postby AvzinElkein » Sun Oct 04, 2020 10:14 pm

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
AvzinElkein
 
Joined: 18 Nov 2010
Discord: AvzinReborn#9162
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)

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

Postby irukanjji » Mon Oct 05, 2020 1:59 pm

you need this one:

Full Run for WadSmoosh'd GZDoom

https://jp.itch.io/doom-fullrun
irukanjji
 
Joined: 28 Feb 2014

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

Postby caikelm » Wed Oct 07, 2020 5:29 pm

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!
caikelm
 
Joined: 02 Apr 2020

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

Postby JPL » Wed Oct 07, 2020 7:25 pm

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
 
 
 
Joined: 09 Apr 2012

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

Postby JPL » Wed Oct 07, 2020 7:26 pm

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.
User avatar
JPL
 
 
 
Joined: 09 Apr 2012

PreviousNext

Return to Editors / Asset Manipulation

Who is online

Users browsing this forum: No registered users and 0 guests