I know there aren't a lot of Allegro.pas users here but anyway may be you can give me your opinion and suggestions about it. Next text is mostly a copy of the one I did send to the Allegro.pas' mailing-list and forums.
There are some issues about Allegro.pas that makes it hard to evolve. For example: Free Pascal's way to load the OpenGL libraries seems to conflict AllegroGL; and Allegro.pas broke Delphi support in version 4.3 due to technical issues (Delphi doesn't support shared variables with DLL libraries).
Due these issues I was thinking about to make Allegro.pas actually a fork from the original Allegro reimplementing the whole thing directly in Pascal keeping the original idea. There will be some benefits:
- No more problems with libraries as it will use them through the FPC/Delphi RTL.
- Delphi support granted (hopefully ).
- Use only Pascal data types, which means no more pointers, no more wrap procedures/functions, no more INTEGER to represent BOOLEAN, etc. And also easier integration with Delphi and Lazarus.
- No need of external dynamic libraries (except the usual ones: OpenGL, OpneAL, zlib, ...).
- More platforms potentially available, as DOS, Haiku, PalmOS, etc. May be also some game consoles too (Game Boy, DS, GP32...).
My idea is to create a new branch which will use almost the same API than the current version, and implement it using Free Pascal's RTL library which includes cross-platform units to deal with almost everything. Then use this implementation to create more specific and optimised code for each platform and compiler (i.e. Delphi).
So, what do you think? Will this approach attract more developers to the project? It will be easer to keep it stable and useful? Should I kill the project and use any other?
I hope you'll not suggest the last one.
Bookmarks