$title="Inserting new flats and sprites"; $focus="doom"; include("/var/www/doomworld.com/public_html/php/before.php"); include("/var/www/doomworld.com/public_html/php/dirstruct.php"); ?>
Inserting new floor textures
First, how to insert new flats without the need to extract all old flats to your new wad as well. The way to do this is to insert these new flats between two entries called FF_START and F_END. If you don't know how to make these entries, you can download a tiny zipped wad called entries.zip from this site (0,17K). This wad contains all the entries mentioned in this news section. An example: let's say you have a wad with your new flats called MYWAD.WAD and the ENTRIES.WAD. With NWT you can first extract the FF_START entry to a new WAD called eg. NEWFLATS.WAD (that is, load by pressing ALT-L in NWT, select ENTRIES.WAD, highlight FF_START, press F4, output file called NEWFLATS.WAD, press ENTER), then the new flats, and conclude by extracting F_END and voila! you can play NEWFLATS.WAD without the need to extract all the old flats as well.
Inserting new sprites
This one's a bit trickier... it has cost me two days to re-arrange the Mordeth WAD this way =P. To do this, you need both NWT (or Deutex) and Dehacked. Say, you are going to use the entry of the Baron of Hell (BOS2) for your new monster. Make new graphics for it and insert them in the old way, but between the entries SS_START and S_END. An example: say a new sprite graphics is called MONSA1.PCX (first walking frame, facing player). Fire up NWT, first insert the SS_START entry in a new WAD called eg MYMONS.WAD, select the BOS2A1C1 entry and press F8: input file MONSA1.PCX, output file MYMONS.WAD, fill in correct X and Y values and the offsetts. If you don't know the correct offsetts, just enter the ones given by NWT. After you have inserted your new sprite graphics to MYMONS.WAD, extract the S_END entry as well. Now, load up this new wad and change the names of your new entries from BOS2A1C1 to eg MONSA1. Replace the BOS2 part for MONS for all your entries. To complete this process, fire up Dehacked and switch to the text editing section. On the bottom of this list are all the monster entries. Look for the BOS2 one and change it to MONS. Save your changes and patch a copy of your Doom2 exe. That's it! Now you can play your new sprites WAD with this patched EXE !
But there's more to it. You are not limited in the number of different frames. That means you can define new frames like MONSY1 or MONSZ1 ! You also do not have to limit yourself to the arrangment of the original frames. In my example the BOS2 walking frames are A1C1, A2C8, etc, B1D1, B2D8 etc, meaning that eg C8 is a mirrored version of A2. But you can also define new frames like A1, A1A8, A2A7 etc or just A1 to A8. One remark tho... I found that not all sprite entries worked. When I tried to replace the SSWV, POSS, SKEL, BSPI and SPID entries the same way, Doom2 hung up on me after the 'init refresh daemon' part. For the life of it I don't know why, but that is what happened. I had no trouble replacing the FATT, CYBR, MANF, FATB and BOS2 entries.
Time for a final word on overal WAD arrangment. If you have new flats, textures, sprites, music etc etc in one wad (like I now now have) you need to arrange your WAD in a certain way. Let's say that "S" stands for sprites, "T" for wall textures, "F" for flats and "LR" for levels, intermission screens, music, sound, status bar graphics, palette info etc etc, then your WAD should look like this (entries stated from top to bottom):
LR+SS_START+S+S_END+PP_START+T+PP_END+FF_START+F+F_ENDinclude("doombot.php"); ?> include("/var/www/doomworld.com/public_html/php/after.php"); ?>