Re: Allegro for Euphoria

new topic     » goto parent     » topic index » view thread      » older message » newer message

Hi Sid

> Am I correct in assuming that because Allegro is a wrapper for DirectX (in
> Windows at least), your wrapper is adding another level of "wrapperness"
to
> this?  Will this in turn not make the whole thing a tad slower?

Yes, it is another wrapper on top of DirectX and I have no idea how much
slower it will be because of that.  I'm hoping just a small amount.  Allegro
is a very mature library with hundres/thousands of users mainly still in DOS
using DJGPP.

> Obviously, ease of use might override this somewhat, so is it a lot easier
to
> use than exoticaX?
I have never used exoticaX so I can't comment on it either way.
I have used Allegro a little in C before and found it very easy to use.
(C was the thing that a hated!!!!)

My initial aim is to wrap as many of the functions required to convert the
example
programs  that come with the Allegro distribution.
This should give me a good indication of how good the Euphoria wrapper
can be.

> If it is then you may certainly count me in.
Thats great, I'm hoping to have a demo with a few dozen functions available
this weekend.

So far the wrapping of the functions seems to be easy.

I tested a couple of the timer routines and they seem to work ok, I was
expecting the worst in this area because of the call_back routines but so
far everything is coming along great ... and I'm only 1 and half days into
the wrapper!

The tricky past was installing Mingw, followed by Allegro, compiling
Allegro,
then making a DLL with Mingw that links to the Allegro DLL.
But now that all of that is done, I'm hoping to actually produce something
of interest.

Ray Smith

PS. Below is an extract from the Allegro readme file:


------------------------------

==================================
============ Features ============
==================================

   Cross-platform support for DOS, Windows, Unix, and BeOS systems.

   Drawing functions including putpixel, getpixel, lines, rectangles, flat
   shaded, gouraud shaded, and texture mapped polygons, circles, floodfill,
   bezier splines, patterned fills, masked, run length encoded, and compiled
   sprites, blitting, bitmap scaling and rotation, translucency/lighting,
   and text output with proportional fonts. Supports clipping, and can draw
   directly to the screen or to memory bitmaps of any size.

   DOS graphics drivers for VGA mode 13h, mode-X (twenty three tweaked VGA
   resolutions plus unchained 640x400 Xtended mode), and SVGA modes with 8,
   15, 16, 24, and 32 bit color depths, taking full advantage of VBE 2.0
   linear framebuffers and the VBE/AF hardware accelerator API if they are
   available. Additional video hardware support is available from the
   FreeBE/AF project (http://www.talula.demon.co.uk/freebe/).

   Windows graphics drivers using DirectX in fullscreen and windowed modes,
   plus routines for drawing onto GDI device contexts.

   Unix graphics drivers for X, DGA, fbcon, GGI, SVGAlib, VBE/AF, mode-X,
   and standard VGA.

   Hardware scrolling and triple buffering (where available), mode-X split
   screens, and palette manipulation.

   FLI/FLC animation player.

   Plays background MIDI music and up to 64 simultaneous sound effects, and
   can record sample waveforms and MIDI input. Samples can be looped
   (forwards, backwards, or bidirectionally), and the volume, pan, pitch,
   etc, can be adjusted while they are playing. The MIDI player responds to
   note on, note off, main volume, pan, pitch bend, and program change
   messages, using the General MIDI patch set and drum mappings. DOS version
   currently supports Adlib, SB, SB Pro, SB16, AWE32, MPU-401, ESS
   AudioDrive, Ensoniq Soundscape, and Windows Sound System. Windows version
   uses DirectSound and the system MIDI drivers. Unix version supports OSS,
   ESD, and ALSA sound drivers. All versions provide software wavetable MIDI
   playback.

   Easy access to the mouse, keyboard, joystick, and high resolution timer
   interrupts, including a vertical retrace interrupt simulator in the DOS
   version.

   Routines for reading and writing LZSS compressed files.

   Multi-object data files and a grabber utility.

   Math functions including fixed point arithmetic, lookup table trig, and
   3d vector/matrix/quaternion manipulation.

   GUI dialog manager and file selector.
-----------------

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu