Skip to content

Releases: liballeg/allegro5

5.2.10.0

28 Nov 03:39
Compare
Choose a tag to compare

Changes from 5.2.9.1 to 5.2.10 (November 2024)

Core

  • Add a compatibility config option, keyboard_version=xx.yy.zz as well as the
    same but with joystick_version if it is necessary to restore the old
    behavior. This enables us to fix bugs with the input system, while providing
    a mechanism to restore old buggy behavior temporarily (SiegeLord)

  • Assorted timer improvements (Connor Clark)

  • Optimize inverse transformations. (SiegeLord)

  • Fix the handling of the new window title in ALLEGRO_STATE (#1562)
    (Alexandre Martins)

  • Add ALLEGRO_TRACE_LEVEL environment variable. This makes it easier to
    enable logging on release builds. (SiegeLord)

  • Add al_ref_info to convert ALLEGRO_USTR_INFO to ALLEGRO_USTR
    (SiegeLord)

  • Add al_get_display_adapter (#1578) (SiegeLord)

  • Add al_get_render_state (Mark Oates)

MacOS

  • Don't use usage numbers as joystick button ids on OSX. (#1527) (SiegeLord)

  • Enable deadkey handling on MacOS (SiegeLord).

  • Map numpad delete to ALLEGRO_KEY_PAD_DELETE and the weird ISO section key
    to ALLEGRO_KEY_BACKSLASH2 (#1523) (SiegeLord)

Windows

  • Fix key events when using modifiers (#1430, #1504) (SiegeLord)

  • Fix undesirable deadzone when using analog joysticks (geecab)

  • Use the correct monitor when restoring fullscreen window when using OpenGL
    (SiegeLord)

  • Fix ALLEGRO_FULLSCREEN_WINDOW not working in certain conditions (SiegeLord)

Linux

  • Fix joystick initialization when overriding IO (#1572) (Alexandre Martins)

  • Make sure the bitmap for the initial icon is created as a memory bitmap
    (#1571) (SiegeLord)

Android

  • Add more joystick buttons (#1482) (Alexandre Martins)

  • Fix corruption of bitmaps created with the ALLEGRO_NO_PRESERVE_TEXTURE flag
    when the application loses focus (#1492) (Alexandre Martins)

  • Fix a concurrency issue related to al_acknowledge_drawing_halt (Alexandre Martins)

  • Add al_android_open_fd (Alexandre Martins)

  • Assorted improvements (Alexandre Martins)

iPhone:

  • Fix build (Todd Cope)

Audio addon:

  • Add MacOS support for listing output devices (Aldrik Ramaekers)

Acodec addon:

  • Prefill ALLEGRO_AUDIO_STREAMs with data (SiegeLord)

  • Add OpenMPT support. This is meant to replace DUMB, as DUMB is not
    maintained. You can use the compatibility config option acodec_prefer_dumb
    to temporarily make DUMB the preferred handler for module files, if Allegro
    is built with both DUMB and OpenMPT. Some modules may sound different under
    OpenMPT. (SiegeLord)

Native dialog addon:

  • Add Android support (Alexandre Martins)

  • Auto-scroll the native textlog on MacOS (SiegeLord)

  • Fix monospace fonts on MacOS in the native textlog (SiegeLord)

  • Improve the patterns arg in al_create_native_file_dialog (SiegeLord)

    • Support for multiple pattern sets (Windows/Linux)
    • Supports for custom pattern set descriptions (Windows/Linux)
    • Support for MIME types on MacOS
    • Remove the implicit catch-all pattern on Windows (the "All files
      ."), it was inconsistent with other platforms.
    • Make MacOS do a better job at extracting the file extension
    • Improve documentation overall

Video addon:

  • Make al_is_video_playing return false before al_start_video (SiegeLord)

  • Make ALLEGRO_VIDEO work with the automatic destruction system (SiegeLord)

Build system:

  • Reproducible build support (Andreas Rönnquist)

  • Fix multiarch install location (Andreas Rönnquist)

Examples:

  • Remove VLAs to improve Visual Studio support (Jeff Linahan, SiegeLord)

  • Fix opaque black background pixels in explosion sprites in the Shooter demo
    (tstoeter)

5.2.9.1

20 Jan 03:42
Compare
Choose a tag to compare

(Note: The Windows binaries attached are intentionally the same as 5.2.9.0, this patch release does not affect Windows-related code)

Linux:

  • Fix a regression where toggling fullscreen window when menus are used stopped working (SiegeLord)

5.2.9.0

25 Nov 05:03
Compare
Choose a tag to compare

Android:

  • Fix back button/gesture (alemart)

  • Implement al_get_joystick_name (alemart)

  • Great many assorted fixes (alemart)

Audio:

  • Add al_get_mixer_has_attached and al_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 and al_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 in allegro5.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

06 Jun 04:34
Compare
Choose a tag to compare

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 in LINK_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 with CLOCK_MONOTONIC instead of gettimeofday
    (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

08 Mar 03:42
Compare
Choose a tag to compare

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 and ALLEGRO_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 via allegro5.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
    in README_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 and DEVICE_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 when num_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:

Examples:

  • ex_audio_simple now displays instructions and supports bidirectional looping.

  • Add default files to some audio examples.

5.2.6.0

10 Feb 02:13
Compare
Choose a tag to compare
Tag 5.2.6.0

4.4.3.1

04 Mar 01:37
Compare
Choose a tag to compare
Tag 4.4.3.1

5.2.5.0

26 Feb 04:08
Compare
Choose a tag to compare
Tag 5.2.5.0

4.4.3

03 Feb 22:10
Compare
Choose a tag to compare
Tag 4.4.3

5.2.4.0

25 Feb 23:24
Compare
Choose a tag to compare
Tag 5.2.4.0