{"name":"cKWl0K2.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/9\/3\/930f6ed6769e42e81579aaef63729716.png","w":256,"h":256,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/9\/3\/930f6ed6769e42e81579aaef63729716"}
It finally happened... again. Allegro has a new version, with fewer known bugs and more unknown bugs.
You can grab the new version here with Windows binaries available. OSX binaries and Ubuntu PPA will be updated eventually.
The main developers this time were: SiegeLord, Elias Pschernig, Sebastian Krzyszkowiak, Julian Smythe.
- Add a configuration summary. Currently this mostly reports the addon features.
- Fix build failure with sanitizers enabled.
- Remove -Wdeclaration-after-statement, MSVC had support for this for a while now.
- Bump minimum CMake version to 3.0.
- Add al_fopen_slice mode to prevent seek on close (Karl Robillard).
- Allow configuring bitmap wrapping via al_set_new_bitmap_wrap.
- Reject creating bitmaps with negative width or height (Peter Hull).
- Add a minimal shader implementation for GLSL. Minimal shader supports fewer features, but is faster (Issue #1120). Select it via the _MINIMAL suffix to the shader platforms.
- Improve emscripten instructions for building demos (Connor Clark).
- Fix usage of SDL_Init for emscripten (Issue #1322) (Connor Clark).
- Fix a few thread-related crashes.
- Don't use -flat_namespace in LINK_FLAGS (danielnachun).
- Make al_get/set_window_position work on Retina displays
- Fix flickering when creating multisampling displays under DirectX.
- Fix multisampling selection on Windows with OpenGL.
- Fixed a bug which freezes and crashes the window in Windows OpenGL (HerrNamenlos123).
- Allow specifying shader model 3_0 for HLSL shaders (Issue #1154).
- Ignore touch events from indirect touch devices.
- Use SDL_PeepEvents for event handling, to improve performance.
- Improve joysticks support (Issue #1326) (Connor Clark).
- Fix mouse axis setter (Connor Clark).
- Use clock_gettime with CLOCK_MONOTONIC instead of gettimeofday (check-switch-26).
- Update Gradle to 5.0.
- Add ALLEGRO_PLAYMODE_LOOP_ONCE (Issue #1309).
- Add al_play_audio_stream, a 'simple' API endpoint for audio stream playback.
- Fix Vorbis/Opus support under MSVC + Clang.
- Add audio identification / al_identify_sample.
- Use regular seeking for Ogg streams. The old one did cross-fades, causing unexpected behavior in certain cases (Issue #1310).
- Enable looping for modules.
- Allow identifying and listing audio devices via new API: al_get_num_audio_output_devices, al_get_audio_output_device, al_get_audio_device_name (Aldrik Ramaekers).
- Add linear and oklab color spaces to the color addon.
- Fix declaration of al_draw_multiline_textf() as a PRINTFUNC (check-switch-26).
- Prevent RLE data in corrupt .tga from overflowing the buffer (Peter Hull).
- PCX loader validation (Peter Hull).
- Windows BMP - Make more robust to crashing (Peter Hull).
- Fix DDS compressed image loading when image dimensions are not multiple of block size (check-switch-26).
- Fix native dialogs addon compatibility with older GTK+ versions
(Andrew Kravchuk).
- Fixed TTF rendering when using transforms (check-switch-26).
- Fix incorrect error handling in PHYSFS_close (j-w-c-b).
- Allow identifying video files via a magic number, exposed via al_identify_video (Issue #1262).
- Fix al_is_video_addon_initalized (Jayson).
- Document some reasonable defaults for al_create_mixer`/`al_create_voice.
- Refactor the audio docs to highlight the simple API better.
- Fix a few data race issues, in an effort to fix ex_threads crashes on Linux.
- Allow exiting from ex_audio_timer (BillKek)
- Add the Allegro 4 "shooter" demo.
- Fix ex_threads crash under D3D.
- Add ex_audio_devices.
- Update ex_palette to build with Emscripten (Issue #1318).
- Improve ex_stream_seek.
- Improve ex_windows.
SHA256 SUMS d730cba5b2c445cd1a514c93beaa5dcd1038ddd8d988df1b06e69e669815b2d8 allegro-5.2.8.0.7z 089fcbfab0543caa282cd61bd364793d0929876e3d2bf629380ae77b014e4aa4 allegro-5.2.8.0.tar.gz db4b07f97b89ad40617d65594430e9df78b050f0fa37e387e1dce833f43f5b6c allegro-5.2.8.0.zip d05675d3f7604646aa321899579b08a1d80dea0f1c4f0f0c58717b390665c43b Allegro.5.2.8.nupkg a25d9c3934f3a896a69eead38a816819f40fc1cd9b0cc950e306dbc35373ca35 AllegroDeps.1.13.0.nupkg 371084cbed4459f4f0b7feec5ee98c062757542439fe3ee2c0ca459a9226b9f0 allegro_deps-i686-w64-mingw32-gcc-12.1.0-posix-dwarf-1.13.0.zip 590d091f1300b88b144748d3ec0c63b133a6216f7d0c3c004dc2c8fb6ae97c5c allegro_deps-x86_64-w64-mingw32-gcc-12.1.0-posix-seh-1.13.0.zip 93c58a3fa3179395347a6e4baa15d200730c54180a24e624c2e8ba8e0057cce8 allegro-i686-w64-mingw32-gcc-12.1.0-posix-dwarf-dynamic-5.2.8.0.zip c5c1511bf8e9782028fe7cf17d9feb11829795b7a9fbec9667315a100d96901a allegro-i686-w64-mingw32-gcc-12.1.0-posix-dwarf-static-5.2.8.0.zip e89f4daf5fa27a48bb183e4475a1993fb0fe6c81acd40d3c887f5ac12f3fe576 allegro-x86_64-w64-mingw32-gcc-12.1.0-posix-seh-dynamic-5.2.8.0.zip 1a9d48ea027cdf646cc9643245a8c44618dbc16f8f76dca0651c1f6dd9b0cf33 allegro-x86_64-w64-mingw32-gcc-12.1.0-posix-seh-static-5.2.8.0.zip
Congratulations SL and all the contributors!
como limpar o buffer de teclado no allegro 5 ?
Thank you for you continuing efforts
Thanks for the great job !
BTW I would love to ask questions to Connor Clark about empscriptem ^^
Great, thanks for the update! I'll start updating the docker build-envs as well.
BTW I would love to ask questions to Connor Clark about empscriptem ^^
You can read about emscripten in the README_sdl.txt file: https://github.com/liballeg/allegro5/blob/master/README_sdl.txt#L30
Is Emscripten the reason there is an SDL version of Allegro? Because Allegro... using SDL... sounds super odd and redundant otherwise.
SDL backend was added to support platforms Allegro doesn't support natively, Emscripten being a prominent one.
Thanks for the informations
As always, thanks for the hard work!
Has anyone asked ML to put the news on the front page?
Also I can't figure out what is drawn in the Elephant's thought bubble, what is it?
Should be 528. I'm assuming the image was made with Dall-E (or Dall-E light at least)
Also I can't figure out what is drawn in the Elephant's thought bubble, what is it?
My guess too.
I'm assuming the image was made with Dall-E
AIs have trouble generating text and text characters for now, which is probably why it's so weird looking.
off topic but Dall-E honestly scares me. It will no doubt have tons of good uses however it's much much much closer to the nuclear age of pictures--there's no going back once anyone can make a picture look like anything with very little effort (as opposed to employing professional artists who have spend literally decades to be able to draw convincingly). There's obvious sicko things like child pedo stuff. But also political misinformation. Hateful pictures of people "give me 1 million pictures of obama + monkey". Imagine Dall-E being used to make Event Horizon torture pictures, or 90's era "disgusting shocking internet photos" but there's no limit of "I had to take or make a photo" anymore.
Way to go dev team!
Edit
Do the 32 bit binaries released by SiegeLord work on XP? Does MSYS2 work on XP?
Should be 528. I'm assuming the image was made with Dall-E (or Dall-E light at least)
I used Dall-E mini to create two images, one of the yellow elephant with the thought bubble and another with the numbers, and then I combined them myself. It really struggled with the numbers.
Do the 32 bit binaries released by SiegeLord work on XP? Does MSYS2 work on XP?
Good question... I don't know.
Do the 32 bit binaries released by SiegeLord work on XP? Does MSYS2 work on XP?
Good question... I don't know.
I'll try testing on my XP machine.
It's a minor thing but I just noticed that if I build with:
cmake -DCMAKE_BUILD_TYPE=Debug -DWANT_EXAMPLES=off
I get the following build error:
-- Configuring done CMake Error at tests/CMakeLists.txt:72 (add_dependencies): The dependency target "copy_example_data" of target "test_driver" does not exist.
Thanks, fixed in https://github.com/liballeg/allegro5/commit/d25c4cff7621db614e5236a1646f5d76309ca73f.
Not really worth back-porting though, but you could manually patch it if you want.
Seems that threads are still buggy. ex_threads just blocks my XWindow terminal in Xubuntu (20.04.4) and I have to hard-reboot the computer (the small button in the box that resets the CPU). ex_threads2 seems to work but I'm not sure if it does as intended.
Also, ex_palette seems to use the wrong colors. Do you see the gray lines?
https://www.allegro.cc/files/attachment/613220(Attached image, don't know why it doesn't allow me to show here)
I would say also that Shooter's explosions don't have transparency and makes things weird.
I've test most of the other examples and they seems to work. The new ones are pretty cool.
ex_threads hasn't worked on Windows with DX for a decade or so. There's a race condition in creating displays.
That said, I don't think there is anything wrong with Allegro's threads. I use them all the time and no problems.
EDIT
I'm a little slow lately, but given time I will make some 32 bit XP binaries and 64 bit binaries for dynamic and static debug and release libraries for Allegro and Eagle 0.8.5 and all dependencies along with source packages and all examples and CHM docs if I can get them fixed, the generation process somehow produces mistakes.
EDIT2
Binaries for Allegro and Eagle by TINS 2022. Ya know, feature creep.
ex_threads hasn't worked on Windows with DX for a decade or so. There's a race condition in creating displays.
And also on Linux. It should be fixed or removed, then. It's confusing.
That said, I don't think there is anything wrong with Allegro's threads. I use them all the time and no problems.
Then I should fix/rewrite the Pascal example or something...
(...) I will make some 32 bit XP binaries and 64 bit binaries for dynamic and static debug and release libraries for Allegro (...)
I'm interested in such binaries. Not only for debug, but also for release. This way I can include them with my Allego.pas wrapper (or tell users how to get them).
What requirements does your allegro.pas wrapper have?
A modern Pascal compiler (that is Delphi or Free Pascal) running on Windows (XP and up) or Linux. Apple computers should work as well but I didn't test and compilation should throw a custom error message telling it wasn't tested, but you can remove it easily from sources.
Sorry, I miss understood.
It needs nothing special. Just the DLL files (both Monolith and no-Monolith). It doesn't need the linkable libraries, even. If they're both 32 & 64bits ones, from WinXP up, then better (it will make it runnable on Linux+Wine more easy).
Are there any future plans for the new audio devices? For example, activating/deactivating devices (or enabling/composing multiple devices to play as a single "virtual" audio device)?
I've done some tests and there's something wrong with the thread code, specifically with the MUTEX (stack overflow and Access violation). I suspect it is similar to the bug in the Allegro4 3D textured polygon renderer, that worked on C but failed in Pascal due to use the wrong data type. Not too serious as Pascal's threads work and seems compatible with Allegro but you should take a look (ask me if you need more information).
I've done some tests and there's something wrong with the thread code, specifically with the MUTEX (stack overflow and Access violation). I suspect it is similar to the bug in the Allegro4 3D textured polygon renderer, that worked on C but failed in Pascal due to use the wrong data type. Not too serious as Pascal's threads work and seems compatible with Allegro but you should take a look (ask me if you need more information).
Which platform are you running on Niunio? Try to be more specific, and reproduce it simply if possible.
There was a deadlock in the logging code, but that has been fixed.
Check for unmatched lock/unlock pairs, dangling pointers, etc....
Which platform are you running on Niunio? Try to be more specific, and reproduce it simply if possible.
I'm on Xubuntu 20.04.4. I would try to build the minimal example, but I have this at the moment. It is a bit simpler than the original ex_threads2 example.
I'll build 64 bit binaries here before TINS starts, sometime tonight I'll upload them. 32 bit will have to wait a few days for XP support.
Do you just want the newest gcc Niunio? Or do you care which version of gcc I use?
EDIT
Got delayed with TINS and all. A few more days.
EDIT2
SiegeLord, Niunio - here is the old crash in ex_threads using D3D :
https://www.allegro.cc/forums/thread/616214/1021958#target
I came up with possible fixes, but never got around to a PR.
EDIT3
Feature creep has got me. Sorry for the delays. Bump.