------- April 1999 ------- ?? Wrote load_png wrapper ??+1 Cleaned up a bit, tried getting grayscale and auto-MagicPink conversion working. 9 Now can read gamma from environment variable. Changed default gamma to 2.2. 13 Added save_png, using pieces from allpng.c 15 Fixed stupid bug I created in save_hicolour. Added copyright notice. Now uses packfile routines. Added #ifdef __cplusplus hack. Released: version 0.1. ------- December 1999 ------- 22 Updated to work with Allegro 3.9.xx. Fixed alpha channel support. Added alpha.c test.c renamed to example.c Released: version 0.2 ------- January 1999 ------- 3 Applied fix for < 8 bpp images (thanks to Dave Dribin) Released: version 0.3 ------- October 2000 ------- 12 Updated const-correctness in accordance with Allegro. Released: version 0.4 ------- April 2001 ------- 11 "Fixed" RGB/BGR problem with loading RGBA images. Use GFX_AUTODETECT in examples (GFX_SAFE changed in Allegro). Released: version 0.5 ------- July 2001 ------- 13 Reverted to 0.4 codebase, as 0.5 was really broken (oops). Added "depth" argument to examples. Commented out the BGR flipping code, which was incorrect I think anyway. Someone with a BGR card should check it out. Released: version 0.6 ------- January 2002 ------- 03 allegro/aintern.h -> allegro/internal/aintern.h (Allegro 4.0) Released: version 0.7 ------- February 2002 ------- 25 Fixed a problem with passing NULL for pal to load_png. Released: version 0.8 ------- March 2002 ------- 30 Tentative fixes for loading/saving RGBA images. Thanks to Chris Graham for reporting the problem. Minor changes to examples and makefile. ------- May 2002 ------- 06 Added shared library (unix) and install support into makefiles, and cleaned them up. Thanks to Robbert Haarman for the start. Minor changes for -W warnings. 07 Dave Dribin fixed a problem that surfaced with some buggy versions of libpng (1.0.13, 1.2.2). Moved the thanks section into a separate document. 08 Fixed a puny mistake in the makefile. 12 Released: version 0.9 16 Tentative fixes for sometimes-problems loading RGB images. 19 Released: version 0.10 ------- September 2002 ------- 03 Dave Dribin fixed two problems with images with alpha channels. 04 Released: version 0.11 ------- April 2003 ------- 27 Mostly incorporated Ceniza's changes (load_memory_png and loading from datafile support, plus an example). 28 Reworked those changes a little. ------- May 2003 ------- 02 Miscellaneous changes; put examples into separate directory (now that we have three!). 04 Signal errors on read/write failure. Released: version 1.0. 20 Calling load_png with NULL for palette argument was not converting paletted images to high/truecolour properly. Fixed. Thanks to Lothar May for pointing it out. Released: version 1.1. ------- October 2003 ------- 13 Changed the method of scaling of palette values from 6 bits to 8 bits. Instead of just multiplying by 4, now we use _rgb_scale_6[] so that e.g. 0 -> 0, but 63 -> 255. Thanks Nicolas Lemal for the idea. Released: version 1.2. 16 MSVC doesn't like pointer arithmetic on void*'s, pointed out by Chris Condrat. Re-released: version 1.2 (I forgot to update version constants anyway). ------- April 2004 ------- 26 Jon Rafkind suggested to use _getpixel*/_putpixel* in loader to speed up loading of large images. Split up the code into three files. This prevents the linker pulling in unused code, e.g. many people don't need save_png. 28 It turns out that loadpng's origin (example.c from libpng docs) was in the public domain, so now loadpng is in the public domain as well. Released: version 1.3. ------- October 2004 ------- 09 Made save_png handle non-memory bitmaps as well. 10 Fixed some bugs with load_png(). Now everything in PngSuite loads properly, and with correct gamma correction, except for: - bKGD chunks (solid background colours) are not respected. I chose this in the past, but I wonder if I should change it? - pHYs chunks (physical dimensions) are not respected. (BTW, this was all tested with Valgrind - no errors) _png_screen_gamma can now be 0.0 to disable gamma correction, i.e. if you don't know the screen gamma, it might be best not to guess. Got rid of inefficient BGR-handling hack and did things properly. New example: browse.c (for mass testing, e.g. PngSuite) Released: version 1.4pre1. ------- August 2005 ------- 18 Emmanuel Anne made _png_compression_level actually work. Released: version 1.4. ------- April 2006 ------- 9 Fix an endianness on big-endian machines, from Siarhei Siamashka. I haven't tested it. Released: version 1.5. From December 2007, loadpng lives in the Allegro repository. This file is no longer updated.