DeuTex 4.4.902 is out

  • From: Andre Majorel <amajorel@xxxxxxxxx>
  • To: yadex@xxxxxxxxxxxxx
  • Date: Wed, 31 Aug 2005 21:25:35 +0200

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/

Other related posts: