Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Lars

IWAD Converter

Recommended Posts

Here is something I was working on for some time and which was recently finished:

The IWAD Converter is a utility designed for converting any supported 1.9 version of the DOOM, DOOM II, and Final DOOM (PLUTONIA and TNT) IWAD files into any of the other supported versions.

The inspiration came from the old LADOPATO, Lazy DOOMers Patching Tool, which could convert between the available DOOM IWADs back at the time, and from the fact that in recent years many different new versions of the DOOM IWADs appeared with re-releases of the game on different platforms, for which a tool for easy comparison and conversion would be nice.

Supported versions of the IWAD files are:
- The original 1.9 DOS versions of DOOM.WAD, DOOM2.WAD, TNT.WAD, and PLUTONIA.WAD
- The id Anthology versions of TNT.WAD and PLUTONIA.WAD
- The Xbox, XBLA, and all BFG Edition versions of DOOM.WAD and DOOM2.WAD
- The Doom Classic Complete PSN versions of DOOM.WAD, DOOM2.WAD, TNT.WAD, and PLUTONIA.WAD

So, if you have any IWAD file from a version mentioned in the above list, you can convert it to any other version with this utility.

Screenshot:



Download

I hope you enjoy it.

Share this post


Link to post

Nice.

Are you planning on also getting pre-1.9 versions? And maybe Heretic and Hexen too?

Share this post


Link to post

Just an annoying nerdy quiestion, but is this 100% legal? Like, if you bought Xbox Doom2.wad are you technically allowed to get other its versions for free?

Share this post


Link to post
Memfis said:

Just an annoying nerdy quiestion, but is this 100% legal? Like, if you bought Xbox Doom2.wad are you technically allowed to get other its versions for free?

Could be legal ,Since you're not giving an entirely new game for free and it requires you to already own a copy ....

Share this post


Link to post

It depends on how the patching is performed. To upgrade IWADS to a more recent version, one could simply use the information contained in the official DOS patching tools and their .RTP files, using a suitable "base" IWAD as a starting point. Those patches are definitively legal to own, and combined with a suitable starting IWAD, they entitle their owner to legal ownership of all IWAD versions that can be produced from them (e.g. if you have Doom v1.1, you can theoretically upgrade to any version up to v1.9 Ultimate)

To downgrade them though a set of patches going the opposite direction must be created. I don't know if it's possible to interpret the existing .RTP files in reverse, so that someone owning v1.9 can go back all the way to v1.1 using nothing more than the existing patches. What technique does the old LADOPATO use?

However, in either case, patches that go in new directions (e.g. XBLA) were certainly never officially endorsed. I am not sure of the legalities of creating and distributing such a patch...in itself, that might be legal. However in the end the net result would be someone with a Doom 2 IWAD owning an "extended" version of it. The question here is if id/Zenimax are cool with that (e.g. at some point, they allowed all Doom users to upgrade to Ultimate Doom for free), or if a sequence of legal actions can have an illegal result. I would tread carefully here.

Share this post


Link to post

Excellent tool, now I can access Sewers and Betray during the main playthough via the secret exits. Much cooler than loading up those individual level WADS.

Share this post


Link to post

I should point out that - it's not clear in the program's description - only Ultimate Doom versions of DOOM.WAD are supported. So you cannot use this to bring an older WAD to the Ultimate version, or back.

The program internally works exactly like LADOPATO - there are small .bsdiff files for every supported conversion, containing only the differences between the two WADs.

As for the legal aspect: I doubt anyone could have objections against the use of this program. It has been created mainly for educational purposes and is probably of not much other use anyway.

After all, if it were to affect sales of any of the current official distributors in any way, it could only be positive: Because now anyone knows that he or she can buy the game in one of the recent official versions where, say, the Wolfenstein SS sprites are missing, and is able to convert his WAD back to an older version, restoring compatibility with older source ports and mods. Otherwise they would probably not have bought the game at all.

This is something which Zenimax/Bethesda obviously cannot offer themselves for legal international reasons, mainly our law here in Germany.

So I'd say it's as with all the countless mods and works by the Doom community out there which may not be strictly legal in every aspect - it's a win-win situation for everyone.

Regarding support for older versions of the WADs, or Heretic and Hexen: Legal aspects aside, it will not likely happen. There is simply the technical aspect that for every new patch added, the file size of the patcher will grow exponentially, as a separate .bsdiff file for each conversion would have to be made, and also for every backwards conversion. Plus, the differences to older WADS are larger than the small differences in the recent versions, leading to larger .bsdiff files.

