![]() |
|
Allegro.pas: a wrapper to use Allegro and Pascal |
Niunio
Member #1,975
March 2002
![]() |
I'm not sure if this is the best place to the thread, so move it if it shouldn't be there. After TINS'06 I discovered that the evolution of my Mingro library was wrong, so I decided to restart it from 0. When I was thinking the new API I discovered that it should be easier if the wrapper to use Allegro in Pascal was as an independent package. After that I find a new job, I move myself to other city and I couldn't code nothing for a long time Yesterday I finished the "Hello, world!" example, so I decided to show it to you because I know there are some allegroids that can code in Pascal and they would be interested in this project... and they would help me to finish it (specially in that parts of Allegro that I'm not familiarized as packed files, audio streams, joystic... and documentation So try it and tell me what do you think. Note that the API is slightly different because I need to do some magic to make it work in Delphi (it can't access to the public variables Constructive criticism and help will be welcomed [edit] Wrappers for grabber data files and bitmap blitting and the exdata example written. I've changed the attached file. Nobody wants see it? ----------------- |
kazzmir
Member #1,786
December 2001
![]() |
I don't think Id use such a libary but I knew pascal once upon a time so I looked at it. You are just wrapping Allegro right? Why do you have alvtable.pas? And what need is there to define the entire albitmap.pas? Cant you just do Also I noticed in alsystem.c you wrapped install_allegro() because its a macro, but did you notice the macro actually just calls the _install_allegro function? |
gnolam
Member #2,030
March 2002
![]() |
People still use Pascal? -- |
Archon
Member #4,195
January 2004
![]() |
Quote:
People still use Pascal? I think that Pascal has interesting syntax... |
Niunio
Member #1,975
March 2002
![]() |
gnolam said: People still use Pascal? Didn't you hear about Delphi or the new Turbos? I can code in C, but I find Pascal is less cryptic [edit] and IMHO Object Pascal manages classes and objects better than C++, but it's only my opinion[/edit]. In TINS'06 I coded my entry in Object Pascal and I spent less time fixing stupid bugs. That's why I'm working on this wrapper. kazzmir said: Why do you have alvtable.pas? And what need is there to define the entire albitmap.pas? Cant you just do BITMAP = POINTER; or something? Yes, I can if I write more C-magic functions for drawing. But this way the Pascal compiler would try to optimize in the same way that the C compiler does. Also, some Pascal compilers (as Delphi, if I remember correctly) can use inline procedures. If I define "AL_BITMAP = POINTER" then the compiler can't use inline procedures. [edit] kazzmir said: Also I noticed in alsystem.c you wrapped install_allegro() because its a macro, but did you notice the macro actually just calls the _install_allegro function? Yes I did: AL_INLINE(int, install_allegro, (int system_id, int *errno_ptr, AL_METHOD(int, atexit_ptr, (AL_METHOD(void, func, (void))))), { return _install_allegro_version_check(system_id, errno_ptr, atexit_ptr, \ MAKE_VERSION(ALLEGRO_VERSION, ALLEGRO_SUB_VERSION, ALLEGRO_WIP_VERSION)); })
I started the wrapper before the latest release (4.2.0) with a different install_allegro implementation, more complex, so I decided to "expand" it instead of recode it. Now I don't need to change it. I'm smart [EDIT] I've released Allegro.pas ----------------- |
|