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.
MrDowntempo
Posts: 38
Joined: Wed Mar 01, 2017 1:58 pm

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

Post by MrDowntempo »

Purity666 wrote:Success!

I've added a new funtion to the wadsmoosh.py script to add the exit and level to the wad. While compiling an executable using pyInstaller, I found out that omgifol wasn't compatible anymore to python 3.6 - the MD5 class is not supported anymore hence I had to update omgifol as well.
If you're going for the same level of obscurity of the XBox Doom secret exits, it hardly matters where you put it; switches without a switch texture are never going to be found by someone who doesn't already know they're there.
Right, that makes no sense. So I played around a bit with omgifol (as I was curious in it anyway) and extended your add_secret_exit function to also add a switch texture (which should fit to the base texture used before adding the switch):

Code: Select all

def add_secret_exit(map_name, line_id, side_id='', side_texture=''):
    # sets given line # in given map as a secret exit switch
    wad = omg.WAD()
    wad_filename = DEST_DIR + 'maps/%s.wad' % map_name
    wad.from_file(wad_filename)
    ed = omg.MapEditor(wad.maps[map_name])
    ed.linedefs[line_id].__dict__['action'] = 51
    if side_id != '':
    		ed.sidedefs[side_id].__dict__['tx_mid'] = side_texture
    wad.maps[map_name] = ed.to_lumps()
    wad.to_file(wad_filename)
So the procedure for adding the level and switch looks like this for now:

Code: Select all

def add_tech_level():
    logg('Adding tech gone bad bonus level...')
    logg('  Adding secret exit and switch SW1STARG to E1M7')
    add_secret_exit('E1M7', 721, 908, 'SW1STARG') #STARG3
    logg('  Adding e1m8b.wad as E1M11')
    add_secret_level('e1m8b', 'E1M8', 'E1M11')

Code: Select all

    # only supported version of thihs @ https://www.doomworld.com/idgames/levels/doom/Ports/d-f/e1m8b
    if get_wad_filename('e1m8b') and should_extract:
        add_tech_level()
...and while I was adding the texture for E1M7, I did the same for the Xbox maps:

Code: Select all

Adding Xbox bonus levels...
  Adding secret exit and switch SW1STARG to E1M1
  Adding SEWERS.WAD as E1M10
  Adding secret exit and switch SW1STONE to MAP02
  Adding BETRAY.WAD as MAP33
Adding tech gone bad bonus level...
  Adding secret exit and switch SW1STARG to E1M7
  Adding e1m8b.wad as E1M11
Creating doom_complete.pk3...
I'm quite happy with the result, especially because I used python, pyInstaller and omgifol for the first time...

Greetings
Purity
Are these changes making it to the official wadsmoosh? I want to make a smooshed wad with betray and sewers added with the visible exit. If not, can I just copy the code in this post into the latest wadsmoosh and use that?
Yarn366
Posts: 61
Joined: Fri Mar 02, 2018 11:48 pm
Preferred Pronouns: He/Him

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

Post by Yarn366 »

Awesome tool! I haven't played it much, but I did notice some minor issues:
  • Thy Flesh Consumed is missing par times. Original releases of Ultimate Doom didn't display par times for these levels, but releases that run on Doom Classic (such as Doom 3: BFG Edition) do, and GZDoom uses these when playing this episode in DOOM.WAD. WadSmoosh should thus do the same.
  • You copied the par times for the Xbox secret levels from their parent levels. These times aren't really appropriate for these levels, and the Xbox version doesn't display actual par times for them.
  • The music for E1M10 is wrong; it should be D_E2M1, not D_E3M1.
  • If extracting from the version of DOOM2.WAD from Doom 3: BFG Edition, the titles for the secret levels should be changed to "IDKFA" and "Keen" to match those stored in the level files (due to censorship). GZDoom already stores these strings as HUSTR_31B and HUSTR_32B, respectively, so WadSmoosh should use those in this case. (You can identify this version of DOOM2.WAD by looking for DMENUPIC, M_ACPT, M_CAN, M_EXITO, and M_CHG.)
User avatar
JPL
 
 
Posts: 523
Joined: Mon Apr 09, 2012 12:27 pm
Contact:

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

