1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583
|
THIS IS A GENERATED FILE -- DO NOT EDIT !
Edit docsrc/changes.html instead.
History of changes for DeuTex
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.
DeuTex 4.4.0 (AYM 2000-01-05)
* Game: Hexen: musics are now identified and extracted properly.
The old music identification code assumed that any lump whose name
does not begin with either "D_" or "MUS_" can't be a music. It
worked for Doom, Heretic and Strife but, for Hexen, it caused all
musics to be seen as plain lumps and extracted accordingly into the
lumps/ directory. DeuTex even tried to interprete STALKR and WINNOWR
as pictures and said silly things about them having a "width greater
than 4096".
The new code really checks whether the lump begins with "MUS\x1a"
instead of just looking at its name. A lump is now deemed to be a
music if and only if it begins with "MUS\x1a".
As a side-effect, certain operations (appending sprites and flats
and merging) must have become slower. Furthermore, since these used
to blindly assume that any lump whose name begins with either "D_"
or "MUS_" is a music, their semantics might have changed. If you
find they don't do what you want, try again using the -musid option
and let me know whether it improves your condition.
* Game: Hexen, Doom alpha 0.4/0.5: levels are now properly extracted
and included.
There have been changes in the undocumented details of DeuTex's
behaviour with respect to levels. The one that is most likely to be
noticed is that, when including a level, DeuTex now copies the
entire contents of the levels/ pwad, starting from the level label.
Previously, it included at most the 11 following lumps, and only if
they had the expected names (THINGS, VERTEXES and so on).
But, basically, if the levels/ pwads contain, as they should, all
the needed lumps and nothing else, there shouldn't be any trouble.
* Game: Heretic and Hexen: does not abort anymore with "Bug: *** idinx
(12) ***" when trying to include the graphic lumps (resp. CREDIT,
E2END, FINAL1, FINAL2, HELP1, HELP2, TITLE and CREDIT, FINALE1,
FINALE2, FINALE3, HELP1, HELP2, INTERPIC, TITLE). More generally,
DeuTex now accepts to compose wads even when there are graphic files
in lumps/.
* Game: Hexen: does not abort anymore with "Height of FLAT
./flats/x_001.ppm is not 64 or 65" when trying to include flats
X_001 through X_011. In addition, DeuTex now just emits a warning
instead of aborting for other oddball heights (i.e. not 64, 65 or
128). Have fun. ;-) This is true for all iwads, not only Hexen.
* Graphics: the annoying "quantisation is slow" warnings now appear at
most once.
* Misc: to disambiguate the "<count> warnings omitted" message, added
optional scope prefix and changed the picture extraction function to
use it.
* Misc: got rid of the "don't bother Olivier" banner. People must have
got the message by now.
DeuTex 4.3.0 (AYM 1999-12-24)
* Graphics: fixed ancient bug where DeuTex sometimes failed to include
custom patches if they were not explicitly listed in the [patches]
section. If the first patch used in texture1.txt was a custom patch,
it had to be listed in [patches] or DeuTex would forget to include
it. This is the same bug Olivier mentioned in the home page :
The support for wall patches in DeuTex has been modified. You must
now explicitely declare all your patches in a [PATCHE] section.
If you don't do this, DeuTex will attempt to work as usual, but
there seems to ba a bug in this part of the code, so sometime some
needed patches are not loaded.
After some summary testing, looks like it's fixed.
* Misc: more error handling improvements.
* Misc: bumped version number and cleaned things up for public
release.
* Misc: decreased maximum number of warnings per picture from 10 to 5.
* Platform: fixed ftruncate() being undeclared when compiling with
DJGPP and updated the building-on-DOS section of the doc.
DeuTex 4.2.2 (AYM 1999-11-20) (not for public consumption)
* Misc: made certain failure messages more informative.
* Platform: fixed several bugs that showed in the DOS precompiled
executables for 4.1.0 and 4.2.0 (most common symptom : DeuTex
aborting with a "Can't read WAD" error message).
Lengthy technical explanation : in 4.1.0, I removed the "huge"
pointer qualifiers that were scattered throughout the source not
unlike nitrates in groundwater. The reasoning was that, since DeuTex
is always compiled in the "huge" memory model anyway, those
qualifiers were redundant. As I found out at the end of a long and
painful debugging session, they weren't.
Had I read the doc of the compiler, I would have known that, even
when in the huge memory model, pointers are "far" by default, not
"huge". Far pointers wrap around at 64 kB ; this is not what you
want when you're trying to work with lumps larger than that. And,
apparently, there is no way to specify that pointers should be huge
by default.
On top of that, there was a genuine bug in WADRreadBytes2() that
would have prevented the DOS port from working, even if all pointers
had been huge. But this one was fixed in 4.2.1.
I switched to DJGPP, with which you can get working executables
without having to contaminate your code with carcinogenic keywords.
The bad news : firstly, the executables are somewhat larger.
Secondly, since DJGPP executables use protected mode, they tend to
be more fussy.
Thanks to Kim Parrott for reporting the bug and alpha testing my
fixes.
All the above applies only to the DOS precompiled executables. Other
platforms did not have these problems.
DeuTex 4.2.1 (AYM 1999-11-16) (not for public consumption)
* CLI: fixed segfault on "deutex --vers".
* Graphics: new option -usedidx. When called with this option, DeuTex
scans all the graphics in the wad and prints statistics about which
palette indices they use. (By "graphics" is meant "any data that is
converted into an RGB triplet by looking up PLAYPAL or TITLEPAL".
That includes flats, graphics, patches, sneaps, sneats and sprites.)
I've added this command for my own use, to help me decide which
index should be used to store the transparent colour for Hexen.
* Misc: made certain failure messages more informative.
* Misc: made printing of lump names garbage-proof.
* Platform: fixed a huge DOS bug that made DeuTex fail with a "Can't
read WAD" error whenever it had to read more than 65535 bytes from a
wad at once.
* Platform: flushing stdout before writing to stderr so that messages
come out in the right order when both outputs are redirected.
* Sound: all conditions that used to be fatal errors when extracting
sound lumps now just elicit a warning message, indicating which lump
it was and what action was taken.
DeuTex 4.2.0 (AYM 1999-11-14)
* Doc: fixed error in documentation of -pkgfx, -pknormal and -usedtex.
* Game: Strife: fixed DeuTex aborting when extracting textures for
versions of Strife >= 1.1. The problem was that Strife 1.1 and above
use a different format for the TEXTURE1 and TEXTURE2 lumps
(Strife 1.0 uses the same format as Doom). New options "-tf
strife11", "-itf strife11" and "-otf strife11" to support that
format. Option -strife has been changed to imply "-tf strife11". New
option -strife10 that is identical to -strife except that it does
not imply "-tf strife11". Summary :
* if you have the Strife 1.0 iwad, use "-strife10" (or "-tf
normal"),
* if you have Strife 1.1 or above, use "-strife" (or "-tf
strife11").
Thanks to Kim Parrott for reporting the bug and Len Pitre for
pointing me in the right direction.
* Sound: fixed two bugs in reading Sun audio (.au) files. Fixes error
"WAV: can't read data of./sounds/foo.au" (sic) when trying to build
a wad. One of these bugs prevented from reading Sun audio files on
little-endian machines. It had been there for a long time ; v3.8 has
it and the v3.6 binary behaves like it had it too. I doubt that
anyone had ever been able to use .au files on little-endian machines
before.
DeuTex 4.1.0 (AYM 1999-11-01)
* CLI: new options -sneas, -sneaps and -sneats.
* Code: removed all occurrences of "huge" on the theory that, on
platforms where it's meaningful, we always use the huge memory model
anyway.
* Code: replaced certain occurrences of "Int32" by "iolen_t".
* Code: replaced certain occurrences of "256" by "NCOLOURS".
* Doom alpha 0.4: AMENA0 and MSKUL* are now correctly recognized as
graphics and not as lumps anymore. The 21 graphic lumps that ended
up in lumps/ are now properly extracted (into sneaps/ and sneats/).
(The first item involved propagating to IDENTgraphic() the changes
made to PICtoRAW() in v. 4.0.2. The second item needed heavy
hacking, creating a new image type (christened "snea") and managing
an alternate palette for TITLEPAL.) Still extracted as lumps :
GNUM[0-9] and HUFONT.
* Doom alpha 0.5: the 86 graphic lumps that ended up in lumps/ are now
properly extracted (into sneaps/ and sneats/). Still extracted as
lump : HUFONT.
* Graphics: errors that used to cause DeuTex to give up on extracting
a picture now just make it skip the rest of column. It also prints
detailed messages about what it didn't like and in which picture it
occurred instead of bailing out silently.
* Misc: new option -di to debug entry identification. Useful mainly to
hackers.
* Misc: cosmetic changes in the generated wadinfo.txt and in the phase
messages.
* Misc: no more messages "Creating PWAD" and "WAD is complete..."
during level extraction.
* Misc: set a limit of 10 warnings per picture, to prevent invalid
pictures from uselessly flooding the output.
DeuTex 4.0.3 (AYM 1999-10-02)
* CLI: new option -doom2 as suggested by Matthew Miller.
* Graphics: now accepts to extract pictures as large as 4096 *4096
(previously the limit was 320 *200). This fixes "Failed to write
sprite" errors when trying to extract PSYBA0 and PSYBB0 from
strain.wad. Thanks to Matthew miller for reporting the bug.
* Misc: added a useful URL to the GIF warning.
* Platform: now builds without errors on FAT filesystems (replaced
.deutex and .deusf by tmp/_deutex and tmp/_deusf).
* Sound: fixed a bug that caused DeuTex to extract sounds with
unlikely sample rates like 4 GHz whenever the sample rate in the
lump was higher than 32767 Hz (for example DSVILACT and DSVILSIT
from ncc1701.wad, with a sample rate of 44.1 kHz). Thanks to Matthew
Miller for reporting the bug.
DeuTex 4.0.2 (AYM 1999-09-19)
* CLI: new options
* -doom02 (implies -ipf alpha, -itf none and -itl none)
* -doom04 (implies -ipf alpha, -itf nameless and -itl textures)
* -doom05 (implies -ipf alpha and -itl textures)
* -doompr (implies -ipf pr)
Use those options where you would have used -doom and friends. For
example, to extract the contents of the Doom 0.4 iwad that is in
c:\doom0_4, type "deutex -doom04 c:\doom0_4 -xtract".
* Code: replaced certain unjustified uses of Int32 by long.
* Doc: removed old/readme.txt. It's so out of date that it's more
confusing than useful.
* Game: Doom alpha and Doom PR: it's now possible to extract graphics,
patches, sprites and textures from those iwads. Three new options :
-ipf {normal|pr|alpha}
Use alpha for Doom alpha 0.2, 0.4 and 0.5.
Use pr for Doom PR (press release pre-beta).
Use normal for everything else.
-itf {normal|nameless|none}
Use none for Doom alpha 0.2.
Use nameless for Doom alpha 0.4.
Use normal for everything else, including Doom alpha
0.5.
-itl {normal|textures|none}
Use none for Doom alpha 0.2.
Use textures for Doom alpha 0.4 and 0.5.
Use normal for everything else, including Doom alpha
0.5.
You shouldn't ever have to use those options directly. It's better
to use just -doom02, -doom04, -doom05 and -doompr, which take care
of setting ipf, itf and itl properly for you.
Note that extracting levels and some other lumps from the Doom alpha
iwads does not work yet.
* Platform: new target in the makefile to generate a binary DOS
distribution with the executables and the user documentation in DOS
format, with DOS-ish names.
DeuTex 4.0.1 (AYM 1999-09-10)
* CLI: reworked the command line arguments parsing, with the following
consequences.
* Options can now be abbreviated freely, as long as the
abbreviation is not ambiguous. For example, you can use
-heretic, -hereti, -heret, -here or -her but not -he because
that could also be the abbreviation for -help (or -hexen, for
that matter). On the other hand, -h is allowed because it's not
an abbreviation (there's really a -h option).
* -heretic and -hexen now work (they were "hidden" by -h[elp]).
* -v@ has been split in -v0, -v1 ... -v5 because the new code
does not allow excess characters after an option. -vstring
where string is anything else than "0" through "5" now triggers
an error (it used to be accepted silently). I hope no one
relied on the old undocumented behaviour.
* Certain silly command line arguments that would have worked
before would now trigger an error. For example, it used to be
possible to type -extramarital or -extermination for -extract
but not anymore. The old code defined relatively short options
(-ext) and accepted command line arguments as long as the
defined option was an initial substring of the command line
argument. The new code does the reverse; it defines relatively
long options (-extract) and accepts command line argument as
long as they're an initial substring of the defined option.
* Code: replaced direct testing of __MSDOS__, __OS2__, __GNUC__,
__BORLANDC__ by DT_CC and DT_OS. This is hopefully going to make
Udo's job a bit easier.
* Code: now uses the same fopen() modes for all platforms: "{rw}b" for
binary mode and "{rw}" for text mode, as per the ANSI/ISO C
standard. This will fix the problem Udo Munk reported with the
Cygwin build opening binary files in text mode and thus failing
miserably. Note that certain DOS C compilers can be configured so
that "{rw}" opens files in binary mode. Don't do that ! If you have
problems with text files on DOS, make sure your C compiler is
configured so that "{rw}" opens files in text mode.
* Code: added to the distribution archive gifcodec.c that I had
forgotten to include (it's not used anyway).
* Code: added to the distribution archive
src/{deusf,deusfos,deutex,deutexos}.def that I had forgotten to
include. I guess that's Windows/OS/2-only stuff.
* Doc: updated making.txt and renamed it as INSTALL for homogeneity.
Removed obsolete reference to alpha.sh and the file itself.
* Doc: made more legal updates.
* Doc: documented DOOMWADDIR in the man page.
* Misc: changed the default graphics format for Unix from GIF to PPM,
so that fewer user sites are broken if and when GIF support is
removed. For the same reason, added a warning message when -gif is
used or the first time an image is read from a GIF file.
* Misc: changed the lookup order for images to PPM, BMP, GIF (was BMP,
GIF, PPM).
* Platform: fixed a couple of things that didn't work on 16-bit
platforms (real-mode DOS).
* Platform: now compiles on DOS with Borland C++ 4.0.
* Platform: now compiles on DOS with MSC 6.0. The MSC 6.0 build is
functional but limited because it can't allocate blocks larger than
64 kB, which is insufficient for certain images. I can't use
halloc() instead of malloc() because it does not supporting resizing
(i.e. there's no hrealloc() function).
* Platform: in response to Udo's remarks, DJGPP and Cygwin are now
properly identified (__DJGPP__ and __CYGWIN__).
* Platform: added sanity checks on specified-size types Int32 and
friends.
DeuTex 4.0.0a3 (AYM 1999-09-05)
* Code: removed incongruous #define-ing of O_BINARY and SEEK_SET.
* Code: after Udo Munk's report, fixed warnings in
* src/color.c(74)
* src/ident.c(583)
* src/ident.c(658)
* src/mkwad.c(78)
* src/mkwad.c(79)
* src/mkwad.c(80)
* src/mkwad.c(81)
* src/picture.c(903)
* src/picture.c(912)
* Doc: updated making.txt.
* Legal: as agreed to by Olivier Montanuy, DeuTex is now entirely
GPL'd. Well, almost entirely, since it includes code written by
different authors in lzw.c and elsewhere. Changed the notices in the
source files and added new file LICENSE to clarify things.
* Makefile: should now work with all C compilers (removed -Wall from
CFLAGS).
* Makefile: clean now removes the DOS executables if they exist.
* Makefile: does not compile with debug information in by default
anymore.
* Makefile: new targets dall, ddt, dds, ddeutex and ddeusf for
compiling with debug information and all warnings.
* Makefile: new target help.
* Makefile: new target distdos.
* Platform: replaced unlink() by remove() for portability. Thanks to
Udo for reporting this.
* Platform: on 8.3 filesystems, make should not choke on
docsrc/changes.html anymore. Thanks to Udo for reporting this.
* Sound: corrected some misleading endianness comments in sound.c.
DeuTex 4.0.0a2 (AYM 1999-08-14)
* Game: easier to use with Strife (now looks for "strife1.wad", new
option "-strife").
* Game: easier to use with Hexen (new option "-hexen").
* Command line: new options "-hexen" and "-strife".
* Command line: new option "--version" (prints version number and
returns 0).
* Doc: various changes in the man page, in the output of "-help" and
"-man" and elsewhere.
* Makefile: various improvements.
* Distribution: set modes straight.
DeuTex 4.0.0a1 (AYM 1999-08-12)
* General: fixed many segfaults that were caused by attempts to fclose
(NULL).
* Game: Strife is now supported.
* Wad: new options -be, -le, -ibe, -ile, -obe and -ole to control the
endianness of the wads. Caution: don't use them if you don't know
what you're doing ! As far as I know, wads are always little-endian
regardless of the architecture of the host. Therefore, I see no
reason for someone in his/her right mind to create a big-endian wad.
Those options are here more for the sake of completeness than
anything else.
* Wad: made "%" legal in names, to deal with Strife's "INVFONG%" and
"INVFONY%".
* Wad, graphics: end-of-flats marker is now F_END by default instead
of FF_END. The reason for this change is that, with F_END, you don't
need DeuSF to get Doom to see your new flats. Should you need to,
it's still possible to get FF_END by using -fend.
* Graphics: the default transparent colour is now a dark blue-green
(rgb:00/2f/2f). It used to be cyan (rgb:00/ff/ff) which was
blindingly bright, especially compared to the usually dark colours
used in Doom textures. It's no fun to tweak shades of dark brown on
a cyan background.
To reuse images done with/for a previous version of DeuTex, you need
to either invoke DeuTex with "-rgb 0 255 255" or convert your images
by replacing all occurrences of colour (0, 255, 255) by colour (0,
47, 47). To preserve compatibility with WinTex, I didn't change the
default transparent colour in WinTex mode ; it's still (0, 255,
255).
* Graphics: fixed segfaults due to bug in conversion of bitmap images
to Doom pictures. Occured in certain 2-pixel high images such as
STBFN045 in the Strife iwad.
* Graphics: now supports pictures and textures up to 509 high (was
limited to 128).
* Graphics: now supports pictures and textures up to 1024 wide (was
limited to 512).
* Graphics: new option "-pf" to deal with the different picture format
in the Doom alpha iwad (the underlying functionality is not
implemented yet !)
* Graphics: using -ppm does not cause anymore DeuTex to abort with
"Bug: *** psvit ***".
* Graphics: fixed "-ppm" message.
* Sound, platform: a bug that must have prevented reading .wav files
on big endian machines has been squashed.
* Command line: options can't start with a slash ("/") anymore. I
don't think anyone used it and was a silly feature for a Unix
program.
* Command line: not case insensitive anymore.
* Command line: changed the wording of error messages to use "option"
instead of "command".
* Command line: added options "-?" and "--help" as synonyms for
"-help".
* Doc: new option "-man" to print help in troff -man source format for
inclusion in the man page.
* Doc: the version number is now a free-form string.
* Doc: Made on-line help more compact.
* Doc: updated "making.txt".
* Doc: made a proper README file.
* Makefile: renamed "unix" target as "strip".
* Makefile: new target "install".
* Makefile: new target "dist".
* Platform: reworked the handling of endianness. DeuTex used to deal
with that through a set of macros that swapped bytes whenever the
required endianness was not the same as the native endianness. To
known the native endianness, DeuTex relied on a macro defined via
-D.
There were two problems with this scheme. Firstly, Olivier got the
meaning of "little endian" and "big endian" backwards and defining
LITTLE_ENDIAN in fact caused DeuTex to believe it was being compiled
for a big endian machine. As the glibc headers happen to define
LITTLE_ENDIAN if the machine is little endian, compiling DeuTex on a
glibc little endian Linux system was impossible unless you made
changes to the source.
The other, more fundamental, objection against the old approach is
that, as it needed the user to tell it about the native endianness
by modifying the makefile, it prevented unattended builds and made
things difficult for naive users.
The new method eliminates this problem by using a different
algorithm that does not need to know the native endianness. The end
result is that you don't have to worry about endianness anymore.
* Internal: in TXTinit(), removed useless "% 0xFF" in index of TXTval.
|