				Slide Show Screen Saver Development Log
							by John Walker
						http://www.fourmilab.ch/

22nd July 1998

Initial release.  For historical reasons, the initial release was
designated version 1.1.

29th January 1999

Incorporated the most recent version of Scream Saver (screamsv.h and
screamsv.c).  This version, included with the Terranova screen saver
fixes several Bounds Checker natters but is functionally the same.

Changed version in Settings dialogue to 1.2 and date to January 1999.

The day of the week wasn't being shown in the date and time display
due to updviewfrom() in paintscr.c failing to set the tm_wday
field in the tm structure.  I added a jwday() function in
julian.c to obtain the day of the week for a Julian day and
added code to updviewfrom() to set tm_wday.

Grey scale JPEG images failed to display correctly because the
code which expands them to DIB format in loadjpeg.c did not
account for the fact that they contain only one colour
component byte per pixel.  I modified the code to check
num_components and expand accordingly.

30th January 1999

If palette mapping was requested, grey scale images caused
page faults when attempting to access the colour map tables
for 3-component RGB.  Changed loadjpeg.c to access a single
component grey scale table if the image is grey scale.

Modified loadgif.c so GIF89a images with a transparent
palette entry are displayed with transparent pixels set to
black.  Previously they displayed using whatever colour appeared
in the transparent palette entry slot.

Added a check box to the configuration dialogue which
permits hiding the file type.  Folks who like long titles
for slides needn't see the .jpg, .png, etc. if they
don't wish to.

Release 1.2.

25 February 2003

Built with Visual Studio .NET after the usual struggle with "library is corrupt"
due, as far as I can tell, to libcd.lib being included in the link, and battle
with name changes of system libraries.  Both Debug and Release configurations now
build, but I have not at all reviewed the options they're using.

Integrated Bob Elman's fix to Loadimg.c which corrects JPEG files not being
identified due to a too stringent test of the magic header sequence.

Integrated Bob Elman's fix to startSound() in Scrnwind.c to quote the names
of sound files passed to mciSendString().  Without quotes, sound file names
with embedded spaces will not play.

After figuring out, thanks to Google (no thanks to Microsoft's own documentation),
that the magical MCI "open" type for an MP3 audio file is "MPEGvideo" (why
couldn't I have guessed that?), I added code to Filelist.c to recognise
.MP3 files as audio files and Scrnwind.c to play them.  In the process, I
made it easier to add additional audio file types to startSound() in Scrnwind.c
when the time inevitably comes to do so.

Got rid of the "ver.h" file include which caused the resource file compilation
to fail.  It took a while to figure out where it was coming from--I'd delete
it from Scrnsave.rc and every time I modified something with the resource
editor it would come right back.  To change resource includes you have to
right click on the resource folder in the Resource View, select Resource
Includes, then edit the list of files.

Changed the version number to 1.3 in the configuration dialogue and the
VS_VERSION_INFO resource.

Fixed a truncation in the DLG_CREDITS dialogue due to changes in default
font since it was last tested.

Integrated Zlib 1.1.4, replacing the earlier 1.1.3 version used by Libpbg.

Integrated Libpng 1.2.5, replacing the 1.0.2 release used before.

Integrated JPEG library version 6b, using Bob Elman's modified include
files for the Slidescr directory, with a change to the declaration of the
J_boolean type in Slidescr\jconfig.h to preserve source compatibility
with the original distribution source in the Jpeg directory.  This
corrected the "Benign type conversion" warning produced by Slidescr\jmorecfg.h
in the previous version.

Updated makesrc.bat in the root directory to exclude intermediate files
used by Visual Studio .NET and to include itself in the archive.

26 February 2003

The tacky scheme paintDate() used to attempt to keep shorter strings
from leaving the remains of longer strings on the screen (for example, when
showing file names and the current name is shorter than the last, or at
the end of a sound file), namely affixing a bunch of spaces to the start
and end of the centred strings, did not work if the difference in the
widths of the old and new string was sufficiently great.  I modified it,
and the ssavetime() function in Util.c which it calls, to erase the
a line as high as the former text across the entire screen width before
painting the new text.

Updated copyright notices in the Credits dialogue to reflect the current
versions of the graphics library packages.

Added scrnsave.lib and comctl32.lib to the linker inputs to enable build
without SCREAM_SAVER defined.  They had been removed when fighting with
the "Library is corrupted" nightmare after first moving to .NET.

Release 1.3.