Allegro 5.0.3 released!
Peter Wang

http://sourceforge.net/projects/alleg/files/allegro/5.0.3/

Quote:

Changes from 5.0.2.1 to 5.0.3 (May 2011)
========================================

Input:

- Fixed keyboard repeat for extended keys on Windows.
Added ALLEGRO_KEY_MENU. (torhu)

- Make Delete key in Windows send KEY_CHAR event with unichar code 127
(Peter Wang).

Filesystem:

- al_remove_filename returned false even if successful (reported by xpolife).

Graphics:

- On OpenGL ES 1.1, glReadPixels can only read 4 byte pixels (Trent Gamblin).

Font addon:

- Fix a small memory leak when unregistering a handler with
al_register_font_loader (Trent Gamblin).

Primitives addon:

- Fix assertion failures when drawing al_draw_ellipse, al_draw_arc,
al_draw_rounded_rectangle, al_draw_filled_rounded_rectangle at very
small scales (reported by Carl Olsson).

Native dialogs addon:

- gtk: Fix truncated string if the final button contained a non-ASCII
character (Peter Wang).

Other:

- Minor build fixes and documentation updates.

MD5SUMS:
c79631f6adadbe4bce85ccbf795cbd74  allegro-5.0.3.7z
159ca85ea51c0447d951d720b06079f2  allegro-5.0.3.tar.gz
46db245202a7503063f21b691fdb503c  allegro-5.0.3.zip

Trent Gamblin

Thank you Peter.

jmasterx

Awesome! Thanks!

kenmasters1976

Downloading.

Michał Cichoń
Mark Oates

Downloading and using. Thx guise!@ ;D

GullRaDriel

Ask Mark said, thanks for the update and the fresh builds ^^

Neil Walker

There's not much in this release. Does it mean A5 is nearing perfection?

MiquelFire

A5.0 is nearing perfection. A5.1 has more stuff.

Karadoc ~~

As I mentioned here, I'm having trouble with the fonts addon when statically linking. I have no idea what the problem is, but I'm thinking that I'd like to try using a monolith build to see if that works. And even if it doesn't fix the problem, I think it would be more convenient anyway.

I'm using MinGW 4.6.0, for which the Allegro binaries are not available. So... are there any instructions floating around somewhere for how to build a static / dynamic allegro5 monolith? (I can't downgrade to gcc 4.5, because I need the c++0x features.)

[edit]
The problem in that other thread is now resolved. But I'm still a little interested in how to make a monolith build.

[edit again]
never mind. I've worked it out. It's actually pretty easy. Here are the steps.

  1. Build the allegro libraries, so that you have a directory containing liballegro_acodec-static.a, liballegro_audio-static.a, and so on.

  2. extract the *.obj files from those libraries using the 'ar' command. eg. on windows type

    for %x in (*.a) do ar x %x

  3. recombine those *.obj files into a single library, again with ar.

    ar rcs liballegro-monolith.a *.obj</terminal>

And that's all! liballegro-monolith.a is the monolith library, and all the other *.a and *.obj files can be deleted.

