
In this file you will find all the bugfixes and changes, with the newer
versions on top. 

---------------------------------------------------------------------------

Version 2.0.11-2 (18/01/1999):
  - Fixup release.
  - Links against dynamic Hermes. You can now upgrade Hermes separately from
    PTC.
  - A few minor things tidied up
  
Version 2.0.11 (24/12/1998):
  - Moved tunnel, etc. into demos/ directory and put official examples
    in examples/ (example distribution 2.0.2)
  - Implemented some more multi-threading using pthreads, not really
    recommended yet. Keep your hands off it.
  - Uses the newest Hermes release of the 1.2.* series. That means a few
    stretch converters are in there somewhere :)
  - X11Display.h split up, finally
  - Build hierarchy in source/ changed to represent Core and X11 components,
    similar to other distributions
  - 'make' will not execute 'make clean' anymore unless you do it explicitly.
    That means it is your responsibility to 'make distclean' if you change
    the configuration (I'm not your nanny :).
  - The JAVA target has been disabled until I get hold of a new jni.cc from
    Gaffer (with Palette class support)
  - Bugfix KeyPressMask instead of KeyPress in event selection, oops 
  - Directory finally renamed to ptc-x11-version/
  - Window background storage will now be used, if you overlap the window
    X will redraw it
  - X11DGAWindow::check removed. I've introduced a fallback system in
    the Console class instead. (This might remove the remote display crash
    bug if you force dga) 
  - Key class integrated. read() will return a key object now and this is
    standardised across platforms.
  - HERMES is now compiled using a C compiler for more speed (and included
    using extern "C")
  - HERMES is no longer include inside the PTC distribution!! You have to
    download it separately and install it before building PTC.
  - largely porting kit 2.0.21 compliant, e.g. support for operation
    "enable dithering"
  - Timer class imported but not implemented (too many changes, I had to 
    freeze the features at some point). The standard implementation is in
    there but its resolution is not too high. The class will remain
    compatible in the future though, just the resolution will increase.

Version 2.0.10 (20/10/1998):
  - PTC X11 is BETA from now on.
  - ptc-config added (sort of gtk-config like :), for use in your Makefile,
    it will give you the right flags and libs you need to compile a PTC
    application.
  - 'make install' will install the shared library now as well.
  - A better check whether the SHM extension can be used.
  - Implemented int32* Console::palette() to return the Console's palette
  - Surface and console clear implemented (and implemented in Hermes)
  - Surface clear example added
  - (Quite a few) big endian problems fixed in Hermes
  - .spec file included. I might provide a binary RPM from time to time..
    Or you can build your own if you have time :)
  - 'make install' adapted for rpm purposes.
  - Defined __PTC_X11__, according to specs. Can check for that on your
    programs.
  - BUGFIX: Big fat one, if you passed your own window to PTC the palette
    wouldn't get set in 8 bit modes !
  - ATTENTION! The flags() function is now deprecated for the sake of cross
    platform compatibility. ATTENTION! Use Console::option instead.
  - Only the default constructor is left for a Console, use different open
    routines to customise.
  - Rewrote the documentation to cater for Console::option.
  - BUGFIX: Native example uses the console pitch instead of hardcoded
    width now (*BANG BANG BANG*:)

