PTC 2.0 Porting Kit Changes Log
-------------------------------


Version 2.0.21 [17/12/98]:

   -Added #ifdef __DEBUG__ checks in Console.cpp to check
    if the console is locked in functions that are undefined
    when the console is locked
   -Added more commenting to Console.cpp and fixed a few minor
    harmless bugs


Version 2.0.20 [13/12/98]:

   -Stripped tab characters from porting kit source code
   -Added self assignment checks in all assignment operators
   -Added overloaded =/==/!= operators to "Timer" class
   -Added "Timer::resolution" function to get the resolution
    of the timer implementation
   -Fixed some compile errors that occured when __DEBUG__
    was defined (forgetting to include Error.h)
   -Updated download directories for HERMES and HIP in
    source code comments (Clear.cpp and Copy.cpp)


Version 2.0.19 [10/12/98]:

   -Fixed another nasty bug in the "Error" class cascading
    constructor (thanks to Mikko Tiihonen).


Version 2.0.18 [9/12/98]:

   -Fixed a nasty bug in the "Error" class cascading
    constructor (thanks to brn).
   -Added comments to "Timer::clock" requesting that the
    portable call to "clock" in <time.h> gets replaced
    with a higher resolution platform dependent function.


Version 2.0.17 [7/12/98]:

   -Added a portable implementation of the "Timer" class
    using functions from <time.h> (untested).


Version 2.0.16 [6/12/98]:

   -Added "BaseSurface::option" so now both consoles and
    surfaces have option strings. The surface option string
    was added to control things such as dithering when
    converting between different pixel formats.
   -Added "Copy::option" to pass options from surfaces
    and consoles down to the copy object.


Version 2.0.15 [4/12/98]:

   -Added "Console::configure" function to read console option
    strings from a config file. Now the console constructor
    reads option strings from "ptc.cfg" if it exists and
    sends them to "Console::option" for processing. useful.


Version 2.0.14 [4/12/98]:

   -Added #ifdef __DEBUG__ checks throughout the code to assist
    in development and debugging. Common mistakes are now picked
    up before they cause problems in debug buld.
   -Added some more commenting throughout the code
   -Fixed some major bugs in the "Timer" class


Version 2.0.13 [2/12/98]:

   -Removed "Error::message" function, added constructor that
    performs the same functionality. Much cleaner this way.
   -Tidied up the source code a little bit


Version 2.0.12 [1/12/98]:

   -Fixed bug in Base.h, "BaseConsole::open(const char[])" was not
    declared in BaseConsole, even though it was declared in Console!
   -Added "Console::clear()" to clear to black, much nicer to just
    be able to go console.clear() when you want to clear black
   -Changed "Error::rethrow" to "Error::message"
   -Changed "Timer::time" to "Timer::set"
   -Started work on a proper clipping scheme that will properly
    clip source and destination areas together instead of just 
    clipping them as two seperate areas. This will make
    "Surface::copy" a hell of a lot more useful.
   -Updated "Surface" and "Console" classes to use new clipping
    function for source and destination clip


Version 2.0.11 [28/11/98]:

   -Fixed private inheritance bug in Surface.h (very serious bug!)
   -Added "Timer" class
   -Added "Key" class
   -Changed "Console::key" to return a "Key" object instead of an
    integer value.
   -Added "Console::flush" and "Console::finish" functions in the
    spirit of glFlush/glFinish.
   -Added key press buffer flushing code to "Console::close"
   -Updated "Index.h" and "ptc.h" to reference the new "Key" and
    "Timer" classes
   -Changed Format class direct color constructor slightly to be
    more robust with the bits per pixel check.
   -Added more commenting in the porting kit source code
   -Added lgpl.txt to the distribution


Version 2.0.10 [05/11/98]:

   -Fixed another m_locked flag bug in Palette.cpp lock/unlock


Version 2.0.9 [04/11/98]:

   -Fixed minor bug in Palette.cpp (failing to set the m_locked flag
    to false in one construction)
   -Fixed bug in Error.cpp (class destructor failing to delete the error
    message string)


Version 2.0.8 [03/11/98]:

   -Added lock/unlock functions to Palette class
   -Changed Error class to automatically prepend error messages
    when it is rethrown


Version 2.0.8 [31/10/98]:

   -Made copy constructors of Surface and Console private to disallow
    copy construction
   -Added "Palette" class to manage palette data and lookup tables
   -Modified "Copy" object extensively to accept "Palette" objects
    for the source and destination palettes
   -Updated Surface.cpp and Console.cpp to use the new Palette class
   -Changed Error::report slightly
   -Added "Console::open(char title[])" function
   -Changed "Area" constructor to automatically switch coordinates
    when left>right or top>bottom


Version 2.0.7 [12/10/98]:

   -Seperated the example programs from the porting kit and released
    the first release of ptc example programs ptc-examples-2.0.0.zip
   -Added Console::option to pass a platform dependent option string
    to the console
   -Added "extend.txt" to describe how to extend the functionality
    of PTC for a specific platform
   -Added "options.txt" describing the usage of the new Console::option
    function to pass platform specific options to the console
   -Added "define.txt" to explain the signature #define concept


Version 2.0.6 [11/10/98]:

   -Removed palette from Clear::clear. It was not required!
   -Added "BaseSurface" and "BaseConsole" to classes list
   -Added "area.txt" to describe how the "Area" class is interpreted
   -Put comments into the "Console" class describing which functions
    are only valid while the console is open
   -Added more commenting to functions in the "Console" class
   -Fixed the Clip::clip function to check the point against both
    min and max sides


Version 2.0.5 [01/10/98]:

   -Fixed the Clear::clear function to pass a palette
   -Added source AND destination palettes to the "Copy" object
    This means that it is theoretically possible to implement
    a quantize conversion from truecolor to indexed color


Version 2.0.4 [30/9/98]:

   -Fixed a silly bug in the Surface and Console classes in the
    hidden assignment operator members that stopped the porting kit
    from compiling under Visual C++ 5.0
   -Added lots more comments to "Console.cpp" almost finished now...
   -Removed "long64" from Types.h until it is actually used in the API


Version 2.0.3 [30/9/98]:

   -Added to comments of Console::update specifying that the contents
    of the back buffer are undefined after Console::update is called.
   -Added "classes.txt" to give a quick overview of each of the classes
    in the porting kit.
   -Added "Area", "Palette", and "Tunnel" examples to porting kit
   -Added missing newline after Error::report printf
   -Updated "Random.cpp" example program to work with the porting kit
   -Moved porting kit source into "source" directory and created 
    "examples" directory for example programs
   -Added private assignment operators to Surface and Console to have
    the effect of disallowing surface and console assignment
   -Fixed the Surface and Console classes to override all pure virtuals
   -Fixed the stupid errors that stopped 2.0.2 from compiling!


Version 2.0.2 [29/9/98]:

   -Fixed several cut&paste bugs in Surface/Console::load
   -Added some more commenting to the Console class to highlight
    the differences between lockable and unlockable consoles
   -Added changes.txt to the porting kit distribution


Version 2.0.1 [27/9/98]:

   -Lots of changes, finalized the PTC 2.0 API
   -Added BaseSurface::palette function to get the surface palette
   -Added "Clear" and "Clip" objects to perform common functionality
   -Changed "Copy" object to no longer be a singleton
   -Added BaseSurface::Clear functions to clear surfaces
   -Implemented all classes and commented the Console class heavily
   -Added quick readme.txt explaining the porting kit


Version 2.0.0 [15/9/98]:

   -Initial alpha release of porting kit