(edit yet again.. what's with the '</terminal>' at the end of my instructions? I can't see any surplus </terminal> in what I've typed)

Todd Cope

I have one small issue with this release (also noticed in the previous release). When building on Mac OS X with native image loading disabled I get an error on addons/image/png.c:

/Users/toddcope/Downloads/allegro-5.0.3/addons/image/png.c:18: error: ‘Z_BEST_COMPRESSION’ undeclared here (not in a function)
/Users/toddcope/Downloads/allegro-5.0.3/addons/image/png.c:18: error: ‘Z_BEST_COMPRESSION’ undeclared here (not in a function)

Adding #include <zlib.h> to the top of png.c fixes the issue.

Peter Wang

Thanks. We had that fixed in the 4.4 branch.

Matthew Leverton
Quote:

Allegro 5 is worse.

The signature is truth. >:(

Elias
Quote:

The signature is truth. >:(

Hm, maybe now I really get that April Fool's - the joke was that it wasn't a joke but nobody would realize.

AMCerasoli

How do I have to use the

liballegro-5.0.3-monolith-static-mt-debug.a

? because if I link to it, it gives my a lot of errors, and if I link to the system binaries too, it's the same.


C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ttf.o)||In function `render_glyph':|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|184|undefined reference to `FT_Get_Char_Index'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|199|undefined reference to `FT_Load_Glyph'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|321|undefined reference to `FT_Get_Char_Index'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|321|undefined reference to `FT_Get_Kerning'|
C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ttf.o)||In function `destroy':|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|445|undefined reference to `FT_Done_Face'|
C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ttf.o)||In function `al_load_ttf_font_f':|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|512|undefined reference to `FT_Open_Face'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|530|undefined reference to `FT_Attach_File'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|535|undefined reference to `FT_Attach_File'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|541|undefined reference to `FT_Set_Pixel_Sizes'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|553|undefined reference to `FT_Request_Size'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|563|undefined reference to `FT_Get_First_Char'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|565|undefined reference to `FT_Get_Next_Char'|
C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ttf.o)||In function `al_init_ttf_addon':|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|630|undefined reference to `FT_Init_FreeType'|
C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ttf.o)||In function `al_shutdown_ttf_addon':|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\ttf\ttf.c|658|undefined reference to `FT_Done_FreeType'|
C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(flac.o)||In function `init_dynlib':|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|112|undefined reference to `FLAC__stream_decoder_new'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|113|undefined reference to `FLAC__stream_decoder_delete'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|114|undefined reference to `FLAC__stream_decoder_init_stream'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|115|undefined reference to `FLAC__stream_decoder_process_single'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|116|undefined reference to `FLAC__stream_decoder_process_until_end_of_metadata'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|117|undefined reference to `FLAC__stream_decoder_process_until_end_of_stream'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|118|undefined reference to `FLAC__stream_decoder_seek_absolute'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|119|undefined reference to `FLAC__stream_decoder_flush'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|120|undefined reference to `FLAC__stream_decoder_finish'|
C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(flac.o)||In function `error_callback':|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|249|undefined reference to `FLAC__StreamDecoderErrorStatusString'|
C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(flac.o)||In function `flac_open':|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\flac.c|500|undefined reference to `FLAC__StreamDecoderInitStatusString'|
C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(modaudio.o)||In function `init_libdumb':|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|294|undefined reference to `duh_render'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|295|undefined reference to `duh_sigrenderer_get_position'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|296|undefined reference to `duh_end_sigrenderer'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|297|undefined reference to `unload_duh'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|298|undefined reference to `duh_start_sigrenderer'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|299|undefined reference to `dumbfile_open_ex'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|300|undefined reference to `duh_get_length'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|301|undefined reference to `dumb_exit'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|302|undefined reference to `register_dumbfile_system'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|303|undefined reference to `dumb_read_it'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|304|undefined reference to `dumb_read_xm'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|305|undefined reference to `dumb_read_s3m'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\modaudio.c|306|undefined reference to `dumb_read_mod'|
C:\Allegro 5.0.1\liballegro-5.0.3-monolith-static-mt-debug.a(ogg.o)||In function `init_dynlib':|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|99|undefined reference to `ov_clear'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|100|undefined reference to `ov_open_callbacks'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|101|undefined reference to `ov_pcm_total'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|102|undefined reference to `ov_info'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|104|undefined reference to `ov_time_total'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|105|undefined reference to `ov_time_seek_lap'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|106|undefined reference to `ov_time_tell'|
d:\Libraries\build\allegro\src\allegro-5.0.x\allegro-5.0.x\addons\acodec\ogg.c|107|undefined reference to `ov_read'|
||=== Build finished: 46 errors, 0 warnings ===|

The good news is that it gives me 0 warnings. ;D

Michał Cichoń

Static libraries require also dependencies. Link also:

libdumb-0.9.3-static-mt-debug.a
libFLAC-1.2.1-static-mt-debug.a
libfreetype-2.4.4-static-mt-debug.a
libogg-1.2.1-static-mt-debug.a
libvorbis-1.3.2-static-mt-debug.a
libvorbisfile-1.3.2-static-mt-debug.a
libzlib-1.2.5-static-mt-debug.a

Those are included in packages.

AMCerasoli

ohh I see... Thank YA!

Thread #607404. Printed from Allegro.cc