|
|
| Allegro 4.3.0 released |
|
Evert
Member #794
November 2000
|
Topic says it all, really. This is the first release in the 4.3 series of WIPs that will eventually lead to Allegro 5.0, with a new cleaner API, al_ prefixes, GUI and the like in addons and more. Needless to say there is a long way to go still, and this release is probably not yet suitable for development. Some new features are only partially implemented so far. For reference, here is a list of new functions and the header files where you can find their prototypes:
Those interested in such things may also want to look at allegro/src/compat, which contains the compatibility layer. the Release notes said:
This release introduces a few new subsystems. We have an event system, a We are maintaining a certain level of source compatibility with the 4.2 This release has had minimal testing on Linux/x86, Windows/x86 (MinGW) and The new functions are as follows (in no particular order). No real Enjoy! |
|
Richard Phipps
Member #1,632
November 2001
|
Woohooo!! I'll be hoping that this leads to a version where some keyboard issues are gone. Great work guys! |
|
Bob
Free Market Evangelist
September 2000
|
How did the vtables change? Is there a plan for making AGL work with AL 4.3.x? -- |
|
LennyLen
Member #5,313
December 2004
|
Congrats
|
|
Neil Walker
Member #210
April 2000
|
Great show. Have you managed to change round the function parameters so they are all the same, e.g. al_blit to match draw_sprite? Neil. wii:0356-1384-6687-2022, kart:3308-4806-6002. XBOX:chucklepie |
|
Thomas Fjellstrom
Member #476
June 2000
|
Quote: Is there a plan for making AGL work with AL 4.3.x? One would hope that it gets merged into 4.3 at some point. Hopefully that would bring more eyes to AllegroGL and keeping it synced with allegro. -- |
|
Carrus85
Member #2,633
August 2002
|
Some suggestions about the API that some A.ccers and I were discussing on IRC:
I know the API isn't complete, but I thought I should put these ideas up for some discussion.
|
|
Matthew Leverton
Supreme Loser
January 1999
|
It seems to follow a consistent pattern of: al_module_verb_noun, where module is optional. The noun-verb versions, while maybe more "orderly," aren't as nice to type or say. |
|
A J
Member #3,025
December 2002
|
I like alot of these ideas.. It would also reduce the number of functions, which is a good idea.. allegro can seem awfully messy at times, with so many functions. ___________________________ |
|
Carrus85
Member #2,633
August 2002
|
A J: Exactly. Those were some of the ideas behind it. The other goal was to attempt to make the code as potentially modular as possible, while retaining a common interface. Then again, it is my opinion that as much as possible should be put into addons (whether or not these addons are distributed with standard distribution is a non-issue). From a design standpoint, streamlining the seams in the library is advantegous because it reduces undesired conflicts, and allows us to update addons independantly of the "core" library with minimal breaks. I mean, pretty much all (if not all) of the input, graphics, geometric primatives, audio, config, datafile, gui, 3d, fixed point, etc. routines could be seperated from the core, allowing updates of them individually (to a certain point, at least) without requiring all of the other modules to be updated. This is one reason (the main reason), IMHO, that the current allegro release cycle is at least a year between major versions; no matter the changes to the module, you have to wait for the updates on all of the other modules to be completed in order to have the library rolled up to the next stable version. I might be wrong, but this is my opinion. Through better modularity you also gain the ability to completely exclude portions of the library that are not being used. Don't need FOO support? Don't #include them, link against them, al_install(ALA_FOO) (ALeggro Addon FOO), whatever.
|
|
Matthew Leverton
Supreme Loser
January 1999
|
The drawback to addons is that they tend to get neglected. For that reason, I think official addons are the way to go, even for things as simple as loading bitmaps. However, keep in mind that the complexity of support goes through the roof when you have to deal with a dozen shared DLLs or whatever. That's the main problem to consider. |
|
* VASKO *
Member #7,423
July 2006
|
I am sorry for my "critical" post, but I still have troubles in compiling Allegro with DJGPP under DOS. Now I trying lastest Allegro 4.3.0 from SVN (revision 7395) and lastest DJGPP packets: |
|
Peter Wang
Member #23
April 2000
|
Quote: I might be wrong, but this is my opinion. No, it just doesn't happen that way. Development is slow because we don't have enough people and time. In response to djgpp question: 4.3.0 doesn't work on djgpp, at all. Nor on BeOS or QNX.
|
|
Izual
Member #2,756
September 2002
|
Weeee. I'm gonna test it right away.
|
|
Carrus85
Member #2,633
August 2002
|
Quote: No, it just doesn't happen that way. Development is slow because we don't have enough people and time.
Well, I guess I just thought updating a few smaller addon APIs independantly from one monolithic API would be a bit easier, especially because we have few developers on the project.
|
|
Peter Wang
Member #23
April 2000
|
Quote: Well, I guess I just thought updating a few smaller addon APIs independantly from one monolithic API would be a bit easier When you state it in such terms, of course the "independent" addons are going to be viewed in a better light. But if they aren't really independent there's actually more work involved because now you have to maintain an unofficial interface as well. Consider AllegroGL and what they have to go through.
|
|
Bob
Free Market Evangelist
September 2000
|
So about my original question: What happened to the VTABLEs? How does this affect AGL? -- |
|
Izual
Member #2,756
September 2002
|
In MINGW i had to copy some include files manually, but its just minor thing.
|
|
Peter Wang
Member #23
April 2000
|
Bob, I will check when I get home. But even if AGL works with 4.3.0, it likely won't work for long after that. I think there is no point making AGL work with 4.3 if we're going to integrate the functionality. I think the best thing to do is just to merge AGL code into 4.3 and take out what we don't like later, rather than bringing in bits and pieces. Also, AllegroGL API compatibility would be nice but treated as less essential than 4.2 API compatibility (since there are far fewer AGL programs). Izual: which ones?
|
|
Izual
Member #2,756
September 2002
|
It turned out to be just one (first time i copied all files that wasn't there >.<) allegro\platform\astdbool.h
|
|
Bob
Free Market Evangelist
September 2000
|
Quote: Also, AllegroGL API compatibility would be nice but treated as less essential than 4.2 API compatibility Indeed. If we break AGL API compatibility, then we have a good chance of fixing a lot of the existing flaws. -- |
|
Evert
Member #794
November 2000
|
Quote: There needs to be some consistancy with the naming api. How is it not consistent? Quote:
al_create_bitmap becomes al_bitmap_create
Ack! Quote: Have you managed to change round the function parameters so they are all the same, e.g. al_blit to match draw_sprite?
Have a look at al_blit() and your question will be answered. Quote: it is my opinion that as much as possible should be put into addons
That's the idea. Not in the least so that a change to the graphics driver doesn't affect the GUI (say), or such that programmes don't pull in all code. Quote: I might be wrong, but this is my opinion.
You are indeed wrong, and it's not clear to me how you can have an opinion on something that is falsifiable. Quote: What happened to the VTABLEs?
I don't think the graphic VTABLEs have cchanged at all, which means that the current display API is sitting on the old drivers, that don't really accomodate the new API nicely. So that will have to be changed. |
|
Peter Wang
Member #23
April 2000
|
Quote: I don't think the graphic VTABLEs have cchanged at all, Confirmed. There are exactly zero differences between include/allegro/gfx.h in 4.2.1 (SVN) and 4.3.0. However, the AGL (SVN) examples tend to crash with 4.3.0, at least on X. I haven't investigated (and won't).
|
|
Jerome C
Member #3,706
July 2003
|
Quote:
al_create_bitmap becomes al_bitmap_create
Evert said:
Ack!
Unless of course you're Yoda or something |
|
Richard Phipps
Member #1,632
November 2001
|
Can I just clarify about merging AllegroGL and Allegro? I'm currently using OpenLayer and pretty much all primitives, drawing and images are done directly with OpenLayer. I think I'm only using Allegro itself for the mouse, keyboard and sound code. Since 4.3.0 is going to break with old versions, would it not be worthwhile cosidering using a similar DirectX / OpenGL route for primitives and images? Or at least providing a way to compile the lib without the Bitmap, Palette and Primitive code.. This way people could use 4.2.0 for traditional methods and the new allegro for totally hardware accelerated coding. Personally after using OpenLayer I don't see any need to go back to using software gfx apart from for compatability reasons.
|
|
|
|