The Allegro Wiki is migrating to github at

Allegro roadmap

From Allegro Wiki
Jump to: navigation, search

Roadmap for 5.1.9 and WIP releases.

5.1.X is the unstable branch. Point releases are stable but the API might change. WIP releases may only work partially or even have a few bugs.

Implemented Features

  • One big change compared to 5.0 is the shaders addon. It's already working in SVN and allows using GLSL, CG as well as HLSL fragment and pixel shaders. Finally you can draw a grayscale version of a bitmap. Yay.
  • Filled primitives.
  • WIP Haptic dirver for DirectInput on Windows.
  • Bitmap related changes
    • Make al_convert_bitmap be a NOP on sub-bitmaps.
  • Haptics. Force feedback and vibration from joysticks or for the whole (portable) device. Now only works on Linux, it needs to be ported.
  • Multi line text output: al_draw_multiline_text() and al_do_multiline_text().
  • Filesystem entry function with a callback: al_for_each_fs_entry().

Roadmap for 5.2

5.2 is the next stable version and currently being worked on in the 5.1 branch.

Planned Features

  • Bitmap related changes
    • Change how viewports work on D3D and OpenGL backends such that the projective matrices work consistently
    • Move the projection matrix into ALLEGRO_BITMAP
  • The big one is the build system for the Android port. Most of the examples should build for Android on a Linux host. They don't have to run especially well, but once the examples are easily runnable on a device we will surely flush out many bugs. And, ultimately, users should not need to manually set up an Android-specific project to use the port.
  • Review al_get_audio_event_source. The aqueue driver is the only one which emits these new events. I think the events can and should be generated by the driver's solitary voice instead of a new special purpose audio event source. Or should these events be dropped???
  • Make iphone specifics changes.
  • Clarify the the documentation for ALLEGRO_EVENT_DISPLAY_CONNECTED/DISCONNECTED. What is the relation of the "display" event source to the physical display?
  • Clean up the menu API.
  • Review the audio recording API.
  • The video addon should be trimmed a bit.
  • Review the auto-convert bitmap API.
  • Thorough testing and bug fixes.
  • CMake and CPACK build system for binary installers.
  • Make building on Windows easier by providing the dependencies somehow.
  • Haptics. Force feedback and vibration from joysticks or for the whole (portable) device. Now only works on Linux and Windows, it needs to be ported to Android, IOS, and maybe OSX if the guys at Apple finally implement drivers.
  • IME. Support for non-ASCII text entry.
  • Look into making allegro more easy to compile from sources by providing some (CMAKE?) script to help download and compile them.
  • Clean up the OpenGL code across platforms as much as is possible.
  • Stabilize the 5.2 API.

Known Bug To Solve

Nice To Have

  • Per character/glyph text output/sizing/kerning for DIY text output.
  • Clipboard copy and paste for text only.
  • Drag and drop.
  • On linux, support Wayland if and when it is ready for daily use.
  • Easy al_init_everything(ALLEGRO_DISPLAY ** display, ALLEGRO_EVENT_QUEUE ** queue, int w, int h) (or different signature) convenience function.
  • Easy virtual resolution API.
  • Non-blocking native dialog functions. Probably involves adding `al_get_native_dialog_event_source` as well.
  • Add a better file pattern API to the file chooser.

Roadmap for 6.0

  • Consider merging Emscripten port of Allegro.
  • Perhaps support Mir as well if it gets a wide user base (hopefully not).
  • Virtual full screen support for easier than full screen window when real full screen mode setting is unavailable.
  • Perhaps implement a pure software backend for testing and targets without GPU. Maybe use pixman???

Roadmap for 5.0

5.0 is the current stable version with frequent bug fix releases. The API is 100% stable. Unless your game relies on side-effects of a bug you can replace Allegro 5.0.0 with any 5.0.x version and things will keep working the same.

Roadmap for 4.4

4.4 is the final version of Allegro 4. There may still be minor releases with bug fixes, but for new applications we recommend to upgrade to Allegro 5.