980:
135:
546:
The community of
Allegro users have contributed several library extensions to handle things like scrolling tile maps and import and export of various file formats. Also some parts of what used to be part of Allegro, is now separated as an addon in Allegro 5. These addons are distributed with the core
926:
Although the project does see continued support to this day with the
Allegro 5 branch, for much of its history Allegro was very much associated with the MS-DOS freeware scene that was still going strong well into the early
386:
port of
Allegro, XwinAllegro, was created. These various ports were brought together during the Allegro 3.9 WIP versions, with Allegro 4.0 being the first stable version of Allegro to support multiple platforms.
411:
rendering backends where appropriate. Many of the addons that existed as separate projects for
Allegro 4 now interface seamlessly with Allegro proper and are bundled with the default installation. Allegro 5 is
395:
Current development is focused on the
Allegro 5 branch, a complete redesign of both the API and much of the library's internal operation. Effort was made to make the API more consistent and
378:
compiler, all games which used
Allegro therefore used DOS, attracting the enthusiast scene for that legacy system. Around 1998, Allegro branched out into several versions. A port to
2002:
1022:
1947:
1942:
27:
1987:
1982:
1081:
1957:
1057:
363:
in the early 1990s. When
Hargreaves realized the platform was dying, he abandoned the Atari version, and reimplemented his work for the
910:
717:
242:
development. The functionality of the library includes support for basic 2D graphics, image manipulation, text output, audio output,
851:
822:
797:
314:
1952:
1015:
1069:
1790:
1740:
1587:
1353:
333:
279:
271:
1886:
1192:
1086:
374:
in 1995. Support for
Borland C++ was dropped in version 2.0, and DJGPP was the only supported compiler. As DJGPP was an
114:
1962:
1937:
1052:
1008:
88:
663:
306:
275:
172:
1977:
287:
1992:
1517:
712:
413:
318:
283:
255:
196:
164:
148:
1457:
1303:
1116:
254:
strings, file system access, file manipulation, data files, and 3D graphics. The library is written in the
1532:
1064:
1997:
1775:
1620:
400:
1745:
1896:
1810:
1770:
1497:
1467:
1421:
1416:
1381:
1333:
1278:
1101:
1076:
1035:
679:
247:
1972:
1967:
1841:
1690:
1625:
1522:
1396:
1386:
1373:
1293:
1187:
644:
591:
461:
184:
878:
1695:
1363:
1232:
1177:
611:
454:- abstraction over both real file system and file system inside some data file (e.g. ZIP archive)
396:
26:
1820:
1442:
1283:
1237:
847:
818:
793:
488:
472:
379:
294:
1547:
1512:
1323:
457:
439:
349:
267:
235:
203:
155:
42:
897:
246:
music, input and timers, as well as additional routines for fixed-point and floating-point
1861:
1805:
1755:
1730:
1661:
1573:
1552:
1507:
1462:
1406:
1401:
1348:
1222:
1217:
650:
607:
742:
354:
134:
47:
979:
940:
1912:
1411:
1288:
619:
476:
954:
364:
1931:
1815:
1800:
1765:
1735:
1630:
1273:
1263:
1253:
1212:
1147:
843:
684:
290:, and other languages. Allegro comes with extensive documentation and many examples.
1653:
1358:
1338:
1167:
707:
329:
209:
444:
File I/O - abstraction over both real files and files inside some data file (e.g.
1710:
1635:
1343:
1227:
1197:
1157:
1047:
1031:
597:
263:
1876:
1643:
1482:
1318:
1202:
451:
322:
239:
193:
189:
56:
37:
1725:
1720:
1669:
1604:
1568:
1527:
1492:
1487:
1437:
1328:
1313:
1268:
1258:
1207:
1162:
1152:
1121:
302:
1785:
1715:
1648:
1542:
1452:
1447:
1368:
1308:
1182:
1126:
445:
429:
371:
360:
507:
State - you can store and later restore the state of
Allegro application
1891:
1851:
1846:
1836:
1795:
1760:
1700:
1537:
1502:
1391:
1298:
1172:
1091:
674:
669:
408:
251:
160:
123:
1000:
990:
1881:
1866:
1856:
1780:
1685:
1472:
883:
722:
702:
694:
689:
502:
404:
375:
866:
768:
259:
1477:
1131:
635:
Memfile addon - treat a fixed block of contiguous memory as a file
571:
563:
555:
528:
368:
298:
168:
995:
1750:
1705:
911:"Building a Retro Linux Gaming Computer Part 41: The Worm Turns"
623:
583:
579:
567:
559:
383:
243:
1004:
1871:
627:
615:
587:
575:
317:(APIs) into one portable interface. It can run also on top of
310:
176:
525:
Transformations – transformation of coordinates for 2D and 3D
469:
Graphics routines - colors, pixel formats, bitmaps, clipping
321:
which is used to run
Allegro programs in web browser using
985:
382:, WinAllegro, was created, and also during this time, a
973:
424:
Allegro 5 supports following features in its Core API:
220:
1905:
1829:
1678:
1613:
1597:
1586:
1561:
1430:
1246:
1140:
1109:
1100:
215:
202:
183:
154:
144:
113:
87:
65:
55:
36:
460:- might be useful for embedded processors without
641:PhysicsFS addon - using archive as a file system
1016:
8:
19:
790:Game Programming All in One, Second Edition
16:Software library for video game development
1594:
1106:
1023:
1009:
1001:
978:
133:
18:
2003:Video game development software for Linux
647:addon - drawing primitives (e.g. circle)
499:Path structures - file path manipulation
734:
399:safe. By default, the library is now
7:
348:, Allegro was originally created by
1948:C (programming language) libraries
1943:Application programming interfaces
315:application programming interfaces
94:5.2.9.1 / January 19, 2024
14:
898:Forum posting by Shawn Hargreaves
867:List of Allegro language bindings
328:Released under the terms of the
258:and designed to be used with C,
25:
1988:Video game development software
1983:Software using the zlib license
435:Displays - working with Windows
479:and vibration on input devices
1:
1958:Free software programmed in C
1741:Lightweight Java Game Library
909:Wilson, Hamish (2024-04-09).
346:Atari Low-Level Game Routines
334:free and open source software
1087:List of visual novel engines
955:"Allegro 5 Reference Manual"
941:"Allegro 5 Reference Manual"
1053:First-person shooter engine
996:Shawn Hargreaves's Homepage
747:5.2.9.1 Github Release Page
71:; 34 years ago
2019:
788:Harbour, Jonathan (2004).
767:Allegro Development Team.
664:Borland Graphics Interface
1043:
813:Steinke, Lennart (2003).
792:. Course Technology PTR.
109:
83:
24:
319:Simple DirectMedia Layer
1953:Cross-platform software
344:Initially standing for
1065:Game engine recreation
838:Deitel, P. J. (2006).
769:"The giftware license"
428:Configuration files –
256:C programming language
96:; 7 months ago
1776:Platinum Arts Sandbox
1621:Adventure Game Studio
879:"Welcome to Allegro!"
1422:Visual3D Game Engine
1077:Game creation system
887:. 23 September 2022.
680:List of game engines
638:Native dialogs addon
534:Direct3D integration
432:format file handling
401:hardware-accelerated
313:, abstracting their
179:, web browser et al.
1691:Blender Game Engine
1523:Pixel Game Maker MV
991:Games Using Allegro
815:Spielprogrammierung
21:
1963:Graphics libraries
1938:AmigaOS 4 software
1696:Bork3D Game Engine
842:. How to Program.
606:Image I/O addon -
537:OpenGL integration
61:Allegro developers
38:Original author(s)
1925:
1924:
1921:
1920:
1821:Wintermute Engine
1582:
1581:
1443:Amazon Lumberyard
1238:Zillions of Games
743:"5.2.9.1 Release"
489:Memory management
485:Keyboard routines
482:Joystick routines
303:Unix-like systems
293:Allegro supports
229:
228:
2010:
1978:MorphOS software
1595:
1548:UbiArt Framework
1513:Nvidia GameWorks
1107:
1025:
1018:
1011:
1002:
982:
977:
976:
974:Official website
959:
958:
951:
945:
944:
937:
931:
930:
922:
921:
906:
900:
895:
889:
888:
875:
869:
864:
858:
857:
840:C How to Program
835:
829:
828:
810:
804:
803:
785:
779:
778:
776:
775:
764:
758:
757:
755:
753:
739:
466:Fullscreen modes
458:Fixed-point math
440:event management
358:
350:Shawn Hargreaves
236:software library
225:
222:
156:Operating system
137:
132:
129:
127:
125:
104:
102:
97:
79:
77:
72:
51:
43:Shawn Hargreaves
29:
22:
2018:
2017:
2013:
2012:
2011:
2009:
2008:
2007:
1993:Widget toolkits
1928:
1927:
1926:
1917:
1901:
1825:
1806:Thousand Parsec
1756:Open Wonderland
1731:Irrlicht Engine
1674:
1609:
1589:
1578:
1574:Unreal Engine 5
1557:
1553:Unreal Engine 4
1508:Luminous Engine
1463:Creation Engine
1426:
1407:Unreal Engine 3
1402:Unreal Engine 2
1242:
1223:Virtual Theatre
1218:Unreal Engine 1
1136:
1096:
1039:
1029:
972:
971:
968:
963:
962:
953:
952:
948:
939:
938:
934:
919:
917:
908:
907:
903:
896:
892:
877:
876:
872:
865:
861:
854:
837:
836:
832:
825:
812:
811:
807:
800:
787:
786:
782:
773:
771:
766:
765:
761:
751:
749:
741:
740:
736:
731:
660:
651:Video streaming
544:
531:string routines
510:System routines
422:
393:
352:
342:
219:
140:
122:
105:
100:
98:
95:
75:
73:
70:
66:Initial release
45:
32:
17:
12:
11:
5:
2016:
2014:
2006:
2005:
2000:
1995:
1990:
1985:
1980:
1975:
1970:
1965:
1960:
1955:
1950:
1945:
1940:
1930:
1929:
1923:
1922:
1919:
1918:
1916:
1915:
1913:Open 3D Engine
1909:
1907:
1903:
1902:
1900:
1899:
1894:
1889:
1884:
1879:
1874:
1869:
1864:
1859:
1854:
1849:
1844:
1839:
1833:
1831:
1827:
1826:
1824:
1823:
1818:
1813:
1808:
1803:
1798:
1793:
1788:
1783:
1778:
1773:
1768:
1763:
1758:
1753:
1748:
1743:
1738:
1733:
1728:
1723:
1718:
1713:
1708:
1703:
1698:
1693:
1688:
1682:
1680:
1676:
1675:
1673:
1672:
1667:
1659:
1651:
1646:
1641:
1633:
1628:
1623:
1617:
1615:
1611:
1610:
1608:
1607:
1601:
1599:
1592:
1584:
1583:
1580:
1579:
1577:
1576:
1571:
1565:
1563:
1559:
1558:
1556:
1555:
1550:
1545:
1540:
1535:
1530:
1525:
1520:
1515:
1510:
1505:
1500:
1495:
1490:
1485:
1480:
1475:
1470:
1465:
1460:
1455:
1450:
1445:
1440:
1434:
1432:
1428:
1427:
1425:
1424:
1419:
1414:
1412:Vicious Engine
1409:
1404:
1399:
1394:
1389:
1384:
1379:
1371:
1366:
1361:
1356:
1351:
1346:
1341:
1336:
1331:
1326:
1321:
1316:
1311:
1306:
1301:
1296:
1291:
1289:Essence Engine
1286:
1281:
1276:
1271:
1266:
1261:
1256:
1250:
1248:
1244:
1243:
1241:
1240:
1235:
1230:
1225:
1220:
1215:
1210:
1205:
1200:
1195:
1193:Pie in the Sky
1190:
1185:
1180:
1175:
1170:
1165:
1160:
1155:
1150:
1144:
1142:
1138:
1137:
1135:
1134:
1129:
1124:
1119:
1113:
1111:
1104:
1098:
1097:
1095:
1094:
1089:
1084:
1079:
1074:
1073:
1072:
1062:
1061:
1060:
1050:
1044:
1041:
1040:
1030:
1028:
1027:
1020:
1013:
1005:
999:
998:
993:
988:
983:
967:
966:External links
964:
961:
960:
946:
932:
901:
890:
870:
859:
852:
830:
823:
817:. BHV Verlag.
805:
798:
780:
759:
733:
732:
730:
727:
726:
725:
720:
715:
710:
705:
700:
697:
692:
687:
682:
677:
672:
667:
659:
656:
655:
654:
648:
642:
639:
636:
633:
630:
604:
601:
596:Color addon -
594:
552:
543:
540:
539:
538:
535:
532:
526:
523:
520:
517:
514:
511:
508:
505:
500:
497:
496:Mouse routines
494:
491:
486:
483:
480:
477:force feedback
470:
467:
464:
455:
449:
442:
436:
433:
421:
418:
392:
389:
341:
338:
270:available for
227:
226:
217:
213:
212:
206:
200:
199:
187:
181:
180:
158:
152:
151:
146:
142:
141:
139:
138:
119:
117:
111:
110:
107:
106:
93:
91:
89:Stable release
85:
84:
81:
80:
67:
63:
62:
59:
53:
52:
40:
34:
33:
30:
15:
13:
10:
9:
6:
4:
3:
2:
2015:
2004:
2001:
1999:
1996:
1994:
1991:
1989:
1986:
1984:
1981:
1979:
1976:
1974:
1971:
1969:
1966:
1964:
1961:
1959:
1956:
1954:
1951:
1949:
1946:
1944:
1941:
1939:
1936:
1935:
1933:
1914:
1911:
1910:
1908:
1904:
1898:
1895:
1893:
1890:
1888:
1885:
1883:
1880:
1878:
1875:
1873:
1870:
1868:
1865:
1863:
1860:
1858:
1855:
1853:
1850:
1848:
1845:
1843:
1840:
1838:
1835:
1834:
1832:
1828:
1822:
1819:
1817:
1816:Vassal Engine
1814:
1812:
1809:
1807:
1804:
1802:
1801:Spring Engine
1799:
1797:
1794:
1792:
1789:
1787:
1784:
1782:
1779:
1777:
1774:
1772:
1769:
1767:
1766:Papervision3D
1764:
1762:
1759:
1757:
1754:
1752:
1749:
1747:
1744:
1742:
1739:
1737:
1736:jMonkeyEngine
1734:
1732:
1729:
1727:
1724:
1722:
1719:
1717:
1714:
1712:
1709:
1707:
1704:
1702:
1699:
1697:
1694:
1692:
1689:
1687:
1684:
1683:
1681:
1677:
1671:
1668:
1666:
1664:
1660:
1658:
1656:
1652:
1650:
1647:
1645:
1642:
1640:
1638:
1634:
1632:
1631:Crystal Space
1629:
1627:
1624:
1622:
1619:
1618:
1616:
1612:
1606:
1603:
1602:
1600:
1596:
1593:
1591:
1585:
1575:
1572:
1570:
1567:
1566:
1564:
1560:
1554:
1551:
1549:
1546:
1544:
1541:
1539:
1536:
1534:
1531:
1529:
1526:
1524:
1521:
1519:
1516:
1514:
1511:
1509:
1506:
1504:
1501:
1499:
1496:
1494:
1491:
1489:
1486:
1484:
1481:
1479:
1476:
1474:
1471:
1469:
1466:
1464:
1461:
1459:
1456:
1454:
1451:
1449:
1446:
1444:
1441:
1439:
1436:
1435:
1433:
1429:
1423:
1420:
1418:
1415:
1413:
1410:
1408:
1405:
1403:
1400:
1398:
1395:
1393:
1390:
1388:
1385:
1383:
1380:
1378:
1376:
1372:
1370:
1367:
1365:
1362:
1360:
1357:
1355:
1352:
1350:
1347:
1345:
1342:
1340:
1337:
1335:
1332:
1330:
1327:
1325:
1322:
1320:
1317:
1315:
1312:
1310:
1307:
1305:
1302:
1300:
1297:
1295:
1292:
1290:
1287:
1285:
1282:
1280:
1277:
1275:
1274:Crystal Tools
1272:
1270:
1267:
1265:
1264:Chrome Engine
1262:
1260:
1257:
1255:
1252:
1251:
1249:
1245:
1239:
1236:
1234:
1231:
1229:
1226:
1224:
1221:
1219:
1216:
1214:
1213:Sim RPG Maker
1211:
1209:
1206:
1204:
1201:
1199:
1196:
1194:
1191:
1189:
1186:
1184:
1181:
1179:
1176:
1174:
1171:
1169:
1166:
1164:
1161:
1159:
1156:
1154:
1151:
1149:
1148:3D GameStudio
1146:
1145:
1143:
1139:
1133:
1130:
1128:
1125:
1123:
1120:
1118:
1115:
1114:
1112:
1108:
1105:
1103:
1099:
1093:
1090:
1088:
1085:
1083:
1080:
1078:
1075:
1071:
1068:
1067:
1066:
1063:
1059:
1056:
1055:
1054:
1051:
1049:
1046:
1045:
1042:
1037:
1033:
1026:
1021:
1019:
1014:
1012:
1007:
1006:
1003:
997:
994:
992:
989:
987:
984:
981:
975:
970:
969:
965:
956:
950:
947:
942:
936:
933:
929:
928:
916:
915:GamingOnLinux
912:
905:
902:
899:
894:
891:
886:
885:
880:
874:
871:
868:
863:
860:
855:
853:0-13-240416-8
849:
845:
844:Prentice Hall
841:
834:
831:
826:
824:3-8266-8075-8
820:
816:
809:
806:
801:
799:1-59200-383-4
795:
791:
784:
781:
770:
763:
760:
748:
744:
738:
735:
728:
724:
721:
719:
716:
714:
711:
709:
706:
704:
701:
698:
696:
693:
691:
688:
686:
685:Microsoft XNA
683:
681:
678:
676:
673:
671:
668:
665:
662:
661:
657:
652:
649:
646:
643:
640:
637:
634:
631:
629:
625:
621:
617:
613:
609:
605:
602:
599:
595:
593:
589:
585:
581:
577:
573:
569:
565:
561:
557:
553:
550:
549:
548:
541:
536:
533:
530:
527:
524:
521:
518:
515:
512:
509:
506:
504:
501:
498:
495:
492:
490:
487:
484:
481:
478:
474:
471:
468:
465:
463:
459:
456:
453:
450:
447:
443:
441:
437:
434:
431:
427:
426:
425:
419:
417:
415:
410:
406:
402:
398:
390:
388:
385:
381:
377:
373:
370:
366:
362:
356:
351:
347:
339:
337:
335:
332:, Allegro is
331:
326:
324:
320:
316:
312:
308:
304:
300:
296:
291:
289:
285:
281:
277:
273:
269:
265:
261:
257:
253:
249:
245:
241:
237:
233:
224:
218:
214:
211:
207:
205:
201:
198:
195:
191:
188:
186:
182:
178:
174:
170:
166:
162:
159:
157:
153:
150:
147:
143:
136:
131:
121:
120:
118:
116:
112:
108:
92:
90:
86:
82:
68:
64:
60:
58:
54:
49:
44:
41:
39:
35:
28:
23:
1998:Windows APIs
1662:
1654:
1636:
1375:Silent Storm
1374:
1359:Retro Engine
1339:MT Framework
1168:Genie Engine
1032:Game engines
986:Allegro Wiki
949:
935:
925:
924:
918:. Retrieved
914:
904:
893:
882:
873:
862:
839:
833:
814:
808:
789:
783:
772:. Retrieved
762:
750:. Retrieved
746:
737:
708:SciTech SNAP
545:
423:
414:event driven
397:multi-thread
394:
345:
343:
330:zlib license
327:
292:
250:arithmetic,
231:
230:
57:Developer(s)
31:Allegro logo
1711:Game Editor
1590:open-source
1344:PhyreEngine
1228:Voxel Space
1198:Reality Lab
1158:Dark Engine
1102:Proprietary
1048:Source port
943:. Core API.
603:Font addons
598:color space
551:Audio addon
522:Touch input
475:routines -
365:Borland C++
353: [
264:Objective-C
208:Allegro 5:
46: [
1973:MacOS APIs
1968:Linux APIs
1932:Categories
1877:PlayCanvas
1644:Game-Maker
1518:Panta Rhei
1483:Fox Engine
1319:HeroEngine
1203:RenderWare
920:2024-04-13
774:2013-11-16
752:24 January
729:References
645:Primitives
632:Main addon
600:conversion
452:Filesystem
448:* archive)
323:Emscripten
240:video game
190:Multimedia
145:Written in
115:Repository
101:2024-01-19
69:early 1990
1726:id Tech 4
1721:id Tech 3
1670:Stratagus
1605:Z-machine
1569:id Tech 7
1528:RE Engine
1493:id Tech 6
1488:id Tech 5
1458:Construct
1438:4A Engine
1334:Marmalade
1329:Leadwerks
1314:GameSalad
1304:Frostbite
1269:CryEngine
1259:C4 Engine
1208:RPG Maker
1163:GameMaker
1153:Clickteam
1122:Freescape
1117:Filmation
957:. Addons.
547:library:
438:Events -
391:Allegro 5
372:compilers
130:/allegro5
128:/liballeg
1716:GDevelop
1663:Quake II
1649:OHRRPGCE
1588:Free and
1543:Source 2
1533:Snowdrop
1453:Buildbox
1448:Bitsquid
1369:Shark 3D
1309:Gamebryo
1294:Euphoria
1183:LithTech
1127:Gold Box
1082:Game IDE
658:See also
493:Monitors
420:Features
361:Atari ST
359:for the
268:bindings
221:liballeg
1892:Stencyl
1852:Horde3D
1847:GPUOpen
1837:Delta3D
1796:Solar2D
1791:Scratch
1761:Panda3D
1701:Cocos2d
1538:Stencyl
1503:Kynapse
1392:Unigine
1299:Flare3D
1173:GoldSrc
1092:id Tech
675:DirectX
670:ClanLib
513:Threads
409:DirectX
380:Windows
340:History
307:Android
295:Windows
266:, with
252:Unicode
232:Allegro
216:Website
204:License
173:Android
161:Windows
99: (
74: (
20:Allegro
1897:Stride
1882:Raylib
1867:OpenFL
1857:libGDX
1811:Torque
1786:Ren'Py
1781:Pygame
1771:Plasma
1686:Away3D
1665:engine
1657:engine
1639:engine
1498:Ignite
1473:Defold
1468:Decima
1417:Vision
1382:Source
1377:engine
1279:Diesel
927:2000s.
884:GitHub
850:
821:
796:
723:UniVBE
703:Raylib
699:OpenML
695:OpenGL
690:OpenAL
556:codecs
554:Audio
542:Addons
503:Shader
473:Haptic
405:OpenGL
403:using
376:MS-DOS
309:, and
280:Scheme
272:Python
248:matrix
124:github
1906:2020s
1887:Snap!
1842:Godot
1830:2010s
1679:2000s
1655:Quake
1626:Build
1614:1990s
1598:1970s
1562:2020s
1478:Felgo
1431:2010s
1397:Unity
1387:Titan
1254:Anvil
1247:2000s
1188:Mugen
1141:1990s
1132:SCUMM
1110:1980s
666:(BGI)
653:addon
572:.opus
564:.flac
529:UTF-8
519:Timer
369:DJGPP
357:]
299:macOS
262:, or
234:is a
194:Games
169:macOS
165:Linux
50:]
1862:Moai
1751:OGRE
1746:Löve
1706:Dim3
1637:Doom
1364:SAGE
1354:RAGE
1233:Zero
1178:Jedi
1070:list
1058:list
1036:list
848:ISBN
819:ISBN
794:ISBN
754:2024
718:SFML
624:JPEG
592:.voc
584:.s3m
580:.mod
568:.ogg
560:.wav
516:Time
384:Unix
367:and
244:MIDI
238:for
223:.org
210:zlib
192:and
185:Type
126:.com
76:1990
1872:ORX
1284:Ego
713:SDL
628:PNG
620:TGA
616:PCX
612:DDS
608:BMP
588:.xm
576:.it
462:FPU
446:ZIP
430:INI
407:or
311:iOS
276:Lua
260:C++
197:SDK
177:iOS
1934::
1324:IW
923:.
913:.
881:.
846:.
745:.
626:,
622:,
618:,
614:,
610:,
590:,
586:,
582:,
578:,
574:,
570:,
566:,
562:,
558:-
416:.
355:pl
336:.
325:.
305:,
301:,
297:,
288:Go
286:,
282:,
278:,
274:,
175:,
171:,
167:,
163:,
48:pl
1349:Q
1038:)
1034:(
1024:e
1017:t
1010:v
856:.
827:.
802:.
777:.
756:.
284:D
149:C
103:)
78:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.