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

How do I combine these maps into a new wad?

Recommended Posts

So, it looks like I'm going to get to host a Doom tournament at a local gaming convention. I got to do this last year, but there is one thing I feel I want to change with my set up.

The lineup of maps I'm going to use for the tournament are a mix of maps from Doom 1, 2, and Final Doom. But rather than constantly swapping back and forth between games, I'd like to create a single wad with all of the maps I want in it.
Additionally this would be great for when I have the machines set up for free-play because I could create a wad with JUST the better multiplayer maps, and let the game just run and not worry about the map cycle.

I figure this is pretty simple, but honestly, it is just nothing I have ever done before. I only recently even gave serious thought to any kind of Doom editing, and I haven't built whole wads before. How would I create this wad? How do I extract maps from three different wads and then put them into a new wad?

Share this post


Link to post

Maybe you don't need to edit your iwads at all, as it seems Odamex lets you do that. Maybe that's what you're looking for.

Share this post


Link to post

First of all, distributing a wad containing maps from the commercial IWADs wouldn't be legal.

Secondly, Doom 1, Doom 2 and Final Doom each use a different texture set and different music set, which would add quite some work if you wanted to make sure they work properly as part of one wad.

The above two reasons is why I recommend you to take another solution than combining the maps into one wad as you planned.

Finally, copying just maps from one wad to another is trivial. Open the source wad, find the respective map's lumps (range of lumps from "MAPxx"/"ExMx" to "BLOCKMAP", where "MAPxx"/"ExMx" is the name of the map you want to copy), copy them into your new wad and possibly rename the first lump, so that each map in your new wad has a unique name (MAP01, MAP02, MAP03...). Possibly copy and rename their respective music lumps as well (each map slot has a hardcoded music lump name, which can be found on doomwiki pages for the respective IWADs). If the map used custom textures or flats, you'd have to copy those too (the non-IWAD content of TEXTURE1 lump + the lumps between patch and flat markers).

Share this post


Link to post
scifista42 said:

First of all, distributing a wad containing maps from the commercial IWADs wouldn't be legal.

I'm not distributing them; this is purely for personal use. But thank you for the reminder.

scifista42 said:

Secondly, Doom 1, Doom 2 and Final Doom each use a different texture set and different music set, which would add quite some work if you wanted to make sure they work properly as part of one wad.


Are the textures for the levels really unique to each game?
Sure, textures like the level names, (why are they each a unique texture? Makes no sense to me,) the title and intermission screens, those are all unique to each game. But are there really normal wall and floor textures that are unique to Doom 1? I admit I haven't carefully studied the resources, but I was under the impression that Doom 2 just extended all the assets of Doom 1; it uses all the same textures plus some new ones, all the same enemies plus some new ones, and so forth. If I just directly copied a map from Doom 1, would it really not work?

The music is worth considering, but is honestly a secondary factor.

My thinking was I would make this to be just a standard pWad for Doom 2, just like the ones I've seen that contain new multiplayer maps, but the maps it would contain would just "happen" to be maps from Ultimate Doom, Doom 2, and Final Doom. I guess it would contain music that "happens" to be from those games as well.

But honestly, I have never really done any of this wad editing before. All I've really done is look inside a wad with Slade, when I was curious about what was in it. Is there a "getting started" tutorial that explains the basic creation of a new wad? Honestly I'd appreciate one that explains a lot of the ins and outs of what is and is not contained in wads and how they are used; most of what I understand I've just picked up from context and there could be stuff I have misinterpreted or didn't know about.

Share this post


Link to post

I really haven't attempted to do this, so I can't really help you a lot, but I can add that you also have to consider some levels (MAPS 07 and 15 & 31) have special actions (special tags and secret exits respectively), so you'll probably have to use some advanced port to work around that.

Share this post


Link to post

Using Zandronum, you can load Ultimate Doom and Doom 2 at the same time by loading one as a IWAD and the other as a PWAD, and then loading doom1doom2mapinfo.pk3. I didn't make it. I got it from the Zandronum forums 2 years ago. There will probably some minor texture conflicts because there might some textures in Doom 2 with the same name as in Doom, but not look exactly the same. This won't help you with Final Doom, however, because those maps will have the same names (MAP01, etc.) as the ones in Doom 2.

Share this post


Link to post

Okay, I tried copying over the levels into one wad.

I can indeed play the maps from Doom 1; they work, functionally. But some of the textures have turned into a default grey-rock texture. So, it looks like there are indeed textures from Doom 1 that are not in Doom 2.

I thought I might just copy over the textures from Doom 1 so that they would be accessible, but I could not seem to find any of the textures I tried to look up by name. So ultimately I just tried to copy over ALL the textures; everything from P_START to F_END.
But when I tried playing this new wad, I still was missing all the same textures.

So I'm not sure what the problem is and how to fix it.

