The core developers this time were: Thomas Fjellstrom, Trent Gamblin, Evert Glebbeek, Peter Hull, Milan Mimica, Jon Rafkind, Peter Wang.
Allegro 4.9.6 and onwards are licensed under the zlib licence (see LICENSE.txt). This is a simple permissive free software licence, close in spirit to the 'giftware' licence, but is clearer and more well-known.
The core developers this time were: Trent Gamblin, Evert Glebbeek, Peter Hull, Milan Mimica, Elias Pschernig, Jon Rafkind, Peter Wang.
The core developers this time were: Trent Gamblin, Peter Hull, Milan Mimica, Elias Pschernig and Peter Wang. Ryan Dickie and Jon Rafkind also contributed.
Trent Gamblin made the mouse cursor always hide when the user calls al_hide_mouse_cursor in fullscreen (D3D).
Trent Gamblin fixed some signedness warnings and implemented show/hide_mouse in the display vtable for D3D.
Elias Pschernig made show/hide cursor use the display driver instead of the 4.2 gfx_driver.
Elias Pschernig fixed missing keyboard events in exnew_mouse_events example.
Elias Pschernig wired the X11 mouse driver to the XGLX system driver.
Jon Rafkind made various fixes to get the OSX build to compile
Trent Gamblin added exnew_mouse_events.
Trent Gamblin added exnew_mouse.
Jon Rafkind made the scons build get the library name dynamically.
Jon Rafkind made the scons build link Allegro using -l instead of using the full path.
Trent Gamblin added a note about MINGDIR in readme_a5.txt.
Trent Gamblin removed -lalleg_unsharable from allegro-config.in, since assembly is not used anymore.
Jon Rafkind fixed up allegro-config.
Trent Gamblin added some documentation on ALLEGRO_MSESTATE.
Trent Gamblin listed the examples in readme_a5.txt.
Trent Gamblin improved some inline documentation.
Jon Rafkind removed /lib from install path in unix.scons.
Jon Rafkind added the new demo to the scons build and allowed addons to be built statically or shared.
Trent Gamblin made the glx line drawing function use blending.
Trent Gamblin added cmake instructions to readme_a5.txt.
Elias Pschernig added readme_a5.txt.
Trent Gamblin fixed warnings in the demo.
Trent Gamblin fixed a crash-on-exit bug in tls.c.
Trent Gamblin replaced the old demo with a temporary one.
Peter Wang fixed gcc string warnings.
Peter Wang added some assertions to display_new.c.
Peter Wang merged changes from the 4.2 branch.
Elias Pschernig removed an unnecessary import from the naturaldocs upload script.
Elias Pschernig added a script to automatically upload the naturaldocs generated documentation to the website.
Peter Wang fixed missed renamings from AL_ to ALLEGRO_ in the Linux and X code.
Elias Pschernig merged 4.9-newgfx back to 4.9.
Peter Wang fixed a "ALLEGRO__JOYSTICK" typo.
Trent Gamblin renamed AL_ to ALLEGRO_ in input, events, and timer code.
Elias Pschernig implemented outline flag and blending for draw_rectangle in the GLX driver.
Elias Pschernig added another mysha.pcx for the font example.
Elias Pschernig re-added GLX checked to scons build which went missing in the merge.
Elias Pschernig added icon.xpm which went missing in the merge.
Peter Wang replaced _al_draw_bitmap_region_memory_fast with _al_draw_bitmap_region_memory.
Trent Gamblin made memblit.c compile a little faster in debug mode.
Peter Wang mergedd changes in r7948:10859 on 4.9 branch to 4.9-newgfx branch.
Peter Wang enabled WANT_D3D by default. Only set ALLEGRO_D3D on Windows.
Trent Gamblin made al_acknowledge_resize take the display as a parameter.
Trent Gamblin fixed some warnings and made the MinGW build compilable statically with gcc 4.2.1.
Peter Wang fixed a bug in ALLEGRO_CONVERT_BGR_565_TO_ARGB_4444.
Peter Wang renamed al_memory_management_functions() to al_set_memory_management_functions() and added some extra documenation for it.
Peter Wang removed NaturalDocs markup for Allegro 4.x display functions.
Peter Wang made OpenGL libraries link if building with X11 support.
Peter Wang fixed a signedness warning.
Peter Wang made al_destroy_bitmap return immediately when passed a null pointer instead of segfaulting.
Elias Pschernig made some cosmetic improvements to the code.
Elias Pschernig removed a bad optimization.
Elias Pschernig removed > GLX 1.1 specific code.
Trent Gamblin fixed several of the floating point unmapping functions that were doing integer division.
Elias Pschernig implemented blending in the GLX driver.
Elias Pschernig fixed GLX rotation to use radians and allow negative angles.
Elias Pschernig implemented rotated blitting in the GLX driver.
Jon Rafkind made scons install addons/font.
Jon Rafkind added a scons file for addons.
Jon Rafkind used target_scanner to find makedoc instead of using Depends.
Jon Rafkind forced makedoc to be a dependancy of the docs.
Trent Gamblin made 60hz the default refresh rate of the D3D driver.
Trent Gamblin changed al_create_mouse_cursor to accept ALLEGRO_BITMAP structures.
Trent Gamblin renamed __al_unmap_rgba to al_unmap_rgba_ex in the glx driver.
Trent Gamblin made al_(map|unmap)rgb(a)*_ex public.
Trent Gamblin made D3D windows show the resize cursor when resizing windows.
Jon Rafkind added allegro includes for asmdef.
Jon Rafkind erased older build demo target.
Jon Rafkind added the demo to the scons build.
Jon Rafkind made it so assembly files can be built statically.
Jon Rafkind made scons always build asmdef.
Trent Gamblin made al_acknowledge_resize and al_resize_display adjust clipping in the D3D driver. Mad eal_set_current_display
Trent Gamblin used higher compatibility flags to Direct3DCreate9, made D3D driver die more gracefully on unsupported configurations, removed flags from draw_line, and did more error checking.
Trent Gamblin turned al_init macros into an inline function.
Trent Gamblin commented out a TRACE line that was causing the entire log to be overwritten.
Peter Wang fixed an incorrect call to _al_vector_find_and_delete.
Peter Wang made various formatting fixes.
Peter Wang converted CR/LF line endings to LF.
Trent Gamblin added NaturalDocs for the graphics api.
Trent Gamblin fixed an instance where a variable could have been used uninitialized.
Trent Gamblin fixed texture coordinates in the D3D driver.
Trent Gamblin fixed formatting and an improper assertion.
Trent Gamblin removed a redundant call to al_set_target_bitmap.
Trent Gamblin fixed a bug in the DX joystick code that caused it to assert when it shouldn't.
Trent Gamblin made al_create_display call al_flip_display so the window is cleared.
Trent Gamblin made the D3D driver work where render-to-texture is not supported.
Trent Gamblin removed masking support completely.
Elias Pschernig got the font example working with the GLX driver.
Elias Pschernig renamed the font addon in the scons build.
Jon Rafkind made scons build modules in a separate directory.
Jon Rafkind bumped the version to match cmake.
Jon Rafkind fixed esd to be like the other unix modules.
Trent Gamblin changed color map and unmap functions to use the target bitmap.
Trent Gamblin added the font example to the cmake build process.
Elias Pschernig added the font example to the scons build process.
Elias Pschernig removed special handling of "src" dir, and made various cosmetic changes.
Trent Gamblin made cmake install to MINGDIR.
Trent Gamblin added a better font and example for the bitmap font addon.
Trent Gamblin removed unix header from install on other platforms.
Trent Gamblin added a bitmap font addon.
Trent Gamblin fixed a locking bug in the D3D driver.
Elias Pschernig removed masking from the GLX driver.
Trent Gamblin implemented blending for memory bitmaps (very slow unless the blend mode is ALLEGRO_ONE,ALLEGRO_ZERO with a pure white blend color).
Trent Gamblin implemented blending for the D3D driver.
Trent Gamblin added ALLEGRO_PIXEL_FORMATANY(15|16|24|32)_(WITH_ALPHA|NO_ALPHA) formats, used ALLEGRO_PIXEL_FORMAT_ANY_32_NO_ALPHA in locking examples, and ixed some formatting.
Trent Gamblin added al_clone_bitmap which makes an exact copy of the color-data of a bitmap.
Trent Gamblin added a ALLEGRO_KEEP_BITMAP_FORMAT flag that forces Allegro to use the same format as the disk file when loading bitmaps.
Elias Pschernig implemented video bitmap masking for the GLX driver (by converting to alpha textures and drawing with alpha blending).
Elias Pschernig fixed clipping in the GLX driver.
Trent Gamblin removed ALLEGRO_MASK_SOURCE flag in favor of ALLEGRO_USE_MASKING. Mask color is now a bitmap property. Removed ALLEGRO_NO_ALPHA flag and changed the meaning of ALLEGRO_USE_ALPHA to mean do alpha blending or not. Added al_set/get_bitmap_mask_color and removed al_set/get_mask_color. New masking example added (exnew_masking).
Trent Gamblin added proper clipping to al_put_pixel.
Trent Gamblin renamed graphics stuff from AL_ to ALLEGRO_ and removed patterned drawing.
Elias Pschernig implemented clipping for the X11 GLX driver (only for screen so far).
Trent Gamblin removed unused set_bitmap_clip entry from the bitmap vtable.
Trent Gamblin made clipping always enabled and made the clipping functions operate on the current target bitamp.
Trent Gamblin removed src/compat/coblit.c.
Trent Gamblin renamed scroll_display to scroll_screen in display.c
Trent Gamblin Removed commented code from src/display.c. Removed include/allegro/display.h and src/compat/cogfx.c
Elias Pschernig renamed XDUMMY driver to XGLX.
Elias Pschernig made some cosmetic changes.
Elias Pschernig made exblend work over the compatibility screen.
Elias Pschernig implemented upload_compat_screen method in the GLX driver.
Elias Pschernig optimized al_lock_bitmap/al_unlock_bitmap slightly.
Elias Pschernig added a flags parameter to the drawing primitives methods.
Trent Gamblin added flags to primitives in display vtable and renamed draw_filled_rectangle vtable entry to draw_rectangle.
Elias Pschernig implemented AL_SINGLEBUFFER flag and fixed bug with AL_FULLSCREEN in the GLX driver.
Trent Gamblin added a mode parameter to al_set_drawing_pattern.
Trent Gamblin added AL_OUTLINED flag that is the default for primitives.
Trent Gamblin added al_set_drawing_pattern and al_get_drawing_pattern, added a flags parameters to all the primitive drawing functions that can be: AL_FILLED, AL_PATTERNED, and added hline and vline functions for memory bitmaps.
Trent Gamblin ifdefed d3d stuff in win/wnewsys.c.
Trent Gamblin removed d3dx9 library from CMakeLists.txt.
Trent Gamblin ifdefed Direct3D stuff in display.c.
Jon Rafkind made scons read win32 files from cmake file list.
Trent Gamblin added al_wait_for_vsync and made it work with the D3D driver.
Elias Pschernig implemented immediate-resize for al_resize_display, and implemented fullscreen resizing.
Trent Gamblin added al_enable_bitmap_clip and al_is_bitmap_clip_enabled, added al_create_sub_bitmap, and made it work with D3D and memory bitmaps.
Elias Pschernig improved fullscreen handling.
Elias Pschernig added shutdown_system vtable entry to the system driver, and automatically call it on program exit. This allows unsetting fullscreen modes in the X11 driver.
Trent Gamblin added al_set_bitmap_clip and al_get_bitmap_clip, and made them work with D3D and memory bitmaps.
Elias Pschernig added XF86Vidmode fullscreen modes.
Elias Pschernig added xdummy files to cmake files list.
Elias Pschernig made al_resize_display work on non-resizable windows.
Elias Pschernig fixed opengl setup being issued in wrong thread.
Elias Pschernig moved src/misc/colconv.c from windows sources to general sources.
Elias Pschernig uncommented accidentally commented out line.
Elias Pschernig made scons read the list of source files from cmake/FileList.cmake, so there's only one place to add new files.
Trent Gamblin made _al_get_pixel_value faster.
Trent Gamblin made al_unmap_rgba_i use a table instead of relying on al_unmap_rgba_f.
Peter Wang changed #includes to use file names from the root of the include hierarchy, i.e. #include "allegro/internal/foo.h" instead of #include "internal/foo.h" and likewise for allegro/platform/foo.h.
Peter Wang removed some stray CR characters.
Trent Gamblin added al_get_bitmap_width, al_get_bitmap_height, al_get_bitmap_format, and al_get_bitmap_flags.
Trent Gamblin made al_drawrotated(scaled_)bitmap only lock the region of the destination is needs to for memory bitmaps.
Trent Gamblin made al_draw_scaled_bitmap use the ALFLIP* flags.
Trent Gamblin added an example of resizing a fullscreen display.
Elias Pschernig updated xdummy driver and implemented al_resize_display for it.
Elias Pschernig added another testcase.
Trent Gamblin added al_get_display_width and al_get_display_height, made al_getdisplay* work on the current display, and renamed al_notify_resize to al_acknowledge_resize.
Trent Gamblin uncommented everything in cogfx.c (removing the display parameter).
Trent Gamblin made exnew_lockscreen use pitch.
Trent Gamblin fixed scaled conversion macros (4444, 555, 565), added XRGB_8888 pixel format, made windowed mode default, moved get_num_display_modes and get_display_mode into the system vtable.
Trent Gamblin made exnew_lockbitmap use pitch.
Trent Gamblin fixed D3D unlocking bug, and used desktop format in windowed mode if not specified.
Elias Pschernig fixed a bug where events reported the wrong source display under X11.
Elias Pschernig added three simple test cases.
Elias Pschernig fixed al_lock_bitmap and al_unlock_bitmap implementation in the xdummy driver (for now it works in a slow way).
Trent Gamblin made al_notify_resize return success/failure and added al_resize_display to resize the display from code.
Elias Pschernig started implementing lock_region and unlock_region for the xdummy driver.
Elias Pschernig split xdraw.c out of xdisplay.c, used _AL_THREAD instead of pthreads in the xdummy driver, added a lock to the xdummy driver, in order to implement al_destroy_display, used the correct format.
Elias Pschernig fixed a comment typo.
Elias Pschernig fixed a typo in AL_CONVERT_PALETTE_8_TO_ABGR_8888.
Trent Gamblin improved D3D line drawing, added al_get_num_display_modes and al_get_display_mode, and cleaned up & organized some code.
Trent Gamblin removed _al_win_delete_from_vector.
Trent Gamblin added draw_memory_bitmap_region vtable hook to AL_DISPLAY.
Elias Pschernig implemented enough of the xdummy driver to run exnewap (doesn't display correctly yet though).
Elias Pschernig updated scons build files.
Elias Pschernig Removed windows specific includes from exnewapi.c.
Elias Pschernig added missing al_convert_mask_to_alpha prototype.
Peter Wang fixed src/tls.c to compile under Linux (not tested).
Trent Gamblin put TLS support back in for MSVC and UNIX.
Trent Gamblin cleaned up some code, added headers to new source files, grouped thread local variables into one structure (UNIX support is broken for now), and made mask color thread local.
Trent Gamblin added clear, filled rectangle, and line for memory bitmaps.
Trent Gamblin made it so the system driver is no longer hard coded, added switch_out method to display vtable, made the D3D window and system driver code generic.
Trent Gamblin merged 4.9-elias and 4.9-trentg into 4.9-newgfx.
Elias Pschernig adjusted prototype of _al_init to implementation.
Elias Pschernig fixed a bogus cast.
Elias Pschernig fixed typo in al_get_new_diplay_format for non-mingw.
Trent Gamblin made display and bitmap parameters local to the calling thread.
Trent Gamblin added al_draw_rotated_bitmap and al_draw_rotated_scaled_bitmap for memory bitmaps using Allegro's software rotation code as a base.
Trent Gamblin ported a stretch blit fix from 4.2, made al_init call allegro_init, made al_draw_bitmap(_region) much faster on memory bitmaps, and added al_draw_scaled_bitmap for memory bitmaps.
Trent Gamblin renamed AL_LOCKED_RECTANGLE to AL_LOCKED_REGION, and started on memory bitmaps (al_draw_bitmap and al_draw_bitmap region work).
Trent Gamblin made seperate functions for getting/setting display/bitmap parameters, made backbuffer-as-source bitmap work in D3D, and changed parameter ordering of some functions.
Trent Gamblin added al_is_compatible_bitmap removed dependancy on Allegro's 3D math functions from the D3D driver.
Trent Gamblin added al_convert_mask_to_alpha, made put/get_pixel faster if the bitmap is locked ahead of time, and brought back AL_MASK_SOURCE.
Trent Gamblin committed various bugfixes, implemented the RGB mapping/unmapping functions from Bob's API.
Trent Gamblin removed the D3DX library dependancy.
Trent Gamblin committed various bugfixes and got all of the examples working with the D3D driver.
Trent Gamblin fixed some of the compatibility conversions.
Trent Gamblin changed the examples back to autodetecting the graphics driver.
Trent Gamblin made fullscreen mode work with the D3D driver, and non-resizable windows.
Trent Gamblin finished bitmap conversion functions, improved locking, implemented get/put pixel, and made some speed improvements.
Trent Gamblin added a bitmap conversion function.
Trent Gamblin got the demo game running in D3D.
Trent Gamblin removed an unnecessary bitmap copy.
Trent Gamblin added a skeleton D3D driver.
Peter Wang fixed the generation of allegro-config under Mac OS.
Michael Jensen fixed a mistake in the documenation for is_compatible_font.
Peter Wang fixed wrong variable in example code for load_font();
Trent Gamblin fixed some problems with the cmake build on Windows.
Peter Wang removed the second parameter in a call to _al_event_source_needs_to_generate_event() which was missed earlier.
Peter Wang exposed some internal documentation on destructors, events and event sources to NaturalDocs.
Peter Wang changed al_wait_for_event() so that a timeout value of "0" means to not wait at all. To wait an indefinite amount of time the caller should pass the AL_WAIT_FOREVER constant.
Peter Wang removed the declarations of al_event_source_set_mask and al_event_source_mask which were missed in the previous change.
Peter Wang removed event masking abilities, that is, for the user to prevent an event source from generating particular event types. This was implemented using bitfields which limited the number of event types to 32. Although the limit could be raised event masking was probably not very useful anyway. In all, the functions removed are: al_event_source_mask, al_event_source_set_mask, al_wait_for_specific_event. The al_wait_for_specific_event() API also required event types to be bitfields.
Peter Wang fixed some spelling mistakes in the examples.
Peter Wang bumped the version to 4.9.2.
Peter Wang moved allegro/branches/4.3 to allegro/branches/4.9.
Ryan Patterson clarified the documentation of stop_sample().
Peter Wang and Trent Gamblin fixed some issues with the CMake build. The allegro-config script was not generated properly and liballeg_unsharable wasn't being installed.
Matthew Leverton changed an instance of long long to LONG_LONG and an LL suffix into a (LONG_LONG) cast, both for MSVC 6.
Matthew Leverton submitted a fix for MSVC 6 regarding MSVC's lack of a __FUNCTION__ macro.
orz, Matthew Leverton, and Peter Wang made the ALLEGRO_USE_C=1 option to work under MinGW and MSVC.
Anthony Cassidy fixed a typo.
Peter Wang removed the 'msvc' target from the fix.sh help message as it should not be used by users any more. Added a comment that it is used by zipup.sh.
Anthony 'Timorg' Cassidy made d_menu_proc fill up its assigned area with the gui_bg_color.
Basically we're just wrapping up what we have in version control up to now. See the commit logs if you want details.
This release introduces a few new subsystems. We have an event system, a new keyboard API, a new joystick API, a new timer API, and the start of a new graphics API. All of these are subject to change, as is usual for a WIP.
We are maintaining a certain level of source compatibility with the 4.2 API. If it's easy to maintain compatibility then we do it, otherwise compatibility is dropped. Obscure features are more likely to be dropped.
This release has had minimal testing on Linux/x86, Windows/x86 (MinGW) and Windows/x86 (MSVC). It seems to work on some Linux/x86-64 machines also. Other ports are broken or untested.
The new functions are as follows (in no particular order). No real documentation exists at the moment but interesting header files are: altime.h, display.h, draw.h, events.h, joystick.h, keyboard.h, timer.h.