Advanced game library project is a library designed to ease game development.
It uses the SDL library and provides 2D graphical functions, sound streaming and events functions, video streaming, AI engines, and map generator.
This software is primarily designed for LINUX.
This SDK uses the SDL library for the bitmap, sound and events system. SDL provides accelerated and portable interfaces for the video and sound hardware.
The abstraction of the low level layer makes possible the extension of adgali to other low level libraries like Allegro or GGI.
This library tends to provide useful functions for bitmap and sprite display, game GUI, game sound events and music stream , network management and video streaming.
Well, only a subset of these features are implemented for now.
Here are some key features of "Advanced game library":
· underlying library:
· General features:
· The library is thread safe and reentrant
· Error management system: adgali provides a system to trace the origin of an error
· Unified data streaming system: memory, files, network or archives are simple to manage and can provide the game datas
· A modular conception for the loaders (streaming system, images, fonts ...)
· A memory leak detection system
· A postmortem backtracing system
· A general parser for a general treatment of the configuration files and scripts (in the spirit of the GTK+ description files).
· All major features are designed as modules integrated with a general engine
· a dynamic loading system of modules or third part libraries (work in progress)
· A cache system is designed for all objects to accelarate object loading
· 2D graphics features are:
· 32 bits pictures management: 24 bits of colour, 8 bits of alpha
· image loading: support BMP, PCX, GIF, TGA, JPG, PNG, PPM, PNM, PGM, TIFF, XCF, XPM image formats
· unified fonts management: true type fonts (TTF using freetype 2) and bitmap fonts ( an image file and a text description file)
· Color separation, modification and combination for an image (RGB, green level, CMY and HSV)
· zone filling, copying, tiling, clipping with optionnal rotation and mirror
· color filling, mask-ing, key color alpha channel treatment
· lines drawing with clipping functions
· Graphical user interface:
· a tree organized bitmap hierarchy with an automatic refresh system to the viewport
· basic string printing
· the SDL library with a version greater than or equal to 1.1.6
· png image loading with the LIBPNG library. Use a version greater than or equal to 1.0.3
· jpeg image loading with the LIBJPG library. Use a version greater than or equal to 6B
· tiff image loading with the LIBTIF library. Use a version greater than or equal to 3.0
· truetype fonts loading (ttf) with the FreeType library. Use a version greater than or equal to 2.0.7