[ANN] Hail (the GPL ruby extension/c++ library)

(This announcement is being posted to this list on behalf of Lorien Dunn.
See also: http://raa.ruby-lang.org/list.rhtml?name=hail_ruby)

Announcement: Hail (the GPL ruby extension/c++ library)

Download location:
http://sourceror2.tripod.com

Download location for Hail (the AIE windows game):
http://http://www.fileplanet.com/files/120000/120496.shtml

Author:
Lorien Dunn
loriendunnNOSPAM@hotmail.com (remove the “NOSPAM”)

This extension is the (very much updated) code for everything to

do with ruby from the AIE game “Hail” that isn’t wrapping an Imagin8
engine class. It is known to work on Windows and Linux.

The package contains:

    An FAQ about Hail (the game), ruby, and open-source software

    Timer: provides millisecond accurate timing from a
     hardware clock.

    Log: a unified debug log for c++ and ruby.

    Memory: a screaming fast memory pool allocation system.
     On win2k seems to be around 6* faster than malloc/free,
     and on (a very optimised) linux 2.4.19 around 2*.

    Vector3: a basic 3d vector class that is very easy
     and fast from c++ and very easy from ruby.

    Scheduler: Allows deferred execution of ruby code-blocks.
     If your event loop runs fast enough it is accurate to
     the millisecond, otherwise it catches up. Based on a
     scheduler by Roger Dannenberg for interactive music
     systems and midi sequencing.

    Signal: Like a Signal/Slot framework, but lets you
     connect to any number of ruby code-blocks.

    RubyMM: An exception safe c++ to ruby communication library.
     Lets you use any ruby class/instance/module from c++ with
     minimal effort, and hence makes it easy to write c++
     classes with virtual ruby methods. Also eases embedding
     ruby in a c++ application.

    Audio: a realtime 3d game audio engine written with the above
     classes and Fmod. Makes it easy to embed all the sounds an
     entity can make inside that entity, and allows control of
     all those sounds at once though a Manager.

Fmod is a free-as-in-beer for non-commercial use audio abstraction lib

available from www.fmod.org. Here are some of its features:

*If supported by your soundcard/drivers/platform you get hardware
 accelerated 2d/3d audio with environmental reverbs (EAX 3.0). If
 not you get MMX/FPU 2d/3d audio.
*Runs on windows, wince, linux, macos, playstation2, game cube,
 and xbox.
*On linux it can use OSS/Free, ESD, and ALSA 0.9
*On windows it can use WinMM, DirectSound, ASIO, and DolbyDigital.
*On all platforms it understands wav, aiff, mp3, ogg, and wma
 formats.
*Lots more like mod, midi, and audio-cd playback (not available
 from ruby yet).

END OF DOC

James Britt