DeuTex version 2.1 10/94 Copyright (C) Olivier Montanuy 1994. Legal Stuff: see the end of this file. **************** EXECUTIVE SUMMARY ****************** DeuTex stands for DEU's Texture Companion. (DEU is a DOOM level editor by Bendon Wyber and Raphael Quinet. and DeuTex was originaly derived from the code of DEU 5.21) DeuTex is *the* tool you all need to compose easily new PWAD for DOOM. It let you include: Levels (use a level editor like DEU, build the nodes with (BSP and the reject data with REJECT) Sounds (from WAV or AUDIO files, from MUS file obtained (from MIDI2MUS, or from text, for PC speaker sounds) Lumps (create demos with DOOM -devparm -record DEMO1) (create the ENDOOM text with TED) Graphics (from GIF or BMP files) Textures (from definitions in a text file) (a Windows Texture composer is being developped) Patches (from GIF or BMP files) Sprites (from GIF or BMP files) Flats (from GIF or BMP files) DeuTex should allow you to compose easily the PWAD you dreamt of, mixing levels and missions (from other WADS), textures, sprites... DeuTex also allows you to rip off entries from an existing PWAD in order to reuse those entries or to fix a problem in a PWAD (but first make sure you have the consent of the PWAD author's) DeuTex will merge a PWAD into your main IWAD, so as to overcome all the limitations of PWADs. Of course, the IWAD can be restored, and the PWAD regenerated. DeuTex also allows you to modify text strings in the DOOM executable (Dehacked can do that too. this is only provided for convenience) DeuTex is compatible with all versions of DOOM1 and should work with DOOM2 (I could not check). ATTENTION: DeuTex is not completely trivial to use. It requires a fully functionnal processing unit, with a least 10000 meg of available neurons, some basic DOS and DOOM specs dynamic libraries and at least 1 or 2 hour of spare processing time, with a minimum of 80% attention rate. You have been warned. ********************* THANKS ********************** DeuTex would not have existed without the help of those people: Steve McCrea (author of TRINITY.WAD and DOOMTEX.) Raphael Quinet (quinet@montefiore.ulg.ac.be) (examples of GIF code... and DEU code too) Elias Papavassilopoulos (ep104@cus.cam.ac.uk) (Doom technical informations) Matt Fell (matt.burnet@acebbs.com) (Doom specs version 1.3) Keith Wilkins (spike@nectech.demon.co.uk) (creator of Wacker, a texture composer. try it!) Tom Neff (tneff) (Doom technical information) ID software (help@idsoftware.com) (for the DeuTex test bench, also known as 'DOOM') Thanks to all of you who reported bugs and proposed corrections ***************** CONVIVIALITY ************************ DeuTex has NO human interface. I will seriously frown upon complaints about the lack of human interface. DeuTex IS MEAN TO BE RUN IN BATCH. Think of DeuTex as a PWAD compiler. You write your batch once, then you only have to double click on the batch to recreate your PWAD, each time you modify an entry. Writing DeuTex took a lot of time. I'm not sure I can afford more on a freeware Tool. I have a job too... and now DeuTex is released I *do* intend to have a life. You want a graphic interface? wait for DEU6.0 ***************** DIRECTORY STRUCTURE**************** DeuTex uses this directory structure to store DOOM entries: levels\ * for levels as 11-entries PWADS (with NODES,BLOCKMAP,REJECT already calculated) lumps\ * for lump as raw binary data (.LMP) for DEMO, ENDOOM, PLAYPAL... textures\ * for texture definitions as text file (see format.txt) sounds\ * for sounds as .MUS format for music (can be obtained from MIDI files) as .WAV file for soundcard sound effects as raw .LMP data for PC speaker sound effects graphics\ * for DOOM pictures as bitmap (.BMP) or GIF files (.GIF) sprites\ * for sprites as bitmap (.BMP) or GIF files (.GIF) floors\ * for floors as 64x64 bitmap (.BMP) or GIF files (.GIF) patches\ * for wall patches as bitmap (.BMP) ot GIF files (.GIF) substit\ * for text strings as text files (see format.txt) ****************** DISCLAIMER ************************ This program is an ordinary DOS executable, compiled in HUGE memory model, with 386 instructions.It might not run under a 286. It was tested on Compaq LITE 4/33c and IBM Thinkpad 755c. I cannot be liable for damages consecutive to the use of that program. I did my best to avoid this, and use only very basic commands, but it is not possible to state that these will work for every hardware and software configuration. **************** Hardware Requirements ********************** Compiled for 386. Does not make use of coprocessor. Should run with about 500k of free base memory, or less. **************** User Requirements **************************** Please read the Manual and the Advanced\ directory before asking questions. My time on the net is limited. Bugs report are appreciated if they come with the associated configuration files. **************** Special Features ************************ - Particular to this program: * DeuTex can list text strings in DOOM.EXE DeuTex can replace strings among those listed. CAREFUL WITH THIS. (it is not 100% possible for a prog to decide what is a C string and what is not) FUNNY: - Replace the names of objects, - Replace messages from DOOM (in game, but also at the end of missions) - Choose the names of the animated walls and Floors. - Choose the names of the walls with switches NOT FUNNY: DO NOT REPLACE THE COPYRIGHTS AND COMMERCIAL NOTICES OF IDsoftware. YOU ARE NOT ALLOWED TO USE DeuTex FOR THIS. * DeuTex directly loads .GIF and .BMP pictures in PWAD Avoid the 24bit BMP format! use 8bit (256 color) and have the color quantisation done by a serious program. mine is lame. * DeuTex can merge a PWAD into the IWAD, and recreate the whole WAD directory, so that all kind of FLOORS can be defined. (in fact, all can be redefined, keeping only the adds on in PWAD) * DeuTex can ripp off graphics .BMP and lumps out of your favorite PWAD, for contemplation or reuse WITH WAD AUTHOR AGREEMENT ONLY. * DeuTex can check your PWAD for errors in TEXTURE definitions * DeuTex can load sounds as WAVE, PC sounds as text (don't laught) and Music as MUS format. - Valid for all textures editors/compilers: * Create any texture you want for DOOM walls DOOM will ignore heights above 128. Width should be rounded to the next power of 2. (8,16,64,128,256,512,1024 are usable) The patches composing textures shall not be more than 320 wide. * Create textures for transparent walls beware: composed of one patch only, else you'll get the Medusa Effect. * Create animated walls with (almost) any sequence of pictures. No known limit in number of frame. 12 is OK. See DOOM SPECS 1.3 for more info. 2 ways: - You declare your animated walls, in the texture list between two other DOOM animated walls (which you shall redefine also) - You use DeuTex to change, inside DOOM.EXE, the name of the extremity of the animated walls and flats. * you can change the definition of the walls bearing switches. let them swith to something else. * You can use almost all the graphic entries for texture composition: - sprites (like in TRINITY.WAD) - existing wall patches - newly defined wall patches But DON'T use the DOOM font STCFNxxx, or reload it with another name, like in TRINITY version 2. (info from Elias Papavassilopoulos) * Create a non repeating sky texture: see TRINITY version 2. define the SKY1 (or SKY2, or SKY3) entry as a 1024x128 area and place your patches so as to cover it all. Your patches will appear horizontaly inverted, though. 0=south, 256=east, 512=north, 768=west. * for best results, see the explanations of TRINITY.WAD by Steve McCrea ******************** DeuTex Commands **************************** All the optionnal commands must appear before the non optional ones else they will be ignored. (talk about commandline parsing!) * Help commands DEUTEX -help won't help you a lot, but will give you the parameters. DEUTEX -format will print the format of WAD creation directives. You might prefer to have a look at format.txt. * Optionnal commands DEUTEX -doom OPTIONAL COMMAND DEFAULT IS: CURRENT DIRECTORY or \DOOM or \DOOM2 use that command to indicate the directory where you put your DOOM.WAD and DOOM.EX example: -doom C:\DOOM DEUTEX -dir OPTIONAL COMMAND DEFAULT IS: CURRENT DIRECTORY This defines the working directory, which contains WAD creation directives and all the subdirectories containing PWAD parts DEUTEX -deu OPTIONAL COMMAND Use this if you want DeuTex to add 64k of junk at the end of your PWAD. What for? to compensate a bug of DEU 5.21, that make it crash sometimes, when viewing pictures. DEUTEX -gif OPTIONAL COMMAND save as pictures as GIF instead of BMP DEUTEX -sprite DEUTEX -patch DEUTEX -sound OPTIONAL COMMANDS to be use with -xtract, to extract only sprites, or only wall patches, if you lack space on your hard disk (who doesn't!) DEUTEX -iwad OPTIONAL COMMAND to be used with -make, to make an IWAD instead of a PWAD. This is necessary if you are building a complete sprite PWAD. tested on DOOM.WAD: decomposed then recomposed. * Commands to decompose and recompose PWADs DEUTEX -wadir Directory list, with entry identification. in PWADs, exact entry identification is sometime impossible. then SPRITES or FLATS or PATCHES might be reported as GRAPHICS. DEUTEX -void Check for unused bytes in a PWAD. report unused zones, total bytes, and... oh, guess this one. DEUTEX -xtract DEUTEX -extract will extract lumps, graphics, floors, patches, sprites, sounds, levels from a WAD and put them in mydir, into the relevant subdirectory. the file WADINFO.TXT will contain the WAD creation directives. use -dir to specify the working directory See format.txt for the format of WADINFO.TXT DEUTEX -textures list the textures contained in DOOM.WAD (or redefined in a PWAD) into a text file. TEXTURE1 and TEXTURE2 are listed. DEUTEX -make DEUTEX -build DEUTEX -create is read only and defines the entries to put into MYOWN.WAD. see format.txt for explanations. also use DEUTEX -xtractwad will be created, unless it already exist in which case the command will fail. delete it first. this command replaces the utilities DMGRAPH,DMMUS,DMTEX,DMAUD (however DMAUD recognise more than just .WAV and .AU) * command to merge a PWAD into the main IWAD DEUTEX -restore Will restore DOOM.WAD and the merged MYOWN.WAD. To be used after the -merge command, to undo the job. DEUTEX -merge Will put entries of MYOWN.WAD into the main DOOM.WAD file, removing all restrictions DOOM puts on PWAD. This is much safer and much cleaner than inserting/restoring entries with DMGRAPH or such. To be used especially for SPRITES and FLATS. Note on safety: - ONLY 8 BYTES of DOOM.WAD are modified (but file size increase...) - thus you can undo the job by hand, if really needed. - MYOWN.WAD is put INTACT into DOOM.WAD. you can delete it because it will be restored intact. (really: no modifications at all) - Only about 32k of additional disk space are needed. How does it work? - Restoration information is added at the end of IWAD. - Then the PWAD is pasted intact. - Then the IWAD directory is entirely rebuilt (about 32K). - The pointer to the DOOM directory is modified (8 bytes) I did my best so that command is the safest possible. I tested this command thouroughly and believe it can be trusted. However, the resulting IWAD might not work with DOOM if the PWAD you are including does not respect some conventions about SPRITES and FLATS. In that case, just restore it. The convention is: there must be F_START or FF_START before the first floor there must be S_START or SS_START before the first sprite This is compatible with DMADDS. Sorry but there is NO OTHER WAY if we want to be able to add new sprites and floors, unreferenced in DOOM.WAD. * command to hack text strings in DOOM.EXE (equivalent and somehow safer functionnality exist in DEHACKED) DEUTEX -strings Will list in a text file some of the strings existing in DOOM.EXE and suitable for replacement. Result can be found in file SUBSTIT\ORIGINAL.TXT BEWARE: this list is huge. copy into MODIFIED.TXT only those strings that you want to modify. see format.txt for explanations on the format of ORIGINAL.TXT and MODIFIED.TXT DEUTEX -substitute the file SUBSTIT\MODIFIED.TXT will indicate which strings must be changed in DOOMFAKE.EXE. This command replaces the utility DMSTR. It is a bit slower because it does NOT depend on a particular version of DOOM.EXE. If a string exists, it can be substituted. ******************* Known problems ********************** - DeuTex is not a graphic editor A front end is under development in Visual Basic 3.0 - DeuTex makes limited check on your PWAD I check only texture consitency. suggestions? - BMP 24bit color quantisation is slow. I didn't bother to write a correct code for it. yet. - Entry type identification does not always work with PWAD. no general solution to this problem, only best effort. - void entries are saved as LUMPS, - sprites and flats are missed if conventions are not respected. (files generated by hand or by wackerb7) - Sprites PWADs only work if you don't reuse existing sprites Use DeuSF or DMADDS if you want to replace sprites Anyway, deutex -mergewad will work also. - Flats don't work in PWAD Use DeuSF or DMADDS if you want to replace sprites Anyway, deutex -merge will work also. - WAVE and AUDIO file format are hacked might not *always* work correctly - PC-speaker sound format is unknown (but only those with laptops bother about it) - No MIDI support I dunno how to write the code. contributions waited :-) - Levels must be complete and entries in the right order, before being inserted in a PWAD by DeuTex. - Source is NOT included. not yet. ********************* Legal Stuff ********************* *********************************************************************** * I have no relations with IDsoftware (except as a registred user) * * They don't care about this program, and certainly never will! * * I have good relations with Raphael Quinet and Bendon Wyber but * * they are NOT supposed to answer questions about this program. * * I have good relations with Steve McCrea, but they will get poor * * if he receives questions about my program * * so please: * * Direct all comments to me, don't bother them. * *********************************************************************** DeuTex is Copyright (C) Olivier Montanuy 1994. The GIF modules are derived from a source by David Koblas DeuTex is Freeware but NOT public domain. Why is DeuTex Copyrighted? so that I can make the following requirement, which would be impossible with Public Domain status: YOU ARE NOT ALLOWED TO MAKE ANY MODIFICATIONS TO THIS PROGRAM AND TO ALL THE INCLUDED FILES. ALL THE FILES INCLUDED IN THIS PACKAGE SHALL BE RELEASED TOGETHER. If you want modifications, ask me, I'll do my best. Later on I'll release the source, when stabilised. USE AT YOUR OWN RISKS. NO LIABILITY. It runs under DOS, so behaviour is unpredictable . YOU ARE NOT ALLOWED TO MAKE ANY KIND OF PERSONNAL PROFIT BY SELLING, RENTING, LEASING, OR USING THIS PROGRAM, WITHOUT MY EXPLICT WRITTEN CONSENT. If you are interested in distributing it on a CD or any other media, contact me first. I should accept, provided: - you keep the price low, for maximum availabilty. - you send me a free copy. SPECIAL EXCEPTION: CompuServe is allowed to distribute this program for a fee, provided I receive (by e-mail) a monthly report of the total number of uploads. * Alright folks, it was a shame, but it had to be stated somewhere... ************** LAST WORDS (AT LEAST!) ************** Thanx for using DeuTex. I wasted long hours on it, so I could hope it will be of use. Though in fact I just wanted to program *something that works*, It's a kind of moral crisis that I had to atone in an orgy of programmation. Such things happen when you spend too much time dealing with norms and specifications... Olivier Montanuy, E-Mail: montanuy@lannion.cnet.fr Work time mailbox montanuy@dmi.ens.fr Leasure time mailbox montanuy@idsoftware.com Dream time mailbox Address: Manoir de Keringant, St Quay Perros, 22700 Perros Guirec, FRANCE This is in Bretagne (Brittany), the westernmost part of France. Phone: +33 96482047 (time: UTC+1) modem: 1 bit of usable information per second (vocal emulation)