The Allegro Wiki is migrating to github at https://github.com/liballeg/allegro_wiki/wiki
This page should answer frequently and not-so-frequently asked questions regarding the Allegro 5 API. The page is laid out as an interview, and should be read in order (later on, I will change this page to a knowledge base format). This page is signed CGamesPlay 20:06, October 11, 2008 (MDT).
Where is the appropriate to discuss API changes? We could use an issue tracker to track API issues, rather than bugs, if one is set up. We could use the wiki, but the project leads would need to check it regularly, and the Wiki format tends to be disorganized. Allegro.cc is another venue for discussion. IRC is not really appropriate because of limited availability.
This page says, "only those functions that are fundamental operations or absolutely required to allow an addon library will become part of the core library." Obviously, a "fundamental operation" is any function that is required to fulfill the primary goals of Allegro. What are the primary goals of Allegro?
In my opinion, one of the primary goals of Allegro is to ease the process of game creation. With every addon, this process becomes more difficult. Presently, in order to load a graphic, display text, and play a sound, the user must link in five additional libraries. The user also needs to distribute five additional DLLs, in addition to the DLLs required for the individual file formats. Why is the loading of a bitmap from disk a not a "fundamental operation"?
Presently, the line between the addons and the core library is very blurry, with parts spilling between them. The following few questions pertain to where the line lies. Will the al_iio_load function make it into the core? I think that the register_bitmap_filetype API from the old API is superior to requiring each codec pack to provide its own loading function.
Will kcm_audio be moved into the core?
Once the packfile API is written, will it be moved into the core? It doesn't make much sense to have a packfile addon be distributed with Allegro if the other addons--or the core itself--can't even use it.
Similarly, will the VFS API be moved into the core?
Will text rendering be moved into the core?
Finally, which parts of the core library will be moved into addons? Consider features like the joystick, keyboard, and mouse subsystems, or even the event and display subsystems.
Any other comments about the addons?