PDA

View Full Version : Dellegro - Delphi Allegro Game Library



drezgames
07-04-2018, 12:35 AM
https://drez.games/images/dellegro.png

Allegro 5 Bindings | Monolithic DLL | Thin Game Framework


DOWNLOAD (https://goo.gl/YNrh1A)

For a contract project I am working on, I needed a full featured/latest release bindings for Allegro 5 library for Delphi for which a thin game framework could be built on top. So I forced my way through the very painful process of converting Allegro C headers to Delphi. For this project it needed to be 32 bits, support the newer versions of Delphi with a minimal DLL/binding unit count.

I had never used Allegro before and I'm liking it very much. Video playback out of the box, virtual file system that supports zip files. You just have to mount the zip and read in your resource as normal. It will even play the video from within the zip. The API is simple and easy to pick up.

I'm making it available if anyone needs something similar for Delphi, saving you the trouble of doing the conversion yourself. Trust me, if not for a high degree of need, it would have not gotten done otherwise. I had considered a conversion about a year or so ago, but could not be bothered wading through all those c header files and c syntax. Oh my... a HUGE reminder of why I love Delphi so much. :D

NOTE: This project was created for very specific needs/time frame so using existing bindings was not possible. However, I do want to acknowledge the great work done by other binding authors. Respect!

Version supported:
- 5.2.4.0

Notes:
- Tested on Delphi 10.2.3
- 32 bit monolithic binary
- Windows only

Road map:
- Continue improving/fixing issues, keeping it update with latest allegro
- Add more examples
- Add a framework to easily make game projects

piXelicidio
07-04-2018, 06:55 PM
Looks like an amazing task you did that will happy to take a look.
But the link is broken... have you considered to publish it on github?

drezgames
07-04-2018, 07:26 PM
@piXelicidio
Hi, thx. Hmm... I just tested on IE, Edge, FireFox and Chrome and I was able to get the file on all. What specific error are you getting? which browser are you using etc. Yea eventually I will move it there. Just had not had time to setup an account and get it posted.

drezgames
08-04-2018, 06:16 AM
[CHANGELOG]

Version 2018.2:
- Added ex_acodec and ex_inject_events examples
- Added hepatic and touch_input routines
- Added all experimental|unstable labeled routines
- Added '&' symbol in front of record field names that conflict with Delphi keywords. (ex if (event.&type = ALLEGRO_EVENT_KEY_DOWN) then...
- Fixed a few routine prototype params

drezgames
08-04-2018, 10:14 PM
[CHANGELOG]

Version 2018.3:
- Added ex_opengl, ex_opengl_pixel_shader, ex_ttf and ex_camera examples
- Added allegro_opengl routines
- Added al_draw_multiline_textf
- Misc fixes and enhancements

Roland Chastain
13-04-2018, 02:42 PM
Hello! Very interesting but where is the link to download the library?

drezgames
13-04-2018, 09:48 PM
Hi, it was brought to my attention that another project with the same name is already in use, DAllegro5, which are d language bindings. I'm in the process of renaming it and changing a few things around. I will post an update soon. I finally manage to build Allegro5 using VS2017 (oh my what a pain) so I can generate the binaries when I need them. I would say sometime during the weekend I will have a new build posted.

drezgames
14-04-2018, 03:04 AM
[CHANGELOG]

Version 2018.4:
- Reorganize the distro folder
- Added a5docs viewer to view allegro 5 docs locally
- Change name to Dellegro, to avoid confusion with existing DAllegro5 project on github.

AthenaOfDelphi
14-04-2018, 06:24 AM
Just an administrative note - The title of the thread has been changed at the request of the original author to remove the ambiguity the name could cause with the D Allegro bindings.

drezgames
15-04-2018, 07:36 PM
[CHANGELOG]

Version 2018.5:
- Smaller, compact help viewer. HTML now being streamed from a compressed zip file.
- Smaller allegro5.dll (now using local allegro5 build system)

drezgames
21-04-2018, 03:07 AM
[CHANGELOG]

Version 2018.6:
- Fixed more routine prototype params
- Changed c type names to standard Delphi type names
- Changed all types to start with 'T' for record/enums and 'P' for pointers to conform to standard Delphi naming conventions