
=================================================
============ Changes from 3.0 to WIP ============
=================================================

   Added yet more overloaded operators (this time for long and double types) 
   to the fix class.

   Marius Fodor added support for the Sidewinder and Gravis GamePad Pro. 
   Many apologies for my taking so long to merge in this code!

   Stefan Schimanski optimised the reverse blitting routine (for overlapping 
   images).

   Added a shift+tab reverse focus movement key to the GUI routines.

   Grzegorz Hankiewicz added a new example showing how to create and use a 
   custom color mapping table.

   Totally revamped the joystick system (better API and new driver 
   structure).

   Modified the fix class to work properly with gcc 2.8.0.

   Added a help.txt "how to get tech support" file.

   The midi_pos variable is now negated, rather than cleared to -1, at the 
   end of a MIDI file. This can be used for measuring the length of a file.

   Added a rendering hook to the font structure, for use by text addon 
   packages.

   Improved the VBE/AF text output routine.

   Corrected an error in the way the VBE/AF driver interprets hardware 
   cursor colors.

   Pedro Cardoso contributed a tweaked 80x80 VGA mode.

   The VBE/AF driver now supports dumb framebuffer drivers as well as 
   accelerated ones.

   Added more accelerator support to the VBE/AF driver (hardware cursors, 
   lines, vertical lines, triangles, fixed width text output, and 
   opaque/masked blitting from system memory to the screen).

   Added a scare_mouse() function, based on ideas by Martijn Versteegh.

   The grabber now stores the "grab from grid" dialog state in allegro.cfg.

   Sven Sandberg fixed a problem with save_bitmap() widths being rounded 
   upwards.

   Made the _timer_installed flag globally visible.

   Ove Kaaven added linear framebuffer support to the native mach64 driver.

   Erik Sandberg optimised the 8 bit draw_sprite() and draw_trans_sprite() 
   functions.

   Michal Mertl fixed a memory leak in the generate_optimized_palette() 
   function.

   Added an ALLEGRO_DATE version define to allegro.h.

   Michael Bukin optimised the line drawing routine and fixed problem with 
   the inline asm constraints for fadd()/fsub().

   Fixed potential problems caused by a lag between the mouse state 
   variables changing and the pointer being redrawn.

   Michal Mertl optimised the clipping code for lines, rectangles, and 
   circles.

   Maiolino Carmelo contributed an Italian keyboard mapping.

   Fixed lockup problems caused by the keyboard LED functions on some 
   platforms/hardware.

   Added new create_video_bitmap() and show_video_bitmap() functions.

   Added a profile option to the test program.

   The keyboard handler now correctly updates the BIOS state for the right 
   control and alt keys when it shuts down.

   Fixed a problem that was preventing the DIGMID driver from reading patch 
   sets stored in executable appended datafiles.

   Changed the default sample priority from 255 to 128.

   Fixed some problems with virtual screen sizes in the VBE/AF driver.

   Added two new example programs.

   The VBE/AF driver now has full support for hardware accelerated drawing.

   Added VBE 3.0 support, including new triple buffering routines.

   Wrote a routine to select the sound input source (microphone, line input 
   or CD audio).

   Added proper support for stereo samples. This requires an extra parameter 
   to the play_audio_stream() function, so you will need to change any 
   programs that use this. I'm very sorry for breaking your old code!

   Fixed bugs with the SB16 autodetection and 16 bit sample recording.

   Added input support to the raw SB MIDI interface driver.

   Wrote a new test program to demonstrate the audio input features.

   Ove Kaaven added support for MIDI and audio (sampled sound) input.

   The pack_fopen() function now understands nested datafiles as directory 
   structures, using filenames like "graphics.dat#level1/sprites/zdurgle".

   Charles Mac Donald showed me how to set a 160x120 VGA mode, and more 
   reliable 400x* mode-X resolutions.

   Guilherme Silveira and Theuzifan Sumachingun both independently modified 
   the file selector to only list valid drive letters.

   Carsten Sorensen added a driver for the ESS AudioDrive soundcard.

   Przemek Podsiadly added hicolor versions of the 3d polygon routines.

   Ove Kaaven added truecolor support to the native ATI mach64 driver.

   Patrick Hogan added a draw_gouraud_sprite() function.

   Ben Chauveau added a driver for Tseng ET6000 cards.

   Marco Campinoti added truecolor support to the native Tseng ET4000 driver.

   Marco Marmulla added 16 bit support to the load_voc() routine.

   Added Danish, Swedish, and Norwegian keyboard mappings.

   Added GUI hook functions for scaling or offsetting the mouse position.

   Fixed bug which was causing a lockup when calling set_leds(-1).

   Michael Bevin optimised the create_trans_table() function.

   It is now possible to display a mouse pointer without the mouse handler 
   needing to be installed.

   Added a create_sample() function.

   Made the _blender_map pixel blending functions and the _mouse_installed, 
   _keyboard_installed, and _sound_installed flags globally visible.

   Added an 8-button joystick mode.

   Chris La Mantia fixed a minor visual problem with the d_icon_proc().

   Added a Rich Text Format (.rtf) version of the documentation.

   Added postfix increment and decrement operators to the C++ fix class, and 
   the unary negation operator is now const-correct.


