A game programming library

GitHub project

TuxFamily project

Allegro - Language bindings

Language bindings

Although Allegro is written in C and C++, and is mainly designed to be used from such, it’s possible to use Allegro from other programming languages.

If you would like to add a link to this page, or there is a dead link which should be fixed/removed, please use the address given at the bottom of the page to contact the webmaster and report the change.

Bindings for Allegro 5

allua
Lua binding to Allegro 5 by Trezker.
lallegro
Lua binding for Allegro 5.2 by gilzoide
AllegroDotNet
C# bindings for Allegro 5 by Sub-C.
Chicken Scheme
Binding for Chicken Scheme by Daniel Leslie.
cl-liballegro
Bindings for Common Lisp by resttime.
DAllegro5
D binding to Allegro 5 by SiegeLord.
go-allegro
Go binding to Allegro 5 by Damien Radtke.
jalleg
Java binding to Allegro 5.2 by Jason Winnebeck.
jllegro
Java Allegro wrapper by Mitchell Larson
Python
The Allegro 5 distribution comes with a basic Python wrapper; see the python directory.
Allegro.pas
Allegro.pas is a wrapper to use Allegro with Pascal compilers like Delphi or Free Pascal.

Bindings for Allegro 4

Ada

AdaAllegro
Leonid Dulman has worked on providing an ADA-95(2005) interface for the Allegro game library.

C++

alBitmap
alBitmap is a C++ Wrapper for the Allegro BITMAP datatype. Features built-in memory allocation/deallocation, inlined functions for bitmap creation, loading, saving, blitting, comparing, plus some convenience functions for printing text with STL’s string type.
Allegro Simplificator
Allegro Simplificator is a C++ wrapper. It provides classes for most Allegro functions and adds some new functionality (cross-platform networking). It comes with some examples and extensive documentation.

C

AllegNet
AllegNet is a .NET library, coded in C# 2.0 based on Allegro 4.2.0. With AllegNet you can build your own video game in full managed code. So you can use this to build C#, vb.net, J# and C++ managed games.
Mallegro
Mallegro (or Managed Allegro) is a .NET wrapper for Allegro written by Michael Jensen. It promises making Allegro available to C# and VB.NET developers.
SharpAllegro
Sharp Allegro aims to ease game development in C# by using well developed libraries such as Allegro, AllegroGL, MASkinG, and so on.
SharpAllegGL
SharpAllegGL is a .NET wrapper around AllegroGL library, addon of Allegro game development library.

D

DAllegro
Tydr Schnubbis organised an effort to be able to use Allegro from the D programming language.

Lisp

Common Lisp FFI for Allegro
cl-alleg provides a foreign function interface for the Allegro games library. This is built on top of CFFI and so should be portable across multiple common lisp implementations. The author also writes a cl-alleg game development blog at http://gameylisp.blogspot.com/.

Lua

LuAllegro
The goal of the LuAllegro project is to provide a free multi-platform graphics library for Lua. Of course, Allegro is used for this purpose.

Mercury

Mercury
Mercury-Allegro provides a fairly complete set of bindings to Allegro and AllegroGL for the Mercury programming language. It’s available as part of the mercury-extras ROTD (release-of-the-day) distributions on the Mercury web site.

Pascal

Allegro.pas
Allegro.pas is a wrapper to use Allegro with Pascal compilers like Delphi or Free Pascal.

Perl

AlPerl
A Perl interface to Allegro written by Colin O’Leary.

Python

PyAllegro
This page hosts all available Python bindings. There are currently two projects: Alpy (a pure C interface) and PyAlleg (a Pyrex interface).

Scheme

MzScheme
Allegro scheme is a set of MzScheme bindings to Allegro written by Jon Rafkind. Using MzScheme’s nice FFI library it is very easy to bind scheme to any C library. There is a set of bindings directly to Allegro in allegro.ss and a scheme wrapper which should make it easier to use in image.ss.

Other resources

Wiki page about bindings
The Wiki also has a page about language bindings. Because everyone can edit it, it may have additional links not listed here. But they may not work or point to abandoned or very work in progress work.