Well, it was a bit more involved than expected but here it is : http://www.teaser.fr/~amajorel/deutex/fungus/deutex-4.4.902.bin.dos.zip http://www.teaser.fr/~amajorel/deutex/fungus/deutex-4.4.902.tar.gz http://www.teaser.fr/~amajorel/deutex/fungus/deutex-4.4.902.zip With 4.4.902, the quick test (decompose and recompose the Ultimate Doom iwad) will create a 12,395,672 bytes pwad whose MD5 checksum is 5f34467674a79ad652f8497691ba71d5. NOTE: On DOS, you need to extract with -ppm or you won't get the same checksum (discrepancy between PPM and GIF). This is a release candidate for 4.5.0. Jon is going to feed it to the Debian buildd. If no problems turn up, I'll announce it on Doomworld etc. to get a bit more feedback. Or maybe I'll just change the version number to 4.5.0 re-release it as is. DeuTex 4.4.902 (AYM 2005-08-31) * Build: vanilla make compatibility: removed all occurrences of "$<" not in inference rules in the makefile. * Build: vanilla make compatibility: removed all "\" followed by empty lines. On NCR MP-RAS, make quotes all empty lines that follow ! * Build: there is now a "./configure" script (GNU autoconf work-alike). Installing somewhere else than /usr/local is now done by giving ./configure the --prefix option. CC, CFLAGS and LDFLAGS are now auto-detected. The defaults can be overridden by passing ./configure the --cc, --cflags and --ldflags options. The fixed-size types (Int16 etc.) are now correctly set on all LP64 platforms, not just Alpha. * Build: the OPTIONS section is now updated automatically. This impacts no-one but hackers. * Code: two char[8] were used as char[9] (caught by NCR/MetaWare cc on NCR MP-RAS). * Code: C89 compatibility: removed a few "//" comments that had slipped into the source. * Code: a few functions were declared as static but defined as extern (caught by NCR/MetaWare cc on NCR MP-RAS). * Code: static- and const-correctness fixes. * Code: removed the little-used Legal() function. * Doc: man page: in DESCRIPTION, added a short list of examples to help new users getting started. Added a FILES section. Made the SEE ALSO section a bit more specific. * Doc: in --help and the man page, divided the options into groups and sorted them alphabetically within each group. It seems to be clearer that way. * Doc: added a FAQ. * Doc: obfuscated all email addresses (tr .@ +=). * Game: Strife: the SCRIPTnn lumps are now extracted in human-readable form into the scripts/ directory. The reverse operation is not implemented. Since we understand the Strife script format only partially, the output format is still in flux. New option -scripts to extract only the scripts. The reverse engineering was done in collaboration with Matthew W. Miller. * Graphics: it's now possible to build wads that use a custom PLAYPAL. Previously, DeuTex always used the PLAYPAL from the iwad when building. It now uses the one in lumps/ if it exists. Thanks to Ras2 for reporting the problem. * Graphics: rewrote COLdiff() as a macro. On my system, the time to build a wad made of a single 1M-pixel patch is down from 1.32s to 0.85s (35% faster), which is not surprising since DeuTex used to spend about 40% of its time in COLdiff(). The time to rebuild the Strife iwad is down from 8.6s to 7.2s (16% faster). * Graphics: removed the "quantisation is slow" warnings that DeuTex used to spew when composing from PPMs and 24-bit BMPs. Those warnings were relevant to an old quantisation algorithm that has not been used since at least version 3.8 (#ifdef QUANTSLOW). * Graphics: lifted the arbitrary limit of 256 patches per texture. DeuTex will now accept as many patches as the wad format allows (32,767). If a texture definition has more than that many patches, DeuTex will discard the excess patches with a warning, instead of dying with a cryptic message like "Line n: Illegal char '*'". * Graphics: lifted the arbitrary limit of 4096 on patch width. DeuTex now handles patches as wide as the wad format allows (32,767). * Graphics: textures wider than 4096 are now accepted with a warning. PrBoom 2.2.3 is known to take textures as wide as 16,384 pixels. 8192 *128 textures make XDoom 20001001 crash in Z_Malloc. 1024 *128 textures make Doom freeze in R_Init. The maximum acceptable widths might be higher if the height of the texture is lesser than 128 but I haven't looked into it. Thanks to David Damerell for testing. * Misc: removed the annoying startup banner. * Misc: if no command is given, emit a meaningful error message instead of suggesting to switch to WinTex. And exit with code 1 instead of 255. * Misc: all messages now look like this : c code string c is the class of the message : "i" for information, "w" for warning, "E" for error, "B" for bug. code is a unique 4-character alphanumeric code which unambiguously identifies the message. Some of the messages have been rewritten to be more informative (mention the filename, the nature of the error, etc.). * Misc: at the request of Kim "Sparky" Parrott, all messages are now copied to a file named "deutex.log" ("deusf.log" for DeuSF). The default log file name can be overridden through the "-log" option. If you don't want a log file, try "-log /dev/null" (Unix) or "-log nul" (DOS). The log is only written if a command that works with wads is given. --help, --version etc. do not create a log. * Misc: removed the 30 command-line arguments limit. * Misc: made exit status a little bit more normal (2 for errors and 3 for bugs instead of -5 and -10). * Sound: new option -rate to specify what DeuTex should do when including sound files whose sample rate is not exactly 11025 Hz. The choices are : reject consider it a fatal error and exit immediately with a non-zero exit code. force emit a warning and force it to 11025 Hz by resampling up or down. warn emit a warning but include it as is anyway. accept silently include it as is. Previously, the default (and only option) used to be "force". It's now "warn". Thanks to Matthew W. Miller for telling me about this issue (which he did in 1999 ; the six-year delay is mine, all mine). * Sound: write errors while extracting PC speaker sounds are now actually detected and reported. -- André Majorel <amajorel@xxxxxxxxx> http://www.teaser.fr/~amajorel/