DAllegro and DAllegroGL

DAllegro and DAllegroGL are D bindings for the Allegro and AllegroGL game programming libraries. DAllegro works on Windows, Linux and OS X. DAllegroGL is only verified to work on Windows so far.

A bunch of examples, plus a larger demo game is included in the DAllegro download. They are all direct ports of regular Allegro's C versions, and are primarily used for verifying that DAllegro works. They are obviously not good examples of D programming. A basic Tetris clone (DBlocks) is included as a better example of a D game using DAllegro.

Status

All of Allegro's examples, the demo game, and the tools and tests that are ported to DAllegro, seem to work perfectly. Performance is on par with the C version. The platform-independent parts of the API are completed, so are the Windows, Linux and OS X specifics.

DAllegroGL hasn't reached the same level of maturity yet, and is only properly tested on Windows, and using the DMD compiler.

Tango and Phobos

DAllegro is compatible with both Phobos and Tango. DAllegro 4.2.2.0 should work with Tango 0.97, 0.98, 0.99, and 0.99.2. The library itself will also work with 0.99.3, 0.99.4, 0.99.5, and 0.99.6, but not all of the examples and demos programs will. dibhello.d doesn't work with older versions than 0.99.

DAllegro SVN is currently compatible with Tango 0.99.3, 0.99.4, 0.99.5, and 0.99.6. Later versions than 0.99.6 have not yet been tested. The SVN version of some of the examples and other programs require 0.99.4.

D 2.0

The latest version tested is DMD 2.012. DAllegro svn rev10013 or later is required for 2.x support. DAllegro is known to work with 2.008, 2.009, 2.011, and 2.012. The DBlocks game won't build with 2.009, but works fine with 2.008, 2.011, and 2.012. In 2.013, volatile statements were deprecated, which I need to work around somehow. Suggestions are welcome.

Support and feedback

DAllegro has now got its own forum. For questions not specifically about DAllegro, you'll probably get more replies at the Allegro forums. Most how-to questions about DAllegro will have the same answers as for regular Allegro.

If you've found a bug, creating a ticket is the best way to report it.

Documentation

For the most part, you can just follow the Allegro docs. They are available in various formats here. You can also find tutorial links, etc. at that site. The differences between DAllegro and Allegro are noted in the readme file, which is included in the zip download.

AllegroGL online docs.

Downloads

The latest releases are DAllegro 4.2.2.0 and DAllegroGL Alpha 1. People using DMD on Windows can get the necessary DLL's and .lib files here for Allegro 4.2.2 and AllegroGL 0.4.3.

If you're not on Windows, you can download the Allegro source here. There are some Linux binaries too.

AllegroGL source code for all platforms.

Source Code

https://alleg.svn.sourceforge.net/svnroot/alleg/bindings/dallegro/trunk
https://alleg.svn.sourceforge.net/svnroot/alleg/bindings/dallegrogl/branches/using_derelict