Az Allegrot a '90-es évek közepén kezdte el fejleszteni Shawn Hargreaves, egy angol fiatalember. Az elsõ verziókkal csak DOS, késõbb a Linux SVGALIB-je alá lehetett fejleszteni, az újabb verziók azonban már a Windowst és az X Window Systemet is támogatják Stefan Schimanski és Michael Bukin munkája eredményeképpen. Az Allegro új változatain ma több tucat programozó dolgozik - önszorgalomból.
Nem egy igen komoly szoftver készült az Allegro segítségével. Az egyik az XaoS, az egyik legügyesebben megírt valós idõben nagyító fraktálgenerátor.
A beolvasott grafikus fájlokon tetszés szerinti lineáris transzformáció elvégezhetõ. 3D objektumokat is könnyen megjeleníthetünk, mozgathatunk, mintás felülettel vagy csak drótvázzal.
A programozói munkát konfigurációs segédprogramok teszik igen könnyûvé. Teljes dokumentáció áll rendelkezésre jelenleg 40 példaprogrammal és egy akciójáték forrásával. A kész kódra vonatkozóan az Allegro szerzõi gyakorlatilag semmilyen jogi korlátozást nem tartanak fent.
#include "allegro.h"
BITMAP *kep; PALLETE szinpaletta;
main() { allegro_init(); install_keyboard(); set_gfx_mode(GFX_AUTODETECT, 1024, 768, 0, 0); kep=load_bitmap("demo1.pcx", szinpaletta); set_pallete(szinpaletta); draw_sprite(screen, kep, 0, 0); readkey(); }
Az Allegro részint C, részint assembly nyelven készült DJGPP (azaz GNU C) alatti fejlesztések támogatására. Nevét (allegro: gyors, vidám, fényes, olasz) az ,,Atari Low Level Game Routines'' kezdõbetûibõl kapta, mivel a szerzõ Atarin írta a programrendszer elsõ rutinjait.
Néhány fõ jellegzetesség:
Egyre többen használnak Allegrot, mivel gyors és kényelmes. Ingyenes! Az elkészült program könnyen illeszthetõ Unixra és Windowsra is.
Két hátrányt kell megemlíteni: a rutingyûjtemény
egyetlen óriási modul, ezért a legrövidebb Allegrot
használó program is legalább 250 kB. (Ez a probléma
nem jelentkezik Unixon, mert ott az Allegro-modul dinamikusan töltõdik
be a memóriába: pl. a legrövidebb példaprogram
5 kB, a DOS-on egyébként fél megabájtos DEMO.EXE
pedig alig 40 kB.) A másik hátrány az, hogy egyelõre
a dokumentáció csak néhány nyelven (angolul,
franciául, spanyolul és kínaiul) érhetõ
el.
Forrás | Leírás | Futtatható EXE | Egyéb szükséges file |
ex1.c | Hello, world! | ex1.exe | |
ex2.c | Bitmap a memóriában | ex2.exe | |
ex3.c | Rész-bitmap-ek | ||
ex4.c | Palettamanipuláció | ex4.exe | |
ex5.c | Billentyûzetkezelés | ||
ex6.c | Egérkezelés | ||
ex7.c | Timer (idõzítõ) | ||
ex8.c | Dupla pufferelés | ||
ex9.c | Dupla pufferelés X-módban | ||
ex10.c | Fixpontos aritmetika | ||
ex11.c | Közvetlen írás a videomemóriába | ex11.exe | |
ex12.c | DAT file-ok használata | ||
ex13.c | GUI-használat | ||
ex14.c | Saját GUI-rutinok | ex14.exe | |
ex15.c | Bitmap file betöltése | ||
ex16.c | MIDI file lejátszása | ||
ex17.c | WAV- és VOC-fájlok | ||
ex18.c | PCX file kezelése | ||
ex19.c | Scroll, képernyõbontás | ||
ex20.c | Tripla pufferelés | ex20.exe | |
ex21.c | DAT-file, animáció | ex21.exe | running.dat |
ex22.c | Mintás kockák forgatása | ex22.exe | |
ex23.c | Bézier-görbék | ||
ex24.c | Színek, megvilágítás | ex24.exe | allegro.pcx |
ex25.c | 3D sakktábla-mozgatás | ||
ex26.c | ,,Kirándulás az ûrben'' | ex26.exe | |
ex27.c | Joystick | ||
ex28.c | Audio stream-ek | ||
ex29.c | Színmélységek | ex29.exe | |
ex30.c | Összeadó és kivonó színkeverés | ||
ex31.c | Megvilágítás truecolor módban | ||
ex32.c | Színes képek truecolor módban | ||
ex33.c | TSR MIDI-lejátszó | ||
ex34.c | DAT és EXE összefûzése | ||
ex35.c | 12 bites színmélység 8 bites módban | ||
ex36.c | Árnyalt sprite-ok | ex36.exe | planet.pcx |
ex37.c | VBE/AF-támogatás | ||
ex38.c | Animációs módok | ||
ex39.c | Paletták | ||
ex40.c | Színek extrém használata |