Share this post


Link to post

The graphic lumps between P_START and P_END are just patches. Textures (each of which is composed of one or more patches) are defined within a TEXTURE1 (possibly TEXTURE2) lump and also require presence of a PNAMES lump. SLADE3 allows you to open TEXTURE1 lumps in multiple wads and copy-paste textures between them, and the corresponding patches will be transferred automatically and PNAMES appropriately modified also automatically.

Share this post


Link to post

Okay, I've been reading those wiki pages you linked to, and poking around in Slade to try to make sense of this.

Okay, so the patches are the actual graphic data, and the textures are just commands for how to combine all these patches into the actual artwork seen in the game.
...I guess that makes sense to keep the installation size down, even if the system memory still requires the same amount. But printing fewer 3.5's is going to save a lot of money in the long run, so I can see why they did it.

Alright, so let me back up a minute here and make sure I've got some of the fundamentals right.
There are pwads and iwads. The iwads are the wads made by Id and have the original game data. pwads are player wads with the user-created content. (Although how the system detects if it is an iwad or pwad short of recognizing the name is something I do not know.)
So the way the system works is that it loads an iwad to have the whole game content, and then pwads will extend that content, either adding new content or overriding original content. Any content within the pwad that has the same name as content in the iwad will be used instead of the content in the iwad. Hence, if you want to play a new map, the new map has to override an existing map. And of course, if you add totally new content, you can certainly do that just by giving it a new name, and then the game will load both the original content and the new content.

I've only inferred that by context, and I want to a moment to ask: is this right? Are these fundamental concepts correct as I understand them?

So moving on from that, adding new textures.
Since the textures for Doom 2 are all contained in a single file, if I want to add any new textures from Doom 1, I need to copy over the entire "Texture1" file into my pwad, and then amend the texture file with new entries, and said entries would be the textures I copy over from Doom 1's texture files.

This feels like a very convoluted way to handle it, but I've done this. I don't know if there is some easier or better way.

Just to test things out, I just straight-up copied over all of the patches and all of the textures from Doom 1, just to see if it is working.
Thankfully, Slade seems to have handled all of the PNames stuff for me, because I didn't touch any of that but the new textures are working.

Next I suppose I would try re-importing all the textures and check them individually for different textures with the same names.
So far, the only place I see that occurring at is with the skies.
But the skies are not handled in the map itself, right? So, where do I go to edit what skies are used on what level? I'll need to adjust them anyway since I've re-ordered all of the maps.

Share this post


Link to post

Your assumptions look spot on to me, including how to add textures. To specify the sky for the maps, you need a MAPINFO lump. Search for it in the wiki and it will tell you everything I know and more. The pk3 I linked earlier gives you a pretty good example of a MAPINFO lump.

Share this post


Link to post

Okay, my MapInfo is breaking my wad.

I created a text file named "Mapinfo" and imported it into my wad. It just contained this:

map MAP01 "Hangar"
{
sky1 = "SKY1UX"
music = "D_E1M1"
}

It clearly was working to some extent, because it successfully renamed the level to "Hanger" and displayed this on all appropriate screens.
However, the sky just reverted to the default Ashwall texture, and no music played whatsoever, and when it finished playing Hanger it just started Hanger right back up again instead of moving to MAP02.

I had earlier re-imported all of the textures from Doom 1, and went through checking each individual texture for ones that were different but with the same name. (It was just the skies, a couple steps, and a few switches.) So now the Doom 2 skies retain their original names, and the Ultimate Doom skies are named SKY1UX, SKY2UX, etc.
I also copied over all the Doom 1 music.

But that mapinfo cause the sky and music to bork out. And here's what is really getting me: I tried as a test to just change the level name, and edited the MapInfo so the content in the brackets were gone. There was nothing in the MapInfo except the map name. And yet, it still retained all the same problems. The sky was Ashwall, the music was gone, and it would not cycle to any new levels.

I deleted the MapInfo outright and it went back to properly functioning, but with the Doom 2 sky, music, and level names.

In case this is relevant, I will mention that I am running this through ZDaemon, just running this as a multiplayer game.

EDIT:
Never mind! I found the problem!
I'm using the wrong MapInfo format; ZDaemon uses the OLD ZDoom format. So I updated it with this:

map MAP01 "Hangar"
sky1 "SKY1UX" 0
music D_E1M1
next MAP01E
map MAP02 "Toxin Refinery"
sky1 "SKY1UX" 0
music D_E1M3
next MAP24
map MAP01E "Entryway"
sky1 "SKY1" 0
music D_RUNNIN
next MAP02

Since I could find no complete examples of how to use this format, it took a lot of experimenting to get it to work right. Apparently ZDaemon does not appreciate missing data, and I couldn't even let the map cycle do anything without mentioning the "next" level.

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
×