Newsgroups: rec.games.programmer Date: Mon, 24 Jun 1996 10:55:24 +0100 (BST) From: Shawn Hargreaves To: djgpp-announce AT delorie DOT com Subject: Announcing Allegro 2.1 Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Allegro version 2.1 is now available from: The Simtel djgpp distribution, in /djgpp/v2tk/alleg21.zip ftp://x2ftp.oulu.fi/pub/msdos/programming/djgpp2/alleg21.zip (this may take a while to get moved from the incoming directory) http://www.york.ac.uk/~slh100/allegro.html Note that the last URL will only exist for this coming week, as I am in the process graduating and therefore losing this net account. The same thing applies to my email: I'm only here until Friday June 28. If you are going to have any problems with this release, please do it quickly while I am still here to fix them :-) If you want to contact me after I leave York, my snail address is in the Allegro docs, or you can wait until I sort my life out and get back on the net. Allegro is a game programming library for djgpp. It features: Supports VGA mode 13h, mode-X (twenty tweaked VGA resolutions plus unchained 640x400 Xtended mode), and 256 color SVGA modes. Uses the VESA 2.0 linear framebuffer and protected mode bank switching interfaces if they are available, and also contains register level drivers for Cirrus, S3, and Tseng cards. Drawing functions including putpixel, getpixel, lines, rectangles, polygons, circles, floodfill, patterned fills, masked, run length encoded, and compiled sprites, blitting, bitmap scaling and rotation, and text output with proportional fonts. Supports clipping, and can draw directly to the screen or to memory bitmaps of any size. Hardware scrolling, mode-X split screens, and pallete manipulation. FLI/FLC animation player. Plays background MIDI music and up to eight simultaneous sound effects. Samples can be looped, and the volume, pan, and pitch can be altered 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. Currently supports Adlib, SB, SB Pro, SB16, and MPU-401. Easy access to the mouse, keyboard, joystick, and high resolution timer interrupts, including a vertical retrace interrupt simulator. Routines for reading and writing LZSS compressed files. Multi-object data files and a grabber utility. Fixed point 16.16 math functions including lookup table trig. GUI dialog manager and file selector. Allegro is swap-ware. You may use, modify, redistribute, and generally hack it about in any way you like, but if you do you must send me something in exchange. This could be a complimentary copy of a game, an addition or improvement to Allegro, a bug report, some money (this is particularly encouraged if you use Allegro in a commercial product), or just a copy of your autoexec.bat if you don't have anything better. If you redistribute parts of Allegro or make a game using it, it would be nice if you mentioned me somewhere in the credits, but if you just want to pinch a few routines that is OK too. I'll trust you not to rip me off. Changes from version 2.0 to 2.1: Mode-X support (thanks to Jonathan Tarbox and Dominique Biesmans for suggesting and then helping to implement this). Compiled sprites. Jonathan Tarbox contributed an FLI/FLC player. Added patterned drawing modes. Added a vertical retrace interrupt simulator. polygon() can now handle concave and self-intersecting shapes. I also changed the parameters a bit. Sorry if this breaks your old code, but it's more efficient the new way... Added stretch_sprite(). Wrote a floodfill() routine. More flexible pallete fade routines. Added set_volume() to the sound code. David Calvin wrote a sound setup utility. Improved the GUI. Added popup/dropdown menus, joystick input, three button alert boxes, better handling of arrow key focus movement, a new keyboard shortcut object (d_keyboard_proc()), and '&' markers in strings to display keyboard shortcuts. The GUI can also now be used with fonts other than the standard 8x8 default, by altering the global 'font' pointer. Fabian Nunez added support for the CH Flightstick Pro joystick (looks cool: I want one :-) and 3-button mice. The keyboard handler now responds to the state of the ctrl and alt keys, and there is a new simulate_keypress() function. Mark Wodrich added sub-bitmaps, which share their memory with a parent bitmap but can be positioned anywhere within it, and have their own clipping rectangles. Mark also modified the mouse driver to double-buffer the pointer (so it doesn't flicker any more), and added a set_mouse_sprite_focus() function. Added set_mouse_range() and set_mouse_speed() functions. Thanks (again) to Mark Wodrich, the grabber can now import GRX .FNT files. The grabber can now make backups when saving datafiles, and it only writes the datafile headers if their contents have changed, to prevent unnecessary recompilation. Added a text_height() function. The fixed point inverse sin and inverse cos functions now use lookup tables, which makes them a lot faster. Reorganised the directory structure, added some example programs, and improved the documentation. Shawn Hargreaves slh100 AT tower DOT york DOT ac DOT uk http://www.york.ac.uk/~slh100 1 Salisbury Road, Market Drayton, Shropshire, England