And there's still the old LADOPATO patcher around, which can do conversions for the old WADs up to the 1.9 versions.

For Heretic and Hexen, to my knowledge, there do not exist many different WAD versions at all, so I would not consider a patcher necessary.

Share this post


Link to post
RUSH said:

Excellent tool, now I can access Sewers and Betray during the main playthough via the secret exits. Much cooler than loading up those individual level WADS.

Yes, I do that too - however I always load the individual level wads anyway with the map names patched to E1M10 and MAP33, respectively. Simply because these contain bug fixed versions of the originals.

Share this post


Link to post

You can avoid the exponential aspect of patches by using a specific version as a "hub", and trading speed for space.

E.g. for Doom, the Hub would be Ultimate Doom v1.9.

If someone owns e.g. Doom v1.5 and wants to go to Doom v1.4 (for which, let's say, there's no direct v1.4 -> v1.5 patch to reverse), but there's a v1.5 to v1.666, a v1.666 to v1.9 Ultimate and a v1.9 Ultimate to v1.4, patch, then it's possible to trade ease & speed (applying a direct patch would be faster) with space (using only a restricted number of patches, and taking longer to perform the patching operation).

In other words, don't imagine the N versions of Doom or Heretic as a matrix which would require to have N^2 sets of patches, but a more complex graph, where only some transitions are possible, but it's possible to reach all nodes nonetheless, with some clever thinking ;-)

Share this post


Link to post
Maes said:

In other words, don't imagine the N versions of Doom or Heretic as a matrix which would require to have N^2 sets of patches, but a more complex graph, where only some transitions are possible, but it's possible to reach all nodes nonetheless, with some clever thinking ;-)

The problem is that I would have to rewrite major routines of the converter to adopt the sequential patching feature... but it's of course tempting to have a tool which supports all known WAD versions released. Perhaps some day...

Share this post


Link to post
Lars said:

For Heretic and Hexen, to my knowledge, there do not exist many different WAD versions at all, so I would not consider a patcher necessary.

There's the annoying issue of Hexen Deathking not being patched in the Steam version, so that maps don't get their MIDI soundtrack (and since it's a lazily-made Steam version, they don't get their CD soundtrack either). Having a newbie-friendly GUI to patch that would be useful.

Share this post


Link to post
Gez said:

There's the annoying issue of Hexen Deathking not being patched in the Steam version, so that maps don't get their MIDI soundtrack (and since it's a lazily-made Steam version, they don't get their CD soundtrack either). Having a newbie-friendly GUI to patch that would be useful.


Sorry for the little necro bump, but there is a little IWAD patcher written in Java which supports even Hexen DD (via the GUI you can only update the WAD to the latest version) .

Link : http://www.doomgate.de/content/files/ladopato/javapatcher/JIWadPatcher.html

Share this post


Link to post

I'm resurrecting this post because the Xbox iwads do not work as they should. The secret level exit keeps throwing me to E1M9 instead of E1M10. Is there something I'm missing here or was this built for a specific engine to run?

Share this post


Link to post

Well this is awesome.   I always had TNT31.wad to fix the yellow not being in single player but it's annoying to always add a pwad when you just want to play an official game, though I am using the sprite fixes autoloaded in skins folder these days.   Nice to have a patcher for official fixed iwads.   Unfortunately we still have to make a choice with TNT.  Anthology edition fixes that and also has some stuff done to map10 - secret sectors reduced and nodes rebuilt.   PSN edition does nothing with whatever were the issues with map10, but fixes map31 yellow and some additional issues with that map31 rebuilding the nodes.   It also changes the stimpack, medikit, and berserk graphics to a pill on them instead of a red cross.   So apparently the choice is fix 10 and some of map 31, or fix only map31 all the way and alter health item gfx.   Or I guess I'll just make my own custom iwad with the best of both worlds and only use the Anthology one online.   I think I knew someone that got the id Anthology but didn't know they were different while I have the original Ultimate Doom, Doom 2 v1.666, Final Doom, and Masters Levels, in their big boxes, but whether I can locate all their manuals is another story. 

 

Not sure if I ever knew Plutonia was missing deathmatch starts in some maps, but that's a pretty lame oversight.  I might have some vague memory.   I always put at least 8 deathmatch starts in maps, at least 4 right away starting to make a map as well as the coop starts, up to 8 depending on the source port.   Only the Anthology version fixes this.   PSN version doesn't!

 

Also got plain xbox versions of my Doom and Doom2 wads to check those out.   Already got BFG editions with Doom 3.

