- Online Community Forums » Allegro Development » Allegro 5.0.4 released!

This thread is locked; no one can reply to it. rss feed Print
Allegro 5.0.4 released!
Peter Wang
Member #23
April 2000


Changes from 5.0.3 to 5.0.4 (August 2011)

The main developers this time were: Trent Gamblin, Matthew Leverton,
Elias Pschernig, Jon Rafkind, Paul Suntsov, Peter Wang and torhu.


- Restore searching of directories on PATH for DLLs to load on Windows.

- Fix crash on shutdown in headless Unix environment (no X11 display).

- Change all instances of al_malloc + memset(0) to al_calloc.


- Save memory in OpenGL case by freeing bitmap memory after uploading a
texture. Use a temporary buffer when converting lock buffer back to native
texture format.

- Don't release or refresh memory or sub-bitmaps when D3D device gets

- Do not set D3D sub bitmaps to modified when first creating them. This can
cause major slowdowns when creating a lot of sub-bitmaps and is likely
responsible for slow font performance/startup when using D3D.

- Fix incorrect number of display formats in D3D (tobing).

- Honor ALLEGRO_VSYNC in the WGL driver.

- Make titlebar icons the right size on Windows.

- Fix typo causing weird results of al_get_monitor_info on X.

- Don't setup FBO for a sub-bitmap whose parent is locked.

- Specialise ADD/ONE/INVERSE_ALPHA blend mode software scanline drawers.

- Toggle ALLEGRO_VIDEO_BITMAP flag off when creating a memory bitmap (both
bits were previously on).

- Add null bitmap assertion to al_clone_bitmap.


- New system for mapping extended keys in Windows keyboard driver.
Mainly for getting the same keycode for numpad keys independently of the
state of Num Lock.

- More reliable updating of the toggle modifiers in Windows keyboard driver
(Num Lock, Caps Lock, and Scroll Lock).


- Fix race conditions when starting timers from different threads.

Audio addons:

- Don't mix into a global temporary sample buffer, causing noise when two
separate mixers are trying to run in parallel.

- Make it possible to start/stop an audio stream which is attached to a voice.

- ALSA voices could not be resumed after being stopped, because the
update threads quit as soon as a voice is stopped.

- OpenAL backend did not handle the case where _al_voice_update returns less
than a full buffer.

- Attempt to load FLAC and Vorbis DLLs only once to avoid Windows popping up
too many error windows.

Native dialogs addon:

- al_show_native_messagebox() on Windows: add UTF-8 support; show heading;
show information icon by default.

TTF addon:

- Reduce memory usage.

- Don't make multiple passes over strings when computing text dimensions.

Build system:

- Make sure static builds on Windows never use DLL_TLS (Zac Evans).

- Made compilation possible with different combinations of Xinerama,
XF86VidMode, or Randr being present.

- cmake: Use find_path HINTS instead of PATHS in our DirectX SDK scripts.

- cmake: Search for D3DX9 once instead of multiple times (John-Kim Murphy).

- cmake: Find FLAC/Ogg/Vorbis libraries under the names generated by the
official MSVC project files.

- Include zlib.h explicitly for libpng 1.5.


- Add multisampling to SPEED example. Change examples to use ALLEGRO_SUGGEST
for multisampling.

- Include the font for under OSX within the bundle so it can be run
by double clicking.

- Use default blending/pre-multiplied alpha in ex_blend2.


- Various documentation updates.

- Fix minor memory leaks.


- Better way to make the Python wrapper work with both Python 2 and 3.

- Include Windows-specific functions in the Python wrapper.

05a03e2eb0dc99e977c356a8db2f0b3e  allegro-
e2e314ee7116c7efddd0497d6c885e46  allegro-5.0.4.tar.gz

Member #8,794
July 2007

Thanks. Downloading.

Desmond Taylor
Member #11,943
May 2010

Is there a guide to compiling it under windows with mingw? I really wan't to learn how to compile it under linux and windows at the end :D

Member #8,794
July 2007

Is there a guide to compiling it under windows with mingw?

It's really simple and it's in the installation docs.

  • Create a folder named build

  • From the build folder type:

cmake .. -G "MinGW Makefiles"

  • Run mingw32-make

  • Run mingw32-make install

Member #11,410
October 2009

Do note the array of dependencies needed for it to properly compile. You need to have libraries like FreeType, libpng, libjpeg, zlib, libvorbis and a few others. Otherwise you wont get many of the addons.

Desmond Taylor
Member #11,943
May 2010

Thanks guys, I shall look on the wiki now and if it looks short then I shall do it tonight. If it looks like it might take a few minutes to get everything ready then I'll have to leave it till the morning.

Edit: Looks like I will have to wait for someone to compile it for MingW as the wiki is a guide for Visual Studio and I cannot find certain libs and dll's needed.

I think the wiki needs an update for mingw users too :D

Michał Cichoń
Member #11,736
March 2010

Desmond Taylor
Member #11,943
May 2010

Thanks Michał Cichoń :D

Edit: I seem to have this problem "D:\Programming\allegro-5.0.4\lib\liballegro-5.0.4-static-mt.a(wsystem.o):wsystem.c|| undefined reference to `PathFindOnPathA@8'|"

mingw 4.5.2

Member #11,410
October 2009

Edit: I seem to have this problem "D:\Programming\allegro-5.0.4\lib\liballegro-5.0.4-static-mt.a(wsystem.o):wsystem.c|| undefined reference to `PathFindOnPathA@8'|"

You need to link to Shlwapi.lib .

Michał Cichoń
Member #11,736
March 2010

jmasterx is right, this is brand new A5 dependency on Windows.

"God starts from scratch too"
Windows Allegro Build Repo:

Arthur Kalliokoski
Second in Command
February 2005

jmasterx said:

You need to link to Shlwapi.lib .


Or, I suppose it's libshlwapi.a on MinGW.[2]

“Throughout history, poverty is the normal condition of man. Advances which permit this norm to be exceeded — here and there, now and then — are the work of an extremely small minority, frequently despised, often condemned, and almost always opposed by all right-thinking people. Whenever this tiny minority is kept from creating, or (as sometimes happens) is driven out of a society, the people then slip back into abject poverty. This is known as "bad luck.”

― Robert A. Heinlein

Desmond Taylor
Member #11,943
May 2010

Ahh, It works now. Thanks guys :D

RPG Hacker
Member #12,492
January 2011

Nice! :D
TTF loading really seems to be a lot faster now. I wonder, if the missing set_window_title() UTF-8 support was fixed. In the Changelog it only mentioned UTF-8 for dialogs. Guess not yet.

Go to: