(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