Share this post


Link to post
On 6/24/2015 at 9:36 PM, Carny Goat said:

I'm resurrecting this post because the Xbox iwads do not work as they should. The secret level exit keeps throwing me to E1M9 instead of E1M10. Is there something I'm missing here or was this built for a specific engine to run?

guess that having an extra slot in the level selection was an advantage of porting the game to console, I'm not sure if playing the console wad via the pc game engine allows you to access the level selection over the ninth level in Ultimate Doom, especially when it comes to secret levels, they only work with the secret exits the pc game engine is scripted to work with, so you're always pushed back to E1M9.

Share this post


Link to post

It all depends on how the engine being used handles it. In most of the more basic ports the level transitions are hard coded and without explicit support for the extended IWAD versions these secret exits won't work. Obviously not all engines implement support for this.

 

 

 

Share this post


Link to post
Posted (edited)
13 hours ago, Gokuma said:

I always had TNT31.wad to fix the yellow not being in single player but it's annoying to always add a pwad when you just want to play an official game, though I am using the sprite fixes autoloaded in skins folder these days.   Nice to have a patcher for official fixed iwads.   Unfortunately we still have to make a choice with TNT.

I just used some level editor to merge TNT31.WAD into TNT.WAD ages ago, replacing the original MAP31 with the fixed one. Did so ages ago before any official fixed releases existed. Yes, it's "unofficial", but it worked and I don't recall any utility ever complained.

Share this post


Link to post
5 hours ago, dr_st said:

Yes, it's "unofficial", but it worked and I don't recall any utility ever complained. 

The main thing you lose is demo compatibility, but the same happens with the id Anthology ones too (unless you come across demos actually recorded with them)

Share this post


Link to post
13 hours ago, chungy said:

The main thing you lose is demo compatibility

Demo compatibility specifically with MAP31 or with all maps? If all maps - why?

Share this post


Link to post
Posted (edited)

We've been through this before (a lot of useful info in that thread on various points, including from Ty himself).

 

Pretty much any non-Max-type demos that take in map31 will desync with the patch.

 

Here are the autoloading patterns that sort through this mess (as well as iwad vs pwad):

 

