{"name":"611923","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/a\/3a0a3fc0681b4f8136d6dcbee6ca20f3.png","w":940,"h":620,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/a\/3a0a3fc0681b4f8136d6dcbee6ca20f3"}
You know what keeps happening again and again? That's right, it's Allegro 5 releases! It's literally been exactly a year since the previous release, it's amazing how much time gets taken up by having a day job!
Anyway, as always you can download the sources and MinGW binaries on GitHub (get dependencies here). You can MSVC binaries from Nuget and Ubuntu binaries from a PPA. Homebrew binaries are forthcoming.
Here's the changelog:
The main developers this time were: Sebastian Krzyszkowiak, SiegeLord, Elias Pschernig, Bruce Pascoe, Aldrik Ramaekers, Firat Salgur.
Core:
Try to identify bitmap format for unknown extensions.
Add some missing OpenGL 4.3 functions.
Add al_create_thread_with_stacksize to create threads with a custom stack size. (Aldrik Ramaekers)
Add al_get_system_id function, letting you disambiguate platforms at runtime.
Graphics:
Add al_get_monitor_dpi to query the DPI of a monitor.
Add new API for making blender a bitmap-local state (like transformations), which can simplify some code. See al_set_bitmap_blender and the related APIs. Also see the ex_blend_target example.
Added al_transpose_transform. This is useful for rotation transformations.
Rework internal GLES support for better portability.
Don't force POT bitmaps on GLES.
Fix repeated bitmap locking on OpenGL.
Android:
Various documentation and other improvements (Christian Mauduit).
Fix OpenGL version reporting after display creation.
iOS:
Fix OpenGL version reporting after display creation.
Linux:
Improve linux joystick detections.
Fix a number of memory leaks/crashes in the audio addon when using pulseaudio/alsa. (Julian Smythe)
Fix compilation with Mesa 18.2.5 and later.
Fix OpenGL version reporting after display creation (Edgar Reynaldo).
Fix requesting specific OpenGL versions via display options (Edgar Reynaldo).
OSX:
Make al_get_monitor_info return the correct values for Retina displays.
Fix vsync on OSX 10.14+.
RaspberryPi:
Fix OpenGL version reporting after display creation.
Windows:
Fix toggling of menu checkboxes by id.
Fix al_draw_indexed_primitive while using Direct3D.
Fix crash when passing NULL display to al_show_native_file_dialog while using ALLEGRO_FILECHOOSER_FOLDER.
Fix OpenGL version reporting after display creation (Edgar Reynaldo).
Fix requesting specific OpenGL versions via display options (Edgar Reynaldo).
SDL:
Sebastian Krzyszkowiak has spent a lot of effort to making the SDL backend usable as a nearly fully featured Allegro backend. You can use it on platforms native Allegro implementations do not support (such as emscripten, etc.).
Addons:
Better logging when failing to load a resource.
Fix a memory leak when destroying a mixer with attached streams.
Fix a memory leak in the audio destroying a mixer with attached streams.
Acodec addon:
Allow modules to loop properly when the user hasn't specified loop points. (Todd Cope)
Audio addon:
Better support for big endian. (Douglas Mencken)
TTF addon:
Added support of HarfBuzz in FreeType (Arves100).
Documentation:
Source links now point to the correct commit on GitHub.
General improvements and clarifications.
Examples:
Add ex_blend_target.
Windows Dependencies:
The Windows dependencies got upgraded to their newest versions.
libpng 1.6.30 -> 1.6.36
freetype 2.8 -> 2.9.1
libjpeg-turbo 1.5.2 -> 2.0.1
physfs 2.0.3 -> 3.0.1
dumb 0.9.3 -> 2.0.3
libogg 1.3.2 -> 1.3.3
libvorbis 1.3.5 -> 1.3.6
opus 1.2.1 -> 1.3
opusfile 0.8 -> 0.11
libwebp 1.0.2 new
SHA256SUMS 95af0d9f712ae26aeab8764d48787f6cfca36e52788fb5ffc6543c1e7762feae allegro-5.2.5.0.7z ee97ede13540d1545b10fc63319ccb2bf8e9f8c104abad9ae718abff0444fad5 Allegro.5.2.5.0.nupkg 59968da34a0353913868b8299aaff9520d19a3b0960c6406be8323a6ac9bb719 allegro-5.2.5.0.tar.gz 74722a072e2c94bd25a3ae5a6e71f0950dd7635d575c41d8bead4d079574ac86 allegro-5.2.5.0.zip 70f49ce0e7aa2fd84b02e3a0d327d05f0df2a3a0734526d344513121e6c8ae83 Allegro.5.2.5.1.nupkg 131728627c4fcd2c0757fea393caae5189747b49ef9c0f2f146472c96f5dcee6 AllegroDeps.1.8.0.0.nupkg 692e5fb67d5fedcfa847063ce35ca0b8778a363ab2cc79b10142a19aaced5521 AllegroDeps.1.9.0.0.nupkg 6d32bea9f0e435cd0bf27375ef5c64f3df55edcd6a685a54a45bd7a0a8736c32 allegro_deps-i686-w64-mingw32-gcc-7.4.0-posix-dwarf-1.8.0.zip 2bf32e440d460ac1bc847547561290878584fe025cdbf6f6b719d4706ab5a971 allegro_deps-i686-w64-mingw32-gcc-7.4.0-posix-dwarf-1.9.0.zip 51f26999273ee18d88c18b6ab48f6b3fd96f9913b9ce2a443df768a0ce27bdc5 allegro_deps-x86_64-w64-mingw32-gcc-8.2.1-posix-seh-1.8.0.zip 05b30a518afeac87876282dee52b2fcee4403401499795dab77f069563789dee allegro_deps-x86_64-w64-mingw32-gcc-8.2.1-posix-seh-1.9.0.zip 58fc2b25813c41b0b347248802f585615590873645921e0454b6e21854acd429 allegro-i686-w64-mingw32-gcc-7.4.0-posix-dwarf-dynamic-5.2.5.0.zip 6ff46889861274cc2a26181718da936fbce9f817397774d5a5b538797933f035 allegro-i686-w64-mingw32-gcc-7.4.0-posix-dwarf-dynamic-5.2.5.1.zip 9b18bc9c8784481e7f29624ac28e9298f2d7193ce4338c1db31a315be336cbad allegro-i686-w64-mingw32-gcc-7.4.0-posix-dwarf-static-5.2.5.0.zip da8fc4e89125342a35ada8c92d9d35c3531d416816d66b579519527e1a2aed48 allegro-i686-w64-mingw32-gcc-7.4.0-posix-dwarf-static-5.2.5.1.zip ac163856de158e0b421bcef966961502735cc156c05b21a597f45c49a7b298cf allegro-x86_64-w64-mingw32-gcc-8.2.1-posix-seh-dynamic-5.2.5.0.zip a4462700f12cfb27d5f892939bf16dc7ba1f62d17992d2b9336581204bc96288 allegro-x86_64-w64-mingw32-gcc-8.2.1-posix-seh-dynamic-5.2.5.1.zip 7b32144c41e48d7bda35c53a03b5c17f9b6d0b14557e705e878358e161d049a4 allegro-x86_64-w64-mingw32-gcc-8.2.1-posix-seh-static-5.2.5.0.zip 67a840cad4ae13b910bb38eb01161c31829882136751a1dc6a5a25edf6005edc allegro-x86_64-w64-mingw32-gcc-8.2.1-posix-seh-static-5.2.5.1.zip
I just want to say I really appreciate the work you guys put into these.
I went looking through SDL documentation the other day and honestly, I wonder why people actually use it over Allegro / SDL was more popular. The API is rather ugly, they split the library into many sub-libraries just like Allegro (libmixer is a completely separate download from sdl!??!!), and they don't offer many functions that Allegro does.
LORD OF CINDER FALLEN
Excellent work, downloading now
Edit: I'm getting Opus issues- harks back to NiteHackr in the 5.2.4 release thread. No linker errors though; just a failure to load the stream at runtime. I've got libopus0 and libopusfile0 installed.
Using -lopusfile -lopus doesn't seem to help, and ldd reports that my executable doesn't depend on either library. Am I missing something?
Maybe the version is too low ?
opus 1.2.1 -> 1.3
opusfile 0.8 -> 0.11
You know what keeps happening again and again?
Is there a regular release schedule or did something particular happen (or was it just a quiet day in Siege Mansions? )
{"name":"free-MrBurnsExcellent.gif","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/e\/2eccb8911cadf337a09b8b56863d7806.gif","w":280,"h":210,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/e\/2eccb8911cadf337a09b8b56863d7806"}
Maybe the version is too low ?
I think SiegeLord was just pointing out the updates to the Windows dependencies bundled in allegro_winpkg. Does anyone know the minimum required versions of libopus/libopusfile? I've got 1.12/0.9 respectively.
ldd reports that compiling with Ubuntu 18.04's stock Allegro 5.2.3 adds libopus.so and libopusfile.so to my executable's dependencies.
Nice work.
There's a comment on liballeg about some commits not being in 5.2.5 yet, so I'm delaying my binaries a bit.
I can't get theora to build this time. It's being cranky...
Xiph.org is clearly ruining our builds. They must be stopped.
{"name":"611933","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/c\/fc4b63d61968168737fdd660894777c4.jpg","w":1275,"h":673,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/c\/fc4b63d61968168737fdd660894777c4"}
I think I'm just gonna build from master. But there's an important patch for 4.4.3 that I want to include.
There's a comment on liballeg about some commits not being in 5.2.5 yet, so I'm delaying my binaries a bit.
All the commits that should be there are in fact there.
https://github.com/liballeg/allegro5/compare/5.2.5.0...master
So the OpenGL version reporting and selection is not meant to be committed?
That doesn't show what you think it does. Here are the commits in the release: https://github.com/liballeg/allegro5/commits/5.2.5.0
I wonder why they don't agree?
My guess: if you rebase a commit then it's not the same commit (different hash)?
https://github.com/liballeg/allegro5/compare/5.2.5.0...master shows the commits that were added to master since the last common commit between it and 5.2.5 branch. https://github.com/liballeg/allegro5/compare/5.2.5.0..master shows the differences between the tips of both branches, but not commits (not sure how it would show that).
EDIT 5
There was a bug in PhysFS 3.0.1 that has been fixed and superceded by PhysFS 3.0.2. I updated the binaries to use the new version of physfs. The bug would cause physfs_init to fail on Windows 10. See https://github.com/liballeg/allegro5/issues/1029 for details.
The links stayed the same, but the files were updated. So if you downloaded binaries from before today (03/19/2019 16:20 GMT) please download them again.
Binaries are forthcoming. I couldn't get opus and openssl to build with MSYS alone, so I won't be providing them. Pretty much everything else you could think of will be included.
32 bit first, and then 64 bit as I have time.
EDIT
Here's 32 bit Allegro 5.2.5 built with GCC 8.1 using MinGW-W64.
Allegro525_GCC81_MinGW-W64_i686_posix_dwarf.7z
EDIT4
NM. xD
It includes all the dependencies, debugging and release dynamic and static allegro monoliths, example programs, demos, test programs, chm manual, and a batch script to setup a build environment and to run the examples and demos and tests.
I'm in the middle of updating my compile guide too. Gave it a fresher look and better formatting.
And oh yeah, here's a couple tasty treats for you :
EDIT
It seems there is a bug in PhysFS that makes physfs_init return 0 and fail in version 3.0.1. As soon as it is fixed I will update all the packages.
Oh my! A CMake manual in CHM format? Thanks!
I've updated the Nuget and MinGW packages to deal with the PhysFS issue on Windows 10. PhysFS is now version 3.0.2.