soner du Posted January 1, 2013 I want to spread some Doom love among my friends, as legally as possible (free WADs, not modifying Id Software stuff). I'm OK with Freedoom, except I hate their troopers & sergeants. One thing I want to do is using the Freedoom IWAD with the sprites & textures available in DOOM1.WAD, the shareware WAD. It's easy to do it in the ZDoom family, and also in 3DGE, with the arguments : "-iwad doom2.wad -file DOOM1.WAD" Chocolate Doom won't run the Freedoom IWAD, but a mix'n'match perfectly works when using another PWAD and the "-merge" argument, for example Alien Vendetta : "chocolate-doom.exe -iwad doom2.wad -merge DOOM1.WAD -file AV.WAD" Is it possible to do something similar in PrBoom, Eternity and other source ports ? ZDOOM is cool, but I'm just curious... (and I like Eternity and PrBoom) 0 Quote Share this post Link to post
Maes Posted January 1, 2013 Boom and its derivatives automatically do what the -merge switch does in Chocolate (it was one of the very first fixes introduced by Killough). Chocolate has that "behave exactly like doom.exe" clause in its contract, which would normally "forbid" it from doing the same, but the -merge switch was added anyway as a courtesy/convenience. 0 Quote Share this post Link to post
soner du Posted January 3, 2013 PrBoom-plus can not run the freedoom doom2.wad with DOOM1.WAD resources. "glboom-plus -iwad doom2.wad -file DOOM1.WAD" just launches DOOM1.WAD, basically (and crashes). The mix works with PWADs, though : "glboom-plus -iwad doom2.wad -file DOOM1.WAD AV.WAD" runs the Alien Vendetta PWAD, with DOOM1.WAD textures & sprites, and other textures from the Freedoom doom2.wad. Eternity starts the Freedoom doom2.wad with DOOM1.WAD sprites & textures, as expected, but textures from doom2.wad are ignored... 0 Quote Share this post Link to post
Gez Posted January 3, 2013 ZDoom is the only port to ever implement cumulative texture lumps. That's why you will only get the doom1.wad textures. You can be sneaky and edit the freedoom IWAD to rename TEXTURE1 into TEXTURE2, but PNAMES aren't cumulative either so the Freedoom textures will look very weird. 0 Quote Share this post Link to post
Maes Posted January 3, 2013 soner du said:PrBoom-plus can not run the freedoom doom2.wad with DOOM1.WAD resources. "glboom-plus -iwad doom2.wad -file DOOM1.WAD" just launches DOOM1.WAD, basically (and crashes). That's because it "sees" two IWADs, and the IWAD priority mechanism selects DOOM1.WAD (I'm surprised that the -iwad switch doesn't get absolute priority, though, that's something that probably needs fixing). Try a "WAD gender changer" tool that switches the IWAD marker for PWAD. @Gez: yeah, that's another sore point... so if you want to use DOOM1.WAD as a resource wad, you'll also need a "helper" PWAD with cumulative (precomputed) TEXTURE1/2 and PNAMES lumps. That is, if you want broad compatibility. 0 Quote Share this post Link to post
RestlessRodent Posted January 3, 2013 Gez said:ZDoom is the only port to ever implement cumulative texture lumps. That's why you will only get the doom1.wad textures. No. ReMooD also supports such things too, not only ZDoom. Therefor if one did `-iwad freedoom.wad -file doom1.wad av.wad` you would get the following precendence: AV, then DOOM1, then FREEDOOM. So basically for sprites, textures, sounds, etc: * The SSG, BFG, and Plasma are Freedoom, while the remaining guns are Doom (from DOOM1) * Textures that do not exist in DOOM1 are using FREEDOOM textures instead. A screenshot is easier: 0 Quote Share this post Link to post
DaniJ Posted January 4, 2013 Gez said:ZDoom is the only port to ever implement cumulative texture lumps. That's why you will only get the doom1.wad textures. No. Doomsday does this also. 0 Quote Share this post Link to post
RestlessRodent Posted January 4, 2013 There would be a problem using this with The Ultimate FreeDoom, but ReMooD can do per WAD level switching anyway. 0 Quote Share this post Link to post
fabian Posted March 27, 2013 Maes said:That's because it "sees" two IWADs, and the IWAD priority mechanism selects DOOM1.WAD (I'm surprised that the -iwad switch doesn't get absolute priority, though, that's something that probably needs fixing). Try a "WAD gender changer" tool that switches the IWAD marker for PWAD. Do you have a clue how/where to fix this in prboom-plus' code? 0 Quote Share this post Link to post
fabian Posted April 13, 2013 fabian said:Do you have a clue how/where to fix this in prboom-plus' code? To answer my own question, I have supplied the following patch to the corresponding bug [1] in prboom-plus' bug tracker on sourceforge:--- a/src/w_wad.c +++ b/src/w_wad.c @@ -253,6 +253,12 @@ static void W_AddFile(wadfile_info_t *wa } strncpy (lump_p->name, fileinfo->name, 8); lump_p->source = wadfile->src; // Ty 08/29/98 + + // IWAD file used as recource PWAD must not override TEXTURE1 or PNAMES + if (wadfile->src != source_iwad && !strncmp(header.identification,"IWAD",4) && + (!strnicmp(fileinfo->name,"TEXTURE1",8) || + !strnicmp(fileinfo->name,"PNAMES",6))) + strncpy (lump_p->name, "-IGNORE-", 8); } free(fileinfo2free); // killough It prevents IWADs that are not used as *the* current IWAD from overriding the current IWAD's TEXTURE1/2 and PNAMES lumps. I admit it is a bit hackish, but it works for the decribed use case: "prboom-plus -iwad freedoom.wad -file doom1.wad" works as expected. Furthermore, PWADs that supply their own TEXTURE1/2 lumps for a reason are still allowed to do so (but for additional IWADs this is usually wrong). It fails, however, for IWADs that declare themselves as PWADs like CHEX.WAD or DOOM.WAD and DOOM2.WAD from the Doom 3 BFG Edition. A more clean solution would be to introduce the aforementioned cummulative TEXTURE and PNAMES lumps, but that is bexond the scope of my approach. [1] http://sourceforge.net/tracker/?func=detail&aid=3603569&group_id=148658&atid=772946 0 Quote Share this post Link to post
fabian Posted June 23, 2013 soner du said:The mix works with PWADs, though : "glboom-plus -iwad doom2.wad -file DOOM1.WAD AV.WAD" runs the Alien Vendetta PWAD, with DOOM1.WAD textures & sprites, and other textures from the Freedoom doom2.wad. The reason why it worked with "-file doom1.wad av.wad" (in *that* order) should be that av.wad contains a TEXTURE1 lump based on doom2.wad's that re-overrides doom1.wad's one. However, in recent builds of prboom-plus it should work in any order. 0 Quote Share this post Link to post
printz Posted June 23, 2013 Trying to mix Doom textures is a nightmare. And it's especially a problem if you try to use Doom 2 common texture packs with a Doom 1 pwad. 0 Quote Share this post Link to post
soner du Posted September 19, 2013 soner du said:It's easy to do it in the ZDoom family, and also in 3DGE, with the arguments : "-iwad doom2.wad -file DOOM1.WAD" It now works on the latest test version of prboom+.2.5.1.4.test @ 2013-jul-06 15:36 : Ability to use e.g. doom1.wad as a resource for a doom2 IWAD, e.g. freedoom (prboom-plus -iwad freedoom.wad -file doom1.wad), by Fabian Greffrath.Good work, Fabian ! 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.