______ ___ ___
/\ _ \ /\_ \ /\_ \
\ \ \L\ \\//\ \ \//\ \ __ __ _ __ ___ __ ___ ____
\ \ __ \ \ \ \ \ \ \ /'__`\ /'_ `\/\`'__\/ __`\ /'__`\ /\__`\ /'___/
\ \ \/\ \ \_\ \_ \_\ \_/\ __//\ \L\ \ \ \//\ \L\ \__/\ \L\ \\/ __ \/\____`\
\ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/\_\ \ __//\____/\/\____/
\/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/\/_/\ \ \/ \/___/ \/___/
/\____/ \ \_\
Version 5.2.alpha-2 \/___/ \/_/
A wrapper to use the Allegro library with Pascal compilers
by Ñuño Martínez, June 26, 2016.
- Contact info
Allegro.pas is a wrapper to allow Pascal compilers (such as Free Pascal)
to use the Allegro library.
Note that Allegro 5 is wholly *incompatible* with Allegro 4 and earlier
versions, and so is Allegro.pas, but both may be installed at the same time
This is a WIP (alpha) version of the Allegro.pas 5 version. It is released
to show what's done and to allow developers to test it and give feed back.
DON'T USE IT FOR FINAL PROJECt, in this case use Allegro.pas 4.4 version,
which is the latest stable version released. Please go to the Allegro.pas'
project site at sourceforge for more information.
Current version was tested only with Free Pascal on WindowsXP, Windows7 and
GNU/Linux. An earlier SVN version was tested while development by a
volunteer in Windows + Delphi but I can't grant it will work. Other
operanting systems and compilers weren't tested.
The goal is to make Allegro.pas 5 compatible with any operating system
supported by Allegro, which are Windows, Linux, MacOS, iOS and Android.
AFAIK all these OS have Pascal compilers.
As this is a WIP alpha version, you should remember that at the moment not
all functionality are implemented. Also the API may change in any moment to
fix bugs or grant compatibility with plataforms and compilers.
+ Event manager, including but not limited to keyboard, mouse, timer and
+ OpenGL support (except extensions).
+ Software bitmaps.
+ Text drawing.
+ ttf fonts.
+ 2D and 3D transformations.
+ Custom memory management.
Partially implemented or need more testing
* Primitive drawing.
* Audio samples and streams.
* Native dialogs.
- Touch-screen support.
- OpenGL extensions.
- kcm audio.
- Phys file system.
- Demonstration game.
You can read more about this at the "TODO" file.
Allegro.pas is released under zlib/png license. Read it in file LICENSE.
First you must install Allegro itself. Current Allegro.pas version is
compatible with version 5.2.x only so DON'T install version 5.1.x or older.
Visit Allegro's project website at http://liballeg.org/ to download it. The
package includes installation instructions. I recommend you to download
pre-compiled version from http://download.gna.org/allegro/allegro-bin/
Then you need a Pascal compiler. At the moment only Free Pascal and Delphi
were tested but may be other compilers (such as GNU/Pascal) can be used too.
Each combination of compiler and operating system may need different
configuration so if it doesn't compile open file "allegro.cfg" and modify it.
REMEMBER what do you change and let me know it so I can add it in future
To compile examples (with Free Pascal), open a console, go to the directory
where Allegro.pas is and execute "fix.sh" (on Linux), "fix.bat" or "fix.cmd"
(on Windows) and follow on-screen instructions to configure. Then run "make".
If you use Delphi, open the example with IDE, configure the compiler so it
can find the Allegro.pas units and set the output to obj/ and bin/examples/
directories. Then compile (F9 if I remember correctly).
NOTE: I didn't test Delphi yet so IT MAY NOT WORK at all. Don't blame me:
remember it is an alpha release!
At the moment the public documentation isn't complete. Since symbols have
same name than the C version you can use the original Allegro documentation.
BTW I've put some information at comments, you can extract by using pasdoc.
Run "make help" to know more.
Also, there are a collection of examples. Open them and read the code. Some
have a lot of comments that explains it.
Again, remember it is an alpha release.
You can contact me at http://allegro-pas.sourceforge.net. There
are forums and a mailing-list you can use. Also I visit some forums:
Allegro community - http://www.allegro.cc/
Pascal Game Development - http://www.pascalgamedevelopment.com/
Club Delphi - http://www.clubdelphi.com/