Version 2.0.9 (01/10/1998):
  - Surface and Console save implemented
  - Clipping for area copy added
  - Plenty of messing around with 'const' attributes
  - Copy class not singleton anymore (that didn't last too long, did it? :)
  - read() will return the scancode returned by the X server for now. This
    might be changed in the future to be platform independent !
  - For more changes, read Hermes/CHANGES (new conversion routines, etc.),
    most notably 16 bit to * assembler routines

Version 2.0.8 (17/9/1998):
  - Surface load implemented
  - PTC_X11_PEDANTIC_DGA added (force DGA mode -if available- even if the
    requested format cannot be matched exactly)
  - Hermes 1.0.1 integrated (i.e. loads of new format conversion routines,
    optimisations, etc.). Read Hermes/CHANGES for more.
  - Made the Copy class a singleton. Only one instance.
  - Finally, you can press the close button on your windows now. PTC checks
    if it was pressed on every call to Console::update().
  - Fixed a division by zero bug in the Tunnel example
  - getX11Display, getX11Screen, getX11Window added to the Console to allow
    easy access to x windows resources used by PTC.
  - Area update added (update(const Area &area)) to speed up windowed
    display after Area copy (and ONLY after area copy! Area update is not
    effective outside windowed mode!)

Version 2.0.7 (8/9/1998):
  - Copy object modified to use Hermes
  - Bugs fixed with the Java interface (palette setting still doesn't work).
    It also seems not to work with gcc 2.7.2, only egcs and pgcc.
  - Can build a dynamic library now, either with or without Java interface.
  - Hermes integrated into the distribution
  - Remote display of 24 bit works now, as well as 24 bit display without
    MITShm or DGA.
  - Assembler routines should work on Non-ELF systems now (hopefully).
  - If you want optimised binaries / libraries or debug ones, you have to
    pass your own flags to configure now. Otherwise, NO flags will be used.
  - MMX support is disabled for this version. (The x86 routines are 
    currently faster, so there is no point enabling them).
  - You can specify a different make utility now using --with-altermake.
    Read configure --help for more (Requested by a fellow user :)
  - This version compiles on FreeBSD 2.2.7 (tested)

Version 2.0.6 (2/9/1998, never released):
  - 32 bit to 15 bit (RGB555) routine added. That fixes the bug in version
    2.0.5 (messed up colours with 15 bit)
  - Optimised routines: 32to16-MMX, 32to15-MMX
  - Java interface!! You can now download ptc-java-2.0.7 and start rendering
    in Java! (For this purpose, a dynamic version of the library is built)
  - Release aborted, major Copy object rewrite (All format conversion done
    by "Hermes" now)


Version 2.0.5 (29/8/1998):
  - Bugfix: No-stretching error works for all converters now
  - CPUID will not be called on 386s and 486s anymore, so x86 asm support
    is available for those (untested, unfortunately, I don't have a test PC 
    for that)
  - Bugfix: Any width works now, not only the ones where (width mod 4 = 0)
  - New conversion routines: Indexed 8 bit to Index8, 16 bit RGB, 32 bit RGB
  - All files renamed from *.cpp to *.cc
  - New structure that will allow quick implementation of stretch blitting
  - Your favourite 8 bit palette mode example is back: The FIRE example! :)
    I took the code from PTC 0.72 and modified to use 2.0 (an example where
    PTC 2.0 simplifies your code..). As a consequence, the palette example
    is gone.

Version 2.0.4a (20/8/1998):
  - Bugfix release, pthreads removed

Version 2.0.4 (17/8/1998):
  
  - Big/little endian configuration works now
  - int32 is defined as unsigned int instead of unsigned long now (following
    complaints from alpha users)
  - Random example removed, there are really enough examples that draw 
    random dots in there :)
  - first x86 assembler routines ! (32bit surface to 8,16,32 only)
  - first mmx assembler routines ! (32bit surface to 32,16 only)
  - Automatic fallback to select the fastest conversion routines
  - The assembler routines aren't optimised yet, but they're already a tad
    faster than gcc and egcs :) Nasm is required (URL in the INSTALL file)
  - You need nasm if you want to compile this version with x86 assembler
    routines. And it uses CPUID. So if your machine is an older one (386
    maybe?) this version will crash when it's trying to id your CPU. Go to
    Converter_mmx.cpp in source/static/Copy, remove the checkMMX line and
    set m_converter to false in the constructor.
  - New install script

Version 2.0.3 (10/8/1998):

  - Area copy added from the win32 distribution (no clipping yet, be careful!)
  - New copy object added from the win32 distribution (24 bit modes work
    again)
  - New area copy example
  - Surface destructor BUGFIX (delete [] m_pixels  instead of delete m_pixels)
  - write(...) renamed to load(...) and save(...) added
  - BUGFIX: DGA detection and SHM detection crashed when you used remote
    display over the net. But now my laptop works again and I can test 
    everything :). So that's fixed.
  - BUGFIX: 24 bit modes work now
  - I switched to SGML for the documentation and README, that makes it
    easier to maintain
  - Preliminary HTML documentation describing how PTC X11 works and useful
    calls you can make.. unfinished
 
Version 2.0.2 (7/8/1998):

  - Flags changed to enum instead of preprocessor directives
  - 3d realtime raytraced tunnel example added
  - 'make install'
  - 'make uninstall'
  - Example Makefile (Makefile.example, doh :) for your own demos (in docs/)
  - native mode example added (how to write directly to the console, not a 
    surface)
  - New open routines added and X11 window example changed: You can now open
    a console inside an X window with a custom size OR make the console the
    size of the whole window:
	open(display,window,format,flags) opens a console and makes it the
	size of the window
     AND
	open(display,window,format,x,y,width,height,flags) opens a console
	of size width/height at position x/y inside your custom X window
  - Bye bye, RTTI :) (it's much friendlier to gcc 2.7.2.* now, even fstreams
    work again wow)

Version 2.0.1 (24/7/1998):

  - Quick cleanup release following the new win32 distribution
  - New format conversion routines from Gaffer (mostly all format conversions
    supported now, in C++ though, not assembler)
  - Version policy will follow the 2.0.x path now instead of prereleases
  - gcc 2.7.2 gives a warning with the new Copy object, ignore it

Version 2.0.0.pre4 (24/7/1998):

  - linux/ example directory renamed to unix/
  - First small man page giving just a description
  - flags are passed to the open routine in the unix example instead of
    calling flags() explicitly
  - #include <typeinfo> only in Format.h Error.cpp and dumpinfo.cpp, removed
    everywhere else (iostream needs it)
  - Doing my own big endian check now, the autoconf one does not work
  - INSTALL file added, README file changed
  - examples updated (from win32 distribution)
  - "config.h" renamed to "ptconfig.h" (for later installation in 
    /usr/local/include)

Version 2.0.0.pre3 (23/7/1998):

  - Initial alpha release (wow)
  - Format conversion integrated
  - Changes to makefile structure (allows 'make debug' now)
  - Quite a few primitive functions changed to inline

Version 2.0.0.pre2 (18/7/1998):

  - 8 bit mode support added (palette support)
  - Native window open routine added
  - Makefile hierarchy created
  - Configure script updated and checked on SGI
  - shm falls back to normal image if initialisation fails
  - Hierarchy sane again, back to the original constructors in Base.h
  - Optimisation level decreased to -O2 because of gcc bugs

Version 2.0.0.pre1 (14/7/1998):
  
  Initial implementation of the 2.0 API
