            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 <doom directory>
	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 <working directory>
	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 <thatcool.wad>
	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 <thatlame.wad>
	Check for unused bytes in a PWAD.
	report unused zones, total bytes, and... oh, guess this one.

DEUTEX -xtract <thatcool.wad>
DEUTEX -extract <thatcool.wad>
	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     <wadinfo.txt>  <myown.wad>
DEUTEX -build    <wadinfo.txt>  <myown.wad>
DEUTEX -create   <wadinfo.txt>  <myown.wad>
	<wadinfo.txt> is read only and defines the entries to put
		into MYOWN.WAD. see format.txt for explanations.
		also use DEUTEX -xtractwad
	<myown.wad> 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  <myown.wad>
	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)
