NewWad 1.0
(originally pcx2wad by daniel gilliland);

Modified by Christopher Wise

NewWad is a program to add textures in pcx, bmp or lbm formats
to the WAD2 files that are used by qbsp.

NewWad is my modification to PCX2WAD 0.98 by daniel gilliland.
pcx2wad now performs anti-aliasing on the smaller mipmaps using 
a 2 dimensional sinc function. 

The original text file by daniel gilliland follows my text.

New:
NewWad can now update a wad file as well as creating a new one.
Use the same way, if you specify a wad file name that already 
exists the file will be appended. Your script file should contain 
only the new entries if you are appending the file.

WARNING: MAKE SURE TO BACK UP YOUR WAD FILES AS THIS PROGRAM HAS 
NOT BEEN EXTENSIVELY TESTED AND COMES WITH NO GUARANTEE.

If the program exits with an error during the script reading 
process the original wad file should be untouched. However if 
there is an error during the writing procedure the wad file will
be corrupted, so keep a backup copy of your wad file.


Limitations: 
You can't add a picture that is bigger than 320x200. 

The program assumes that the imput picture uses the quake palette.
If you input an image with a different palette you will get strange 
results. You should use a program such as paint shop pro to convert 
your image to the quake palette. Remember to only use the first 240 
colours if you don't want fullbright colours in the texture.

The sub images only use the first 240 colours unless there is a direct 
match to a fullbright colour (palette entries 240 to 254) or the 
transparent colour (palette entry 255). You should only use the 
fullbright colours if you want something that is bright under all 
lighting conditions (eg. a fluorescent light).

The imput image MUST have dimensions that are a multiple of 16 pixels.


The program crashes if an error is encountered. A valid wad file is only 
created if no errors are encountered so you must fix the error in the 
script file or source images and rerun the program.

History: 

0.99 I was going to write a complete utility but then I saw this 
program and it's source and thought 'why reinvent the wheel?'. 
Given that daniel gilliland wrote that he did not intend to update 
the program I decided to do it myself. I had already written the 
decimation routine so I just slotted it into the source and recompiled. 

1.0 I have added the ability to update an existing wad file as well as 
create a new wad file. I have removed the ability to add a palette lump
as the anti-aliasing routine only uses the quake palette.  I don't think 
a palette lump is required for qbsp.

Email: Contact me (Christopher Wise) at wise@eng2.eng.monash.edu.au
Feel free to ask questions. I would like feedback if the program doesn't 
work properly. I will try to fix any bugs, time permitting and may add 
new features. I hope this program is of use to level creators.


---------------------------------------------------------------------
Original text file by daniel gilliland follows
---------------------------------------------------------------------

New - version .98

  ( source included in src.zip ... originally compiled with djgpp )

  now supports pcx/bmp/lbm formats.
  -- also supports palette entries.
  to add a palette, just make an entry
  with the palette file and a wadname
  of 'palette'.. like so:
  --------------------------
  qpal.pal palette
  --------------------------
  and the file will be written to the
  wad as a palette.

  also handles comments... to add a comment in a script file,
  just use '//' as you would in programming... like so:
  --------------------------
  qpal.pal palette // this is the palette file
  --------------------------
  I *think* it works. I'm very bad about thorough testing :)

  another note: if the program exits with an error, the
  .wad file will be incomplete ( there will be no wad directory
  in the file ) ... so uh.. don't try to use the wad until
  it pcx2wad makes it all the way through.

===========================================

okay, this is a very easy program to operate -- 
simply make a script file for pcx2wad.. for example:

----script.txt-----
tech06_2.pcx    TECH06_2
stairs.lbm      STAIRS
crate0~1.bmp    CRATE
-------------------
  note: pcx2wad only requires that the filename and the image's wad name
        be located on the same line, with whitespace in between.
        a new line must be used for each file and image-name pair.

by running "pcx2wad script.txt wadfile.wad", a file called 'wadfile.wad'
would be created, and it would contain 3 mip textures: TECH06_2,
STAIRS, and CRATE. Use these names in .map files to specify which texture
you want each face to have.

when creating images, remember to use widths and heights that
are multiples of 16 ... also use quake's palette to create the images,
since that will be the palette used in the level, NOT the palette contained
within the files.

there seems to have been some confusion with sky textures. some have
said that they do not work, but myself i didn't have any trouble.
( please correct me if the instructions below do not work )
make a 256x128 bitmap, and use the left 128x128 portion for the
partially transparent part of the sky (fast-moving, lower clouds),
and the right 128x128 portion for the further, slow-moving, solid
cloud texture. i'm pretty sure the color index 0 is used for
transparency.

in case you're wondering, this program merely resamples the images
at lower resolutions in order to create the mip textures. while this
defeats the true purpose of mip-mapping, it gets the job done. i'm sorry
about all the horribly-aliased textures that will probably be created
as a result of using this program, but i really need to get started on
other things. ( specifically a new 3ds->map converter )

oh! another note: fullbright colors are the last 32 in the palette
( pretty sure about this ) ... stay away from them unless you want
a particular part of your bitmap to remain fully lighted at all times.

email ac447@rgfn.epcc.edu with any comments or suggestions
(this is probably the last major modification i will make to this program)


