Re: [AD] Allegro plug-in system (was: Is there a licensing reason why PNG isn't built-in to Allegro?) |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
- To: alleg-developers@xxxxxxxxxx
- Subject: Re: [AD] Allegro plug-in system (was: Is there a licensing reason why PNG isn't built-in to Allegro?)
- From: Chris <chris.kcat@xxxxxxxxxx>
- Date: Fri, 24 Mar 2006 18:32:20 -0800
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:from:to:subject:date:user-agent:references:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:message-id; b=mgJ5uIOe+U0C0KvUwHNfTY65JcZEJ9HijuUQSRfsL5aKOeYrVsvSmfchbEdWwX1AAeXZXx47f/keDFBZa9Nkx/T/OC2nZ/urih9vgULmC1qF8GH5mPbYMZ/vnzk6mkPnottA0PP/hOgnre91tSMG8n/70ADpQRWahGFOL5At0rs=
On Friday 24 March 2006 13:27, Victor wrote:
> So, It looks likes that allegro should:
>
> 1. Have a very light basic stuff core.
> 2. Put BMP, PCX, WAV, MID, FLC/FLI, joystick stuff apart of allegro
> core in something like a "allegro standard plug-ins package". (Probably
> a few non-core things would still left in the core, but this should be
> keeped in the minimum).
> 3. Create some type of simple, effeciently (and if possible backward
> compatible) plug-in structure.
The problem with this is that it introduces DLL hell. Instead of one DLL
(allegro), you find yourself using more (ie. allegro-images, allegro-sound,
allegro-input, allegro-gui, etc). Many people do not like this concept. There
also may be platforms that aren't able to handle loading shared-objects.
IMO, the best thing to do would be to include the very-cross-platform libs,
like libpng, in a sub-directory of the Allegro package, built automatically
during the Allegro build process, and either linked in with Allegro itself,
or left as a seperate DLL if possible (most people will probably already have
libpng). Could probably do the same with libogg and libvorbis (please don't
use libvorbisfile, unless they fixed the problem of it not playing all Ogg
files that have Vorbis audio). The code using these packages could be
disablable in the unlikely case we hit a platform that can't use them (in
which case, Allegro will still function normally, just without eg. png
support since the platform can't use png).