Allegro A game programming library Languages: español  Deutsch  français  한국어 (Hangul)  polski  Italiano 

 
 

Allegro
  News
  Introduction
  License
  Contributors
  Older news
  Logos

Downloads
  Latest version
  Older versions
  CVS

Documentation 
  API
  FAQ
  Tutorials
  The future

Support
  Help
  Mailing lists
  IRC

Games, Utilities, Libraries, etc
  Allegro.cc

Misc
  DIGMID
  Links
  Mirrors
  Webmasters
  Humor

 
 
  

Introduction

Allegro is a portable library mainly aimed at video game and multimedia programming, originally started by Shawn Hargreaves for the DJGPP compiler in a mixture of C and assembler.

According to the Oxford Companion to Music, Allegro is the Italian for «quick, lively, bright». It is also a recursive acronym which stands for «Allegro Low LEvel Game ROutines».

Cross-platform support

  • Dos (DJGPP, Watcom)
  • Unix (Linux, FreeBSD, Solaris, Irix)
  • Windows (MSVC, MinGW, Borland, Cygwin)
  • BeOS
  • MacOS (alpha)
  • QNX

Graphic functions

  • Vectorial drawing:
    • pixels, lines, rectangles, circles, ellipses, arcs, Bezier splines
    • shape fill, with or without pattern
    • polygons: flat, Gouraud, textured and translucent
  • Sprites:
    • masked, compressed and compiled sprites
    • blitting, rotation, stretching, reduction, alpha blending, Gouraud shading
    • native support for BMP, LBM, PCX and TGA files (others supported with library extensions)
  • Color palettes:
    • color palette manipulation (reading, writing, conversion)
    • conversion of color formats RGB <-> HSV
  • Texts:
    • text output in Unicode format (masking, colouring, alignment)
  • Misc:
    • draw directly on the screen or on any-size memory bitmaps
    • hardware scrolling and triple buffering (where available), mode-X split screen
    • animation functions for FLI/FLC format

Graphic drivers

  • Dos:
    • VGA 13h mode
    • mode-X (23 VGA resolution plus unchained 640x400 extended mode)
    • SVGA modes in 8, 15, 16, 24 and 32 bits per pixel
    • linear VBE 2.0 framebuffer access
    • hardware acceleration through VBE/AF API if supported
    • additional graphic drivers through FreeBE/AF project
  • Unix:
    • X Window, DGA, fbcon
    • SVGAlib
    • VBE/AF
    • mode-X
    • VGA
  • Windows:
    • DirectX (windowed or full-screen)
    • GDI
  • BeOS:
    • BWindowScreen
    • BDirectWindow

Sound functions

  • Midi:
    • native MIDI music format support (with 64 simultaneous effects)
    • dynamic control/response to music note on, note off, main volume, pan, pitch bend, and program change
    • uses General MIDI patches
    • you can read in wavetable patches for MIDI files (SF2 and GUS patches)
  • Wave:
    • native support of WAV and VOC file formats (playing looped forward, backwards or bidirectional)
    • streaming audio
    • modify volume, pan, pitch, etc during play

Sound drivers

  • Dos:
    • Adlib, SB, SB Pro, SB16, AWE32
    • MPU-401
    • ESS AudioDrive
    • Ensoniq Soundscape
    • Windows Sound System
  • Unix:
    • OSS
    • ESD
    • ALSA
  • Windows:
    • DirectSound
    • WaveOut
    • MIDI system drivers

Math functions

  • fixed point aritmetic and trigonometric routines
  • precalculated trigonometric tables
  • vector/matrix/quaternions 3d manipulation (translation, rotation, scaling, projection)

Misc

  • mouse, keyboard and joystick management
  • high resolution interruption timers (resolution of 10, 5 or less ms depending on platform)
  • vertical retrace symulation under DOS
  • manipulate configuration files
  • manipulate compressed files in LZSS format
  • manipulate multi-object resource-like compressed datafiles
  • tool for creating datafiles (grabber)
  • simple GUI for dialogs and file selector