Skip to content

Commit

Permalink
Import DeuTex 4.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
André Majorel committed Sep 10, 1999
0 parents commit b620507
Show file tree
Hide file tree
Showing 66 changed files with 19,458 additions and 0 deletions.
213 changes: 213 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
THIS IS A GENERATED FILE -- DO NOT EDIT !
Edit docsrc/changes.html instead.

History of changes for DeuTex

DeuTex 4.0.1 (AYM 1999-09-10)

+ CLI: reworked the command line arguments parsing, with the
following consequences.
o 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).
o -heretic and -hexen now work (they were "hidden" by
-h[elp]).
o -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.
o 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
o src/color.c(74)
o src/ident.c(583)
o src/ident.c(658)
o src/mkwad.c(78)
o src/mkwad.c(79)
o src/mkwad.c(80)
o src/mkwad.c(81)
o src/picture.c(903)
o 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 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.
Loading

0 comments on commit b620507

Please sign in to comment.