slowfade Posted February 21, 2023 (edited) I'm trying to make a texture resource (a wad file with just a temporary room as its map data), which I can load in DBX as a resource and run the game with two pwads, this texture resource and the map I'm actually working on. The idea is to have a separate wad for textures that all maps, in individual wad files, use. It's an issue of workflow, and at the end of the production, in some distant future, all the map data from individual files will be saved into the texture wad. This is for vanilla Doom 1. I need specific help for Doom 1, not Doom 2. I tried to do something, and got a texture into the game, but after I deleted the SLADE dummy graphics and texture patch, my own texture stopped showing in the game but still shows in DBX and in SLADE itself. So I figured I'd better ask step by step how to do this correctly. And why does SLADE show all the graphics in black and white when I browse DOOM.WAD in TEXTUREx Editor? At some point it showed the graphics correctly but I don't know why or how. I need to understand how to set up an empty wad file correctly. That's what I really want to know. Say, I save a simple room as a map in DBX. I need to know the exact procedure how to get it Doom1-ready with new textures. All the info I find is too confusing and is about Doom 2. It can't be this difficult! Edited February 21, 2023 by slowfade mention vanilla 0 Quote Share this post Link to post
SMG_Man Posted February 21, 2023 2 hours ago, slowfade said: I tried to do something, and got a texture into the game, but after I deleted the SLADE dummy graphics and texture patch, my own texture stopped showing in the game but still shows in DBX and in SLADE itself. Due to the way Doom handles texture indexing, the first texture in the index (position 0) will not appear properly in-game. If you look at any Doom-based game, like Doom, Doom 2, Heretic, Hexen, etc. you will notice that the first texture listed is always named something like "AASHITTY" since they're sorted alphabetically. If you try using those textures in a map, they'll functionally be the same as not setting a texture at all. With that in mind - SLADE automatically makes a dummy texture for you as a convenience. If you delete it, then whatever's the new first texture in your WAD will no longer work. Either re-do your texture list and keep the SLADE dummy texture, or make your own dummy texture that occupies the first position in the index; it doesn't matter in the end. 2 Quote Share this post Link to post
slowfade Posted February 21, 2023 Grieferus: I did yes. In the editor settings, if that's what you mean. SMG_Man: Ah, thanks for explaining. Now that part makes sense at least. 0 Quote Share this post Link to post
SMG_Man Posted February 21, 2023 2 hours ago, slowfade said: which I can load in DBX as a resource and run the game with two iwads, this texture resource and the map I'm actually working on. There is some important nomenclature here, so allow me to break it down quickly: Doom stores most data (level geometry, enemy sprites, textures, music, sound effects, menu graphics, and more) inside WAD files. There are two types of WADs - IWADs and PWADs. An IWAD is a functionally complete game by itself, such as Doom 2, Hexen, Strife, and so on. You should never load more than one of these at a time, because they contain heavily conflicting data. A PWAD only includes some new things, like new (or replacement) textures and maps, and cannot be run on its own. They must be loaded alongside an IWAD to actually be played. PWADs could be any number of things - new maps, a texture resource, music replacer, etc. If you want to make a texture pack, then you're making a PWAD. There is no difference whatsoever in setting this up if it's intended for Doom 1 or Doom 2. If you found a tutorial but it's making reference to "Doom 2", you can just as easily use it for Doom 1. The process is the exact same. 0 Quote Share this post Link to post
slowfade Posted February 21, 2023 Sorry, I made the worst typing error, I thought about pwads but wrote iwads... All the tutorials advice to use TEXTURE2 which they say is empty. But it's not empty in Doom 1. That's a big difference, for one. And do they (the graphics) have to be between P1_START and P1_END or P2_START and P2_END? Presently my test graphic is between just P_START and P_END and works. If I add textures that become unnecessary, can I remove them? Or will that destroy some kind of indexing? The walls are referred by their name strings in the map data, right? So their order in the wad shouldn't matter in case it changes? 0 Quote Share this post Link to post
SMG_Man Posted February 21, 2023 8 minutes ago, slowfade said: All the tutorials advice to use TEXTURE2 which they say is empty. But it's not empty in Doom 1. That's a big difference, for one. If you're shooting for strict vanilla compatibility and want the stock textures to still be available in your maps - you will need to set a "Base Resource Archive" in SLADE. This option is in the upper right corner of the editor: Spoiler Do that and select your Doom 1 wad. Next, import all of your patches/finished textures into an empty WAD, and put them between P_START and P_END markers. Make sure they're in the Doom graphic format, then highlight all of them, right click, and find the option to "Add to TEXTUREx" Spoiler You will get a message saying "No Texture Definitions found" that asks if you want to create or import a texture definition list. Choose "Yes", and in the next window, choose the option to "Import from Base Resource Archive": Spoiler Voila, SLADE will recreate the original Doom 1 TEXTURE1/TEXTURE2/PNAMES entries, then add your new patches and textures to them as needed: Spoiler It shouldn't matter whether you add new textures to TEXTURE1 or TEXTURE2 from here. If you add more textures to your WAD after doing this initial setup, it's a lot faster. Just put the additional textures between P_START and P_END, choose the "Add to TEXTUREx" option, and that's it: Spoiler Note: This is for strict vanilla compatibility (i.e., for use with Chocolate Doom). If you're targeting a Limit-removing port or higher (Crispy Doom or anything more advanced), then you can simply tell SLADE to make your texture list from scratch and not worry about importing the list. For more advanced ports, the number on your TEXTUREx lump will not matter, because they will load every TEXTURE list together instead of only the last one in the load order. I hope this makes sense. 2 Quote Share this post Link to post
slowfade Posted February 21, 2023 (edited) Thank you so much. This is exactly what I needed. Finally it's starting to make sense. Yes, I'm making a vanilla wad -- another thing I forgot to write! I want and need to learn this procedure throughoutly, both because of necessity and of low-level engine interest. I want my wad to run in original Doom 1 via dosbox. This also explains why my test map worked and displayed original Doom 1 textures even if my texture wad didn't contain them. I kept puzzling about that, because several times I've read the entire TEXTUREx data is replaced when a pwad is loaded, and my one-texture pwad clearly did not have the original texture definitions. It was because Crispy (and I tested in Crispy) doesn't overwrite the TEXTUREx data with the last read version but just adds it to the list (unlike vanilla) -- or so I'm guessing. One more question: Your procedure uses "Add to TEXTUREx". I assume that is just automation for not needing to make the actual texture patch manually. Can I do all this manually by choosing "Add to Patch Table" -- will that, too, create the required TEXTURE1/TEXTURE2/PNAMES and I can then create the new texture patch manually? Edited February 21, 2023 by slowfade 0 Quote Share this post Link to post
slowfade Posted February 21, 2023 Answering my own question: Yes, the patch table way works too. Everything works just as I planned. Textures in one wad, map data in another. Thanks again! 0 Quote Share this post Link to post
Gez Posted February 21, 2023 5 hours ago, slowfade said: And why does SLADE show all the graphics in black and white when I browse DOOM.WAD in TEXTUREx Editor? At some point it showed the graphics correctly but I don't know why or how. Doom graphics are paint-by-number. Without the key to know which color goes to which number, also known as a palette or PLAYPAL for the name of the resource in Doom, SLADE just uses grayscale. If you set Doom.wad as the base resource archive for SLADE, then it'll be able to see the correct colors to use from Doom's PLAYPAL. 1 hour ago, slowfade said: One more question: Your procedure uses "Add to TEXTUREx". I assume that is just automation for not needing to make the actual texture patch manually. Can I do all this manually by choosing "Add to Patch Table" -- will that, too, create the required TEXTURE1/TEXTURE2/PNAMES and I can then create the new texture patch manually? Doom's textures are composited from patches. Slade's "Add to TEXTUREx" adds the graphics to the patch table (if it isn't already there) and creates a new texture with the same name and dimensions that uses this graphic as its patch. Whereas Slade's "Add to Patch Table" features only does the first step, adding the graphics to the patch table if it isn't there already. Usually you'll want to add to the TEXTUREx entry directly, the only reason to prefer "Add to Patch Table" is when you want to add something that'll just be a patch to be composited on other textures, like a switch patch for example. 0 Quote Share this post Link to post
slowfade Posted February 21, 2023 7 minutes ago, Gez said: Doom graphics are paint-by-number. Without the key to know which color goes to which number, also known as a palette or PLAYPAL for the name of the resource in Doom, SLADE just uses grayscale. If you set Doom.wad as the base resource archive for SLADE, then it'll be able to see the correct colors to use from Doom's PLAYPAL. Ah, that explains it. It seems at first I hadn't set the base resource properly until SMG_Man's instructions; I had defined it in program settings but not actually selected it in the upper right corner Base Resource field. No problems any longer. Yeah, there isn't much sense in doing the patches by hand other than personal interest in the process. (And to save a little space to form the textures the way ID did, pointless as that might be today.) 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.