Description
The patches here will update Zip 2.0 to use the Quetzal save-format. Once
this has been done, the new version will not be able to load or save the
old format files. The Quetzal patches require certain bugs in Zip which
prevent it compiling on some versions of UNIX to have been fixed: suitable
patches are included in the archives as "bugfix.diff".
Important!
Earlier versions of these patches had a bug in quetzal.c resulting in saved
files having an incorrect stack segment. If you got the patches from here
before 11 September 1997 then you have this bug. The versions below are
fixed, or you can make the change yourself.
The last version had another bug in quetzal.c meaning that interpreters
would crash when restoring games saved from a story of release exactly 6.
This has now been fixed in the versions below. If you got the patches from
here before 12 January 1998 then you have this bug.
Also, a further bug has been found in Zip, which may affect Quetzal behaviour.
Details of this bug, and a fix, can be found here.
Contents of the archives
- bugfix.diff - patches to fix some Zip bugs
- quetzal.diff - patches to use Quetzal save-files
- quetzal.c - routines used by the Quetzal patches
Instructions
To use the patches, download your preferred format and unpack it in the same
directory as the main Zip source. Then apply the bug-fixes with (on UNIX):
patch -p0 bugfix.diff
Apply the Quetzal patches with (again, on UNIX):
patch -p0 quetzal.diff
Check if there are any files ending in ".rej": if there are, you'll
have to do the patching yourself (this is very likely if you've changed the
source yourself or if your source is not the same version I used to make the
patches).
Now you must select your system type if you are using UNIX, by removing the
hash sign from the beginning of a line in the Makefile, where indicated. You
have three choices; one for BSD derivatives (such as SunOS3.x, SunOS4.x,
OpenBSD, FreeBSD, NetBSD, Ultrix and the like); one for System-V derivatives
(such as Solaris 2.x, IRIX 5.x, HP-UX 10.x, Digital UNIX and the like); and
one for POSIX-compliant systems (which includes several of the above and also
most versions of Linux).
Once you've done this, you must recompile, and then you can start using
Quetzal save files.
How to get the patches
The patches are available in two different archive formats:
Portability
Zip has been patched, compiled and run successfully on SunOS 4.1.3 with
Sun CC and GCC 2.7.2 (using BSD option), Solaris 2.5.1 with GCC 2.7.2.1
(using System V option), and Linux 2.0.0 with GCC 2.7.2.2 (using POSIX
option).
The version of quetzal.c here is the new, improved portability version.
Previous versions included the "unistd.h" header file
unnecessarily (this file is not a standard header file and is not present
on all systems). The file compiles correctly without it, so it has been
removed.
Zip source code
If you do not have the Zip source code, you can get it from the
Interactive Fiction Archive.
The patches were based on the UNIX, Amiga, VMS and MS-DOS compatible
baseline version, but the slightly modified
source code for Borland C under MS-DOS should work without too many
changes. Other ports should be able to use the patches (and most should
not need the bugfix.diff file) but the code may need patching by hand (use
the patch files as a guide).
Back to Home Page