demo_pattern28            "DOOM 2: TNT - Evilution pwad/((2638ev01)|(5445ev01)|(ec13m100)|(ec22vpa)|(ec22xpa)|(ec30-133)|(ec30d136)|(ec30e136)|(ec31b030)|(ef02-733)|(ef04-745)|(ef06-516)|(ef06-625)|(ef13-549)|(ef13-700)|(ef14-749)|(ef16-649)|(ef17-336)|(ef28-659)|(ef291030)|(ef291213)|(ef32-734)|(er03-256)|(er06-254)|(er07-458)|(er10-230)|(er13-351)|(er16-423)|(er23-230)|(er25-600)|(er28-442)|(er29-609)|(es03-221)|(es13-218)|(es13-237)|(es16-136)|(es16-139)|(es17-114)|(es18-301)|(es22-153)|(es22-257)|(et3-1113)|(ev02-337)|(ev02-357)|(ev03-255)|(ev03-315)|(ev04-616)|(ev06-319)|(ev06-328)|(ev06-340)|(ev06-344)|(ev07-658)|(ev07-722)|(ev07-750)|(ev07-830)|(ev13-436)|(ev13-442)|(ev13-623)|(ev14-533)|(ev16-119)|(ev16-438)|(ev16-539)|(ev17-338)|(ev23-331)|(ev25-629)|(ev25-733)|(ev26-524)|(ev26-540)|(ev271021)|(ev28-449)|(ev28-521)|(ev29-148)|(ev29-154)|(ev29-158)|(ev29-420)|(ev29-731)|(ev29-859)|(ev32-454)|(ev32-729)|(ev32-812)|(tn03-158)|(tn25-639)|(tn28-151)|(tn29-247)|(tn29-347)|(tn29-404)|(en01)|(en22)|(en3[01])|(ev0[2-7])|(ev1[0127])|(ep16x201)|(tn08tas)|(ev0[36]nmx)|(ev25nmx)|(kira[0-3]\dtnt)|(4_coop2)|(ls-fd)|(tnt[0-3]\d-\D{2,3}-\d{2,3}-jc)|(funny[12])|(er30-odd))\.lmp/doom2.wad|tnt.wad"
demo_pattern29            "DOOM 2: TNT - Evilution pwad with map31 patch/((er312043)|(ev31-801)|(ev31-819)|(ev31-ssg)|(ev311029))\.lmp/doom2.wad|tnt.wad|tnt31.wad"
demo_pattern30            "TNT - Evilution with map31 patch (some duplication here, in case the 'rules of thumb' need to be removed)/((e[cfvprs]31.[1-9]\d\d)|([3-9]\d\d\dev11)|(tnt-max-map31.*)|(\d\d\d\d\de11)|(ef31-740)|(er31-327)|(er31-503)|(er311453)|(es31-154)|(es31-156)|(es31-241)|(es31-304)|(es31-352)|(es31-402)|(et314503)|(ev31-617)|(ev31-654)|(ev31-744)|(ev31-853)|(ev311104)|(tnt31-gm)|(tnt31all)|(es11-31_xv)|(7127ev11)|(11127e11))\.lmp/tnt.wad|tnt31.wad"
demo_pattern31            "TNT - Evilution Tyson (conflict avoidance with Eternal)/((et01-053)|(et01-055)|(et01-058)|(et01-127)|(et02-855)|(et03-945)|(et044333)|(et052342)|(et061017)|(et073605)|(et082346)|(et093430)|(et103344)|(et111435)|(et121616)|(et132416)|(et141846)|(et151217)|(et162901)|(et172205)|(et193304)|(et2-2019)|(et204337)|(et215137)|(et221523)|(et231535)|(et24-758)|(et252944)|(et262238)|(et314503)|(et3-1443))\.lmp/tnt.wad"
demo_pattern32            "TNT - Evilution/((((e[cfvprs])|(tn))\d\d.\d\d\d)|(\d\d((ev)|(tn))\d\d\d\d)|(\d\d\d\d((ev)|(tn))\d\d)|(tnt[0-3]\d-..)|(tnt[0-3]\d\D.*)|(tnt-[0-3]\d)|(e[012]\d(f|n|r|-).\d\d\d)|(e3[012](f|n|r|-).\d\d\d)|(\d\d\d.e\d\d(f|n|r|-))|(\d\d\d\d\de[02]1)|(ev\d\d.(tgm|ssg))|(ev\d\d-nm)|(ev\d\d-nm\d)|(tn\d\d-nm)|(en1\d.\d\d\d)|(ev\D\D\d\d\d\d)|(((ev)|(tn))\d\d\D\D\D)|(tnt\d\d...)|(tnt\d\d\D\D)|(tnt\D\D\D\D\d)|(ev\d\d\D\D\D.)|(tc12.044)|(tc22.017)|(soulfrag)|(wontdie)|(ev17x038_xv)|(dmeyg[0-3]\d)|(.*_tnt.*)|(tnt_.*)|(tnt-.*)|(scary)|(pnearly2)|(evnm.*)|(ev[0-3]\d\D.*)|(e12n41.*)|(22nm_1794)|(ep03x117.+)|(telebug.*)|(knightsf)|(blooper1)|(funny)|(ec02jump))\.lmp/tnt.wad"

 

Sure, you may not care about demos, but others do.

Share this post


Link to post
20 hours ago, dr_st said:

Demo compatibility specifically with MAP31 or with all maps? If all maps - why?

Only with MAP31, assuming it's the only one you modified :)

 

You probably actually can edit things (the key) without breaking demo compatibility, as long as having the key doesn't activate a yellow door. Whether demo compatibility matters to you mainly depends on if you like watching speedruns.

Share this post


Link to post
Posted (edited)
19 hours ago, Grazza said:

We've been through this before (a lot of useful info in that thread on various points, including from Ty himself).

Wow, you have fantastic memory. I totally forgot that I participated in that thread. And I must say that I am far less extreme now than I used to be. :)

 

2 hours ago, chungy said:

You probably actually can edit things (the key) without breaking demo compatibility, as long as having the key doesn't activate a yellow door.

Judging by my reply in aforementioned thread, that's probably what I did. Although maybe I actually had the nodes rebuilt which can potentially break many things. I guess hex-editing the flag in the WAD is the safest approach.

Share this post


Link to post

As far as demos go I guess people just have to specify whether they used anthology or original edition and whether they used tnt31.wad or not.

 

As far as multiplayer hosting goes, I would do this:

Use the anthology iwads ,but make a tnt10n31.wad with the best fixed versions and a plu12n23.wad with those maps in it even if they're fixed in your iwad.   Those pwads should sync up anyone using different version iwads.

 

Otherwise, playing the Anthology tnt.wad while using tnt31.wad fixes it all the way.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×