Releases: liballeg/allegro5
5.2.9.1
5.2.9.0
Android:
-
Fix back button/gesture (alemart)
-
Implement
al_get_joystick_name
(alemart) -
Great many assorted fixes (alemart)
Audio:
-
Add
al_get_mixer_has_attached
andal_get_voice_has_attached
(TRDario) -
Fix
al_set_audio_stream_playmode
return value and interaction with looping audio streams (Cody Licorish) -
Send PulseAudio silence if the attached mixer is stopped (SiegeLord)
Acodec:
-
voc memory leak fixes (TRDario)
-
Fix internal looping for mod files (SiegeLord)
Build system:
-
Add a target for copying examples, letting you build the demo without the examples (SiegeLord).
-
Improve CMake scripts (Gilad Reich)
-
Support the newer WebP library which is split into two (SiegeLord).
Core:
-
Add
al_can_set_keyboard_leds
andal_can_get_mouse_cursor_position
(TRDario) -
Allow outputting logs to STDOUT via ALLEGRO_TRACE environment variable
(SiegeLord) -
Add
al_get_current_shader
(TRDario) -
Add
al_get_window_borders
for Windows and Linux (Elias Pschernig + SiegeLord)
TTF:
- Fixes for
al_get_glyph_width
,al_get_glyph_al_get_glyph
when interacting with zero-width/zero-height glyphs (Connor Clark)
MacOS:
-
Don't close submenus on click (Todd Cope)
-
Fix disabling menu items (Todd Cope)
-
Add support for filtering by file extensions in the native file dialog (Todd
Cope) -
Textlog improvements (Connor Clark)
-
Fix improper display boundary for cursors (Connor Clark)
-
Make
al_get_joystick_name
return the name of the joystick (Todd Cope) -
Fix off-by-one error for hat switches (Connor Clark)
-
Add a workaround for live resizing not working. Enable it via
[osx] allow_live_resize = false
inallegro5.cfg
and then listen and respect
ALLEGRO_EVENT_DISPLAY_HALT/RESUME_DRAWING
events (#1350) (SiegeLord + Elias Pschernig)
Linux:
-
Fix fullscreen window creation (#1349) (SiegeLord)
-
Fix some X11 + fullscreen window interaction (#1358) (SiegeLord)
-
Allow setting higher quality icons (SiegeLord + Trent Gamblin)
-
Improve
DISPLAY_SWITCH_IN/OUT
events (#1390, #1367) (SiegeLord) -
Work on improving Window positioning (Elias Pschernig)
-
Fix creating an initially maximized window (SiegeLord)
-
Enable toggling and setting maximized/frameless modes when menus are used
(SiegeLord) -
Fix popup menu (#1280) (SiegeLord)
-
Make AltGr (right Alt) toggle the
ALLEGRO_KEYMOD_ALTGR
modifier (SiegeLord)
Windows:
-
Fix drawable area mouse hiding state being out of sync (#1388) (SiegeLord)
-
Fix some oddities with Shift + Alt on Windows (#1348)
-
Work on improving Window positioning (SiegeLord)
-
Make native file dialog respect the initial directory when
ALLEGRO_FILECHOOSER_FOLDER
is set (José Carlos HR) -
Fix the client area changing size on Windows when restoring a window (#1433)
(SiegeLord) -
Fix crashes with menus and Windows (#1381) (SiegeLord)
-
Fix keyboard modifier keys + char events (#1504, #1430) (SiegeLord)
SDL:
-
Fix touch ids (Sebastian Krzyszkowiak)
-
Fix
al_get_mouse_state
crash (Elias Pschernig) -
Implement
al_create_mouse_cursor
(Connor Clark) -
Implement
al_get_monitor_dpi
(Elias Pschernig)
Documentation:
- Assorted clarifications and improvements (various)
5.2.8.0
Changes from 5.2.7 to 5.2.8 (June 2022)
The main developers this time were: SiegeLord, Elias Pschernig,
Sebastian Krzyszkowiak, Julian Smythe.
Build system:
-
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.
Core:
-
Add
al_fopen_slice
mode to prevent seek on close (Karl Robillard). -
Allow configuring bitmap wrapping via
al_set_new_bitmap_wrap
.
Graphics:
-
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.
Emscripten:
-
Improve emscripten instructions for building demos (Connor Clark).
-
Fix usage of SDL_Init for emscripten (Issue #1322) (Connor Clark).
OSX:
-
Fix a few thread-related crashes.
-
Don't use
-flat_namespace
inLINK_FLAGS
(danielnachun). -
Make
al_get/set_window_position
work on Retina displays
Windows:
-
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).
SDL:
-
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).
Linux:
- Use
clock_gettime
withCLOCK_MONOTONIC
instead ofgettimeofday
(check-switch-26).
Android:
- Update Gradle to 5.0.
Audio addon:
-
Add
ALLEGRO_PLAYMODE_LOOP_ONCE
(Issue #1309). -
Add
al_play_audio_stream
, a 'simple' API endpoint for audio stream playback.
Acodec addon:
-
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.
Audio addon:
- 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).
Color addon:
- Add linear and oklab color spaces to the color addon.
Font addon:
- Fix declaration of al_draw_multiline_textf() as a PRINTFUNC (check-switch-26).
Image addon:
-
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).
Native Dialog addon:
- Fix native dialogs addon compatibility with older GTK+ versions
(Andrew Kravchuk).
TTF addon:
- Fixed TTF rendering when using transforms (check-switch-26).
PhysFS addon:
- Fix incorrect error handling in
PHYSFS_close
(j-w-c-b).
Video addon:
-
Allow identifying video files via a magic number, exposed via
al_identify_video
(Issue #1262). -
Fix
al_is_video_addon_initalized
(Jayson).
Documentation:
-
Document some reasonable defaults for
al_create_mixer
/al_create_voice
. -
Refactor the audio docs to highlight the simple API better.
Misc:
- Fix a few data race issues, in an effort to fix ex_threads crashes on Linux.
Examples:
-
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
.
5.2.7.0
Changes from 5.2.6 to 5.2.7 (March 2021)
The main developers this time were: SiegeLord, Peter Hull, Elias Pschernig,
Aldrik Ramaekers, Andreas Rönnquist.
Build system:
-
Allow generating projects with a suffix (lorry-lee).
-
Fix build under Clang-CL in Visual Studio.
Core:
-
Avoid some undefined behavior errors.
-
Return key modifiers in
ALLEGRO_EVENT_KEY_UP
andALLEGRO_EVENT_KEY_DOWN
. -
Allow calling
al_map_*
color functions before Allegro is initialized. -
Allow minimum bitmap size to be something other than 16 on non-Android
platforms (controlled viaallegro5.cfg
). -
Add
al_get_monitor_refresh_rate
(only implemented on Windows for now).
Graphics:
-
Fix
ALLEGRO_KEEP_INDEX
flag for bitmaps. -
Add
ALLEGRO_OPENGL_CORE_PROFILE
display flag.
Emscripten:
- The experimental Emscripten support (via the SDL backend) is now documented
inREADME_sdl.txt
.
OSX:
-
Move more Cocoa operations to the main thread.
-
Explicitly link CoreVideo to fix the static build.
Windows:
-
Issue #1125: Speed up OpenGL extension detection (Tobias Scheuer).
-
Use Unicode APIs when enumerating joysticks.
-
Use
WM_DEVICECHANGE
rather than polling to detect joystick hotlugging,
reducing input drops and lags (Todd Cope). -
Fix joystick polling period.
-
Restore WinXP compatibility by using slightly older API when loading shared
libraries (Julian Smythe). -
Fix build with HLSL disabled (Julian Smythe).
-
Raise DirectInput
MAX_JOYSTICKS
to 32 andDEVICE_BUFFER_SIZE
to 128.
SDL:
- Issue #1224: Fix bug in SDL voice driver.
Audio addon:
- Allows playing sounds in reverse by specifying a negative speed.
Acodec addon:
- Fix edge-case looping in Ogg Vorbis stream (Cody Licorish)
Audio addon:
- Use more sensible values for PulseAudio's playback buffer, potentially
resolving some crashes and high CPU usage.
Native Dialog Addon:
- Migrate from GTK2 to GTK3. Sadly, we lose menu icons as GTK3 dropped support
for them.
TTF addon:
-
Allow initializing TTF addon before the Font addon.
-
Shut-down the TTF addon automatically in
al_uninstall_system
.
PhysFS addon:
-
Fix handling of native path separators.
-
Stop using deprecated PhysFS API.
Primitives addon:
-
Fix segfault in
al_draw_ribbon
whennum_segments > 128
(Rodolfo Borges). -
Issue 1215: Correctly handle small scales when determining subdivision level
for high level primitives (Robin Heydon).
Documentation:
-
Fix LaTeX errors in the generation of the reference manual PDF.
-
Add links to examples into the reference manual.
-
Allow pressing 'S' to focus the search bar in the docs.
-
Assorted documentation improvements.
Misc:
-
Add a security policy and an associated private security mailing list -
allegro-security@lists.liballeg.org. -
Add Emscripten-powered examples to https://liballeg.org/examples_demos.html.
Examples:
-
ex_audio_simple
now displays instructions and supports bidirectional looping. -
Add default files to some audio examples.