A release candidate for DeuTex 4.5 is available :
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
Please don't tell the news sites ; if any bugs remain, I'd like
to have a chance to hear about them first.
For the terminally bored, the changes since 4.4.0 :
* 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 <URL:http://www.teaser.fr/~amajorel/>
(Counterfeit: kug.RemoveThis@infrasoft.biz upyxadec.RemoveThis@bluebird.com)
"La presse doit diffuser des idées saines." -- Serge Dassault,
propriétaire de la Socpresse.