Allegro 5.0.1 released!
Peter Wang


Changes from 5.0.0 to 5.0.1 (March 2011)

The main developers this time were: Trent Gamblin, Elias Pschernig, Peter Wang.
Other contributions noted in-line.


- Automatically destroy framebuffer objects (FBOs) created for non-memory
bitmaps after a while. This solves the problem of running out of resources
if you set many different target bitmaps.

- Make al_get_opengl_fbo attempt to create an FBO if one doesn't exist.

- Avoid very small textures in Direct3D.

- Do not sync from memory when first creating/uploading a bitmap (D3D).

- Try to fix the problem of the taskbar appearing above fullscreen windows
on Windows.

- Center the window after toggling fullscreen on Windows.


- Support 4-way mouse-wheel and up to 32 mouse buttons in X11.

Audio addons:

- Avoid buffer overrun while reading from vorbis files.

- Added optional support for Tremor in place of libvorbis on any platform.

- Do not prefer DirectSound with OpenAL. This can cause problems and also
will override user config.

- Play silence where needed in DirectSound driver.

TTF addon:

- Do not hold bitmap drawing when changing target bitmap, which is invalid
and caused transformations to be misapplied.

- Remove FBO for a cache bitmap once we are no longer adding glyphs to it.

Build system:

- Force "default" visibility of _al_mangled_main on OS X, otherwise the
dynamic linker cannot find the symbol if building with XCode4
(Owen Anderson and Peter Hull).

- Generated pkg-config files should take into account LIB_SUFFIX variable
(Cristian Morales Vega).

- Update allegro_font pkg-config file to not require allegro_primitives.


- Various documentation updates.

- Add copy of DejaVu font licence.


- Add allegro_main addon to the Python wrapper. Make the wrapper work with
Python 3, which has a different string representation. Add parameter type
checking for custom types.

dc1e3a5ebded833f3236787d00f1b409  allegro-
7a7dafa3362b97dd653f736e21f5ef21  allegro-5.0.1.tar.gz


Yay! Thanks for the continued effort guys and gals!


I'm trying it !

Michał Cichoń

Build in progress...


I can't select the last item in the left list in ex_display_options.exe .

I can move on it with the keyboard, but can't select it with the mouse.

Michał Cichoń

Fresh build for Windows!

Process terminated with status 0 (118 minutes, 56 seconds)
0 errors, 1649 warnings (118 minutes, 56 seconds)


Neil Walker

Well done.

I'm glad to see you now support 32 mouse buttons, that always bugged me with my mouse the size of a keyboard and only marginally less buttons ;)

Matthew Leverton

Next release will add support for 32 mice with 32 buttons each.


I just got my 5.0.0 RPM approved and then you hit me with this?! :'( What is the DejaVu license about? Sounds like something I should be aware of packaging Allegro for Fedora... :-X Append: The diff of the two releases seems to suggest that DejaVu is distributed with the examples and isn't actually part of Allegro in any way. Is this correct?



Peter Wang
bamccaig said:

The diff of the two releases seems to suggest that DejaVu is distributed with the examples and isn't actually part of Allegro in any way. Is this correct?

That's right.


Then it appears that my existing spec works with 5.0.1! :D

Neil Roy

I'm glad to see you now support 32 mouse buttons, that always bugged me with my mouse the size of a keyboard and only marginally less buttons ;)

That made me laugh out loud. I was beginning to wonder why I was wasting my time with an old keyboard when I could be using a mouse. I'm starting to feel inadequate with just a little 3 button mouse now. ;D


I have a couple of minor issues with 5.0.1.

In one of my programs, I used to create a 2x2 bitmap to draw some simple dotted lines using al_draw_prim(). Now I've just found that it no longer works as it used to. I'm guessing it's due to the Avoid very small textures in Direct3D change.

So, what's the minimum texture size now?. On my machine, seems to be something like 16x16. Is that a safe minimum to assume so that it works on everyone's computer?.

The second issue seems to be a minor bug. It looks like al_set_new_window_position() puts the window slightly off (it was fine in 5.0.0). You can see it easily with al_set_new_window_position(0, 0). I'm using Windows XP SP2, by the way.

Trent Gamblin

Can you post a code sample using 2x2 bitmaps that fails?

For the second problem, I'll have to look into it... maybe this weekend if I remember (would be much easier to remember if it's on the bug tracker nudge).


This code is similar to what I'm doing in my program:

1#include <allegro5/allegro.h> 2#include <allegro5/allegro_opengl.h> 3#include <allegro5/allegro_primitives.h> 4 5 6 7ALLEGRO_DISPLAY *display = NULL; 8ALLEGRO_EVENT_QUEUE *events = NULL; 9ALLEGRO_BITMAP *pattern = NULL; 10 11 12 13void init_pattern() { 14 pattern = al_create_bitmap(2, 2); 15 al_set_target_bitmap(pattern); 16 al_clear_to_color(al_map_rgba(0, 0, 0, 0)); 17 al_draw_line(0.5, 0, 0.5, 2, al_map_rgb(0, 0, 255), 1); 18 al_set_target_bitmap(al_get_backbuffer(display)); 19} 20 21 22 23void draw_pattern_line(float x1, float y1, float x2, float y2) { 24 ALLEGRO_VERTEX vtx[2]; 25 26 vtx[0].x = x1; 27 vtx[0].y = y1; 28 vtx[0].z = 0; 29 vtx[0].u = 0; 30 vtx[0].v = 0; 31 vtx[0].color = al_map_rgba(255, 255, 255, 255); 32 33 vtx[1].x = x2; 34 vtx[1].y = y2; 35 vtx[1].z = 0; 36 vtx[1].u = 20; 37 vtx[1].v = 0; 38 vtx[1].color = al_map_rgba(255, 255, 255, 255); 39 40 al_draw_prim(vtx, 0, pattern, 0, 2, ALLEGRO_PRIM_LINE_LIST); 41} 42 43 44 45int main() { 46 al_init(); 47 al_install_keyboard(); 48 al_set_new_display_flags(ALLEGRO_WINDOWED); 49 al_set_new_window_position(0, 0); 50 display = al_create_display(640, 480); 51 al_init_primitives_addon(); 52 53 events = al_create_event_queue(); 54 assert(events); 55 al_register_event_source(events, al_get_keyboard_event_source()); 56 57 init_pattern(); 58 59 al_clear_to_color(al_map_rgb(255, 255, 255)); 60 draw_pattern_line(0, 0, 640, 480); 61 al_flip_display(); 62 while (al_is_event_queue_empty(events)) ; 63}

This is the output with 5.0.0:

And this is the output with 5.0.1:

Thread #606692. Printed from