Post by JPL »

Yarn366 wrote:Awesome tool! I haven't played it much, but I did notice some minor issues:
  • Thy Flesh Consumed is missing par times. Original releases of Ultimate Doom didn't display par times for these levels, but releases that run on Doom Classic (such as Doom 3: BFG Edition) do, and GZDoom uses these when playing this episode in DOOM.WAD. WadSmoosh should thus do the same.
  • You copied the par times for the Xbox secret levels from their parent levels. These times aren't really appropriate for these levels, and the Xbox version doesn't display actual par times for them.
  • The music for E1M10 is wrong; it should be D_E2M1, not D_E3M1.
  • If extracting from the version of DOOM2.WAD from Doom 3: BFG Edition, the titles for the secret levels should be changed to "IDKFA" and "Keen" to match those stored in the level files (due to censorship). GZDoom already stores these strings as HUSTR_31B and HUSTR_32B, respectively, so WadSmoosh should use those in this case. (You can identify this version of DOOM2.WAD by looking for DMENUPIC, M_ACPT, M_CAN, M_EXITO, and M_CHG.)
Thanks for the notes, these are exactly the kinds of issues I want to fix. There's a new build on the bitbucket page and on WadSmoosh's itch.io page that should address all these.
Yarn366
Posts: 61
Joined: Fri Mar 02, 2018 11:48 pm
Preferred Pronouns: He/Him

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

Post by Yarn366 »

A few more very minor suggestions:
  • For The Plutonia Experiment, use P_DM2INT for the intermission music instead of the default (D_DM2INT). This would make it possible for a modified Plutonia MIDI Pack to include intermission music that plays only in The Plutonia Experiment and not other episodes. (And don't forget to have WadSmoosh copy D_DM2INT.)
  • For TNT: Evilution, use T_DM2INT for the intermission music instead of T_EVIL. This way, when TNT: Evilution's first secret level ends, GZDoom will start the intermission music from the beginning as it does with other levels, rather than letting it continue on.
User avatar
ShockwaveS08
Posts: 193
Joined: Thu Jul 07, 2016 7:29 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Android 10
Location: Manhattan, IL
Contact:

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

Post by ShockwaveS08 »

Now that Doom Classic Complete is (more or less) finished at this point, will support be extended to [Hexen + Deathkings of the Dark Citadel] and [Strife + Voices.wad]? I can picture the menus right now, which are contained in the spoiler below...
Spoiler:
Gez
 
 
Posts: 17833
Joined: Fri Jul 06, 2007 3:22 pm

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

Post by Gez »

Strife+Voices is absolutely not needed. Voices.wad is already automatically loaded, and it does not have any sort of conflict.

WadSmoosh for Doom is justified in that the various IWADs are mutually exclusive and incompatible with each other. Making them coexist in a single package requires changing the map slots, updating the MAPINFO stuff, resolving all the texture conflicts, updating the levels to account for the texture conflicts resolutions, and so on.

Hexen+Deathkings could be justified too, since there are also level conflicts. No texture conflicts however, so it'd be much simpler than for Doom.

But Strife? That'd be pointless. ZDoom is already loading both files transparently, and there are no conflicts to solve.
User avatar
SiFi270
Posts: 451
Joined: Tue Feb 10, 2015 2:51 am
Location: Does anyone put a serious answer here?

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

Post by SiFi270 »

Hexen's kind of already smooshed as well since all of the original's levels are accessible from within Deathkings. The only level conflict I know of is between the first map of Deathkings and this unused empty maze, and I'd be quite surprised to find anyone who even has a Hexen 1.0 iwad containing the latter. In fact, smooshing Hexen is so easy that it's one of the first things I ever did after learning to use Slade.
Attachments
hexddmatch.wad
It even makes the multiplayer maps into their own episode, hence the filename.
(62.74 KiB) Downloaded 99 times
User avatar
ShockwaveS08
Posts: 193
Joined: Thu Jul 07, 2016 7:29 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Android 10
Location: Manhattan, IL
Contact:

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

Post by ShockwaveS08 »

Has anyone tried making a slightly-fancier Titlepic for WADSmoosh? Optionally making it into a very simple Titlemap with a higher-res background logo, and "diagnostic text", as follows...

Code: Select all

DOOM Classic Complete - Build 040918
The Ultimate Doom v1.9 (or Shareware/BFG Edition)
Doom II: Hell on Earth v1.9 (or BFG Edition)
No Rest for the Living: ACTIVE
Master Levels for Doom II: ACTIVE
TNT Evilution v1.9
The Plutonia Experiment v1.9
Xbox Secret Level - Sewers: ACTIVE
Xbox Secret Level - Betray: ACTIVE
User avatar
SiFi270
Posts: 451
Joined: Tue Feb 10, 2015 2:51 am
Location: Does anyone put a serious answer here?

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

Post by SiFi270 »

SiFi270 wrote:Hexen's kind of already smooshed as well since all of the original's levels are accessible from within Deathkings. The only level conflict I know of is between the first map of Deathkings and this unused empty maze, and I'd be quite surprised to find anyone who even has a Hexen 1.0 iwad containing the latter. In fact, smooshing Hexen is so easy that it's one of the first things I ever did after learning to use Slade.
I've just discovered that this doesn't actually work as well as I thought it had. When playing through Hexen 1, the first two text screens between hubs are still from Deathkings, and going through the portal from the Heresiarch's Seminary to the Silent Refectory gives you the ending text for that hub before taking you to the deatyhmatch hub. Never mind.
Cheater87
Posts: 46
Joined: Tue Oct 31, 2017 7:57 pm

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

Post by Cheater87 »

I finally got it to work, but I can't get NRFTW or Neve.wad to work with this despite it being in the list of wads.
User avatar
eharper256
Posts: 1038
Joined: Sun Feb 25, 2018 2:30 am
Location: UK
Contact:

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

Post by eharper256 »

Just a quick post here to point that according what Enjay noted here, apparently, when you use a Hi-Res texture pack with Wadsmoosh, we get a return to issues of wrong switch textures being used on various WADs. It also occurs with the Doom 2 skyboxes appearing Doom 1.

Not sure if anything can be done about it? I did consider adding the png's to the Wadsmoosh pk3, but that probably wouldn't work as they're .lmp's by default in there.

EDIT: I have fixed it by replacing the copies of brcom in the Doom2 folder and the base textures folder with their Doom 1 equivalents and rezipping and creating the pk3.
Last edited by eharper256 on Fri Jul 13, 2018 6:28 am, edited 1 time in total.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

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

Post by Graf Zahl »

This cannot be fixed. These are conflicting contents of the IWAD itself and the engine cannot react properly to the alterations WadSmoosh has to do to make it all work as intended. You'd need hires packs that know about these changes for it to work properly.
User avatar
eharper256
Posts: 1038
Joined: Sun Feb 25, 2018 2:30 am
Location: UK
Contact:

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

Post by eharper256 »

Graf Zahl wrote:This cannot be fixed. These are conflicting contents of the IWAD itself and the engine cannot react properly to the alterations WadSmoosh has to do to make it all work as intended. You'd need hires packs that know about these changes for it to work properly.
Thats a bummer, but about what I expected.

As noted in the edit, I did come up with a workaround of making the Doom 1 versions of the switches the base version in my Texture Pack and re-zipping. Of course, its not a perfect solution, as any iwads using one of the fake brown switches will probably now have the opposite problem (with stretching), and of course I can't do much about the skies, but hopefully the impact is less overall.
ModdedT
Posts: 1
Joined: Mon May 21, 2018 9:02 am

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

Post by ModdedT »

There was some maps for the PSX Doom that were exclusive, there are quite a few recreations, could you add them into this?
User avatar
JPL
 
 
Posts: 523
Joined: Mon Apr 09, 2012 12:27 pm
Contact:

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

Post by JPL »

ModdedT wrote:There was some maps for the PSX Doom that were exclusive, there are quite a few recreations, could you add them into this?
Those can already be downloaded freely and played as mods. WadSmoosh is only for merging your retail IWAD content.
Post Reply

Return to “Creation, Conversion, and Editing”