Adventures with Doom ports

When using a single pwad file for multiple Doom ports there are issues. I did pretty much all of my testing of Vae Victimus in Zandronum and LZDoom. Once it was finished and released, I loaded it up in ZDaemon... just for giggles.

So here's a screenshot at the beginning of Vae Victimus in LZDoom:

And here's the same scene rendered in ZDaemon:

Any stock Doom 2 textures aren't painted. But all of the textures I'd custom made and included are painted as well as all flats, whether they're stock Doom or custom flats by me. But freakier than not painting anything at all, where stock Doom 2 textures would be, instead is one specific custom texture of mine: aquapipe. Did a little research on this one and found out that ZDaemon only reads one set of the PNAMES and TEXTURES lumps. Or more correctly stated, ZDaemon doesn't merge those lumps if it encounters them two or more times. Rather, the last PNAMES and TEXTURES lumps read better have all of the textures you want listed in them.

To test this or prove the point, I removed the PNAMES and TEXTURES lumps from my custom map file and this is the result:

Now, none of my custom textures are shown but all of the stock Doom 2 textures have returned. Wherever my custom textures would have been are now painted with the ashwall2 stock Doom 2 texture... INCLUDING THE SKY!!

I began to think, what would it take to make this map work with ZDaemon? In most of the cases, it was easier to import a new texture I already had lying around on my hard drive than to export an actual Doom 2 resource to a file to be reimported into the pwad.

Some things that I used to have painted with a gray texture are now painted with a brown or green texture, so what!

Another issue were my sidelites used in a few places in the map. They were being cut off after 16 pixels in the X direction and then would repeat from the beginning.

Once again, here's the screenshot of this screwup:

Here, no Internet research was required on my part; I knew what the problem was. My sidelite texture was only 24 pixels wide by 128 pixels tall. Because I've been monkeying with Doom mapping going back to before ZDoom, I surmised that the custom texture needed to be the standard 64 pixels wide most stock Doom textures are.

I just made a new texture 64 pixels wide which incorporated the original:

I knew going into this little mental exercise that there were going to be things I just couldn't sanitize for use in ZDaemon. Since adopting Zandronum as my targeted platform of choice, I've been exploring many of the added features that it supports. Alot of those features are implemented through the DECORATE lump. Among those are extendable actor definitions. The health kits I'd used in Vae as well as in Chap DM 3 don't use the standard red cross due to the issues I wrote about here. Besides their custom sprites, they actually supply non-standard amounts of health as well. That goes out the window with ZDaemon which doesn't support the DECORATE lump. I can keep any custom sprite but it's limited to however many frames are in the original item, therefore most animations, like my cell pack replacements, are gone.

And that means my railgun sprites were limited by ZDaemon's built in amount of frames too. So, ZDaemon users don't get this fancy animated railgun that Zandronum users have.

Robotron INDUSTRIES, (c)2024 Copyright Chap Software,
All Rights Reserved