Hi Folks this my new LIb .
Allegro Clean Lib 4 fast graphics programming

Features :
Graphics; jpg,bmp,pcx,tga and png
Tiles ; Mappy
input,sound ;
Pixel Perfect Collision;
SpritEngine in Delphix Style


Download http://www.box.net/shared/a5s87oogrp

Code:

function SystemInit( nWidth, nHeight, bpp,fps:integer;caption:pchar;FullScreen:boolean=false):boolean;cdecl;external 'allegro.dll';
function SystemInitEx( nWidth, nHeight,vw,vh, bpp,fps:integer;caption:pchar;FullScreen:boolean=false):boolean;cdecl;external 'allegro.dll';
procedure EndSystem;cdecl;external 'allegro.dll';
procedure FlipScreen();cdecl;external 'allegro.dll';
procedure ClearScreen(color:integer);cdecl;external 'allegro.dll';
procedure VSync;cdecl;external 'allegro.dll';
procedure BeginBlend(value:integer;mode:integer=0);cdecl;external 'allegro.dll';
procedure EndBlend;cdecl;external 'allegro.dll';
function MakeColor(r,g,b:integer):integer;cdecl;external 'allegro.dll';
function GetR(core:integer):integer;cdecl;external 'allegro.dll';
function GetG(core:integer):integer;cdecl;external 'allegro.dll';
function GetB(core:integer):integer;cdecl;external 'allegro.dll';
function GetA(core:integer):integer;cdecl;external 'allegro.dll';
//***************************************************
procedure ShowMouse(v:boolean);cdecl;external 'allegro.dll';
function  MouseUpdate:boolean;cdecl;external 'allegro.dll';
procedure SetMousePosition(x,y:integer);cdecl;external 'allegro.dll';
function  MouseX:integer;cdecl;external 'allegro.dll';
function  MouseZ:integer;cdecl;external 'allegro.dll';
function  MouseY:integer;cdecl;external 'allegro.dll';
procedure MouseRelativePosition(var x,y:integer);cdecl;external 'allegro.dll';
function  IsButtonDown( b:integer):boolean;cdecl;external 'allegro.dll';
function  IsButtonUp( b:integer):boolean;cdecl;external 'allegro.dll';
function  IsButtonReleased( b:integer):boolean;cdecl;external 'allegro.dll';
function  IsButtonPressed( b:integer):boolean;cdecl;external 'allegro.dll';
//***************************************************
function KeysUpdate:boolean;cdecl;external 'allegro.dll';
function IsKeyDown(Key:Keys):boolean;cdecl;external 'allegro.dll';
function IsKeyUp(Key:Keys):boolean;cdecl;external 'allegro.dll';
function IsKeyReleased(Key:Keys):boolean;cdecl;external 'allegro.dll';
function IsKeyPressed(Key:Keys):boolean;cdecl;external 'allegro.dll';
//*************************************************************************
procedure DrawPixel(buffer:surface; x, y, color:integer);cdecl;external 'allegro.dll';
procedure DrawLine(buffer:surface; x, y, x2, y2, color:integer);cdecl;external 'allegro.dll';
procedure DrawVLine(buffer:surface; x, y, size, color:integer);cdecl;external 'allegro.dll';
procedure DrawHLine(buffer:surface; x, y, size, color:integer);cdecl;external 'allegro.dll';
procedure DrawCircle(buffer:surface; x, y, rad, color:integer; fill:boolean=false);cdecl;external 'allegro.dll';
procedure DrawRect(buffer:surface; x, y, w, h, color:integer; fill:boolean=false);cdecl;external 'allegro.dll';
procedure DrawRoundRect(buffer:surface; x, y, w, h, rad, color:integer; fill:boolean=false);cdecl;external 'allegro.dll';
procedure DrawEllipse(buffer:surface; x, y, radx, rady, color:integer; fill:boolean=false);cdecl;external 'allegro.dll';
procedure DrawArc(buffer:surface; x, y, rad, start_angle, end_angle, color:integer; fill:boolean=false);cdecl;external 'allegro.dll';
procedure DrawTriangle(buffer:surface;p1,p2,p3:Tpoint; color:integer; fill:boolean=false);cdecl;external 'allegro.dll';
procedure DrawPolygon(buffer:surface;Points:pointer; count, color:integer; fill:boolean=false);cdecl;external 'allegro.dll';

//**************************************************************************
function LoadSurface(const fname:pchar):surface;cdecl;external 'allegro.dll';
function CreateSurface(w,h:integer):surface;cdecl;external 'allegro.dll';
function CreateSurfaceEx(bpp,w,h:integer):surface;cdecl;external 'allegro.dll';
function CreateFromSurface(buffer:surface;x,y,w,h:integer):surface;cdecl;external 'allegro.dll';
procedure InvertSurfaceAlpha(buffer:surface);cdecl;external 'allegro.dll';
procedure ConvertSurfaceAlpha(buffer:surface);cdecl;external 'allegro.dll';
procedure MakeSurfaceAlpha(buffer:surface);cdecl;external 'allegro.dll';
function SurfaceMaskColor(buffer:surface):integer;cdecl;external 'allegro.dll';
procedure SurfaceSetMaskColor(BUFFER:SURFACE;NEWCOLOR:INTEGER);cdecl;external 'allegro.dll';
procedure SurfaceReplaseMaskColor(BUFFER:SURFACE;color,NEWCOLOR:INTEGER);cdecl;external 'allegro.dll';
procedure ClearSurface(buffer:surface);cdecl;external 'allegro.dll';
procedure ClearSurfaceEx(buffer:surface;r,g,b:integer);cdecl;external 'allegro.dll';
procedure FreeSurface(buffer:surface);cdecl;external 'allegro.dll';
function FrontSurface:surface;cdecl;external 'allegro.dll';
function BackSurface:surface;cdecl;external 'allegro.dll';

function SurfaceColide(rSource1:Trect;surface1:surface;rSource2:TRect;surface2:surface):boolean;cdecl;external 'allegro.dll';

function SurfaceColideEx( xmin1, ymin1:integer;sprite1:surface; xmin2, ymin2:integer;sprite2:surface):boolean;cdecl;external 'allegro.dll';


//**************************************************************************
procedure FadeScreenOut( speed:integer);cdecl;external 'allegro.dll';
procedure FadeScreenIn(bmp_orig:surface;speed:integer);cdecl;external 'allegro.dll';
//**************************************************************************
procedure Blit(dest,src:surface; s_x, s_y, d_x, d_y, w, h:integer);cdecl;external 'allegro.dll';
procedure BlitStretch(dest,src:surface;rSource,rDest:TRect);cdecl;external 'allegro.dll';
procedure MaskedBlit(dest,src:surface; x,y:integer;Rsrc:TRect);cdecl;external 'allegro.dll';
procedure MaskedStretchBlit(dest,src:surface;rSource,rDest:TRect);cdecl;external 'allegro.dll';
//**************************************************************************
procedure PivotScaledSprite(dest,src:surface;x,y,sx,sy,angle,scale:integer);cdecl;external 'allegro.dll';
procedure PivotScaledSpriteVFlip(dest,src:surface;x,y,sx,sy,angle,scale:integer);cdecl;external 'allegro.dll';
procedure PivotSprite(dest,src:surface;x,y,sx,sy,angle:integer);cdecl;external 'allegro.dll';
procedure PivotSpriteVFlip(dest,src:surface;x,y,sx,sy,angle:integer);cdecl;external 'allegro.dll';
procedure RotateSprite(dest,src:surface;x,y,angle,scale:integer);cdecl;external 'allegro.dll';
procedure RotateSpriteVFlip(dest,src:surface;x,y,angle,scale:integer);cdecl;external 'allegro.dll';
procedure RotateScaledSprite(dest,src:surface;x,y,sx,sy,angle:integer);cdecl;external 'allegro.dll';
procedure RotateScaledSpriteVFlip(dest,src:surface;x,y,sx,sy,angle:integer);cdecl;external 'allegro.dll';
procedure DrawTrasSprite(dest,src:surface;x,y:integer);cdecl;external 'allegro.dll';
procedure DrawSprite(dest,src:surface;x,y:integer);cdecl;external 'allegro.dll';
procedure DrawSpriteHFlip(dest,src:surface;x,y:integer);cdecl;external 'allegro.dll';
procedure DrawSpriteVFlip(dest,src:surface;x,y:integer);cdecl;external 'allegro.dll';
procedure DrawSpriteVHFlip(dest,src:surface;x,y:integer);cdecl;external 'allegro.dll';

procedure DrawRotateScaled(dest,src:surface;x,y,angle,size,flags:integer);cdecl;external 'allegro.dll';
procedure DrawPivotScaled(dest,src:surface;x,y,px,py,angle,size,flags:integer);cdecl;external 'allegro.dll';
procedure DrawNormal(dest,src:surface;x,y,flags:integer);cdecl;external 'allegro.dll';

//**************************************************************************
procedure DrawTiled(dest,src:surface);cdecl;external 'allegro.dll';
procedure DrawFast(dest,src:surface; x, y:integer);cdecl;external 'allegro.dll';
procedure Draw(dest,src:surface;x,y:integer;flags:integer;opacity:integer);cdecl;external 'allegro.dll';
procedure DrawEx(dest,src:surface;x,y:integer;rSource:TRect; flags:integer;opacity:integer);cdecl;external 'allegro.dll';
procedure DrawStretchEx(dest,src:surface; rcDest, rSource:TRect;flags:integer;opacity:integer);cdecl;external 'allegro.dll';
procedure DrawStretch( dest,src:surface; rcDest:TRect;flags:integer;opacity:integer);cdecl;external 'allegro.dll';
procedure DrawRotate(dest,src:surface;x,y,angle:integer;flags:integer;opacity:integer);cdecl;external 'allegro.dll';
//**************************************************************************
procedure PrintText(x,y:integer;const char:pchar;color:integer);cdecl;external 'allegro.dll';
procedure PrintTextCenter(x,y:integer;const char:pchar;color:integer);cdecl;external 'allegro.dll';
procedure PrintTextRight(x,y:integer;const char:pchar;color:integer);cdecl;external 'allegro.dll';
//**************************************************************************
function LoadFont(fname:pchar):font;cdecl;external 'allegro.dll';
procedure DestroyFont(fnt:font);cdecl;external 'allegro.dll';
procedure MakeFontTrans(fnt:font);cdecl;external 'allegro.dll';
function LoadBitmapFont(fname:pchar):font;cdecl;external 'allegro.dll';
procedure TextOut(buffer:surface;f:font;x,y:integer;const char:pchar;mode:integer=0;color:integer=$FFFF);cdecl;external 'allegro.dll';
function TextHeight(f:FONT):integer;cdecl;external 'allegro.dll';
function TextLength(f:FONT;const text:pchar):integer;cdecl;external 'allegro.dll';
//****************************************************************************************
procedure PutPixel(buffer:surface;x,y,color:integer);cdecl;external 'allegro.dll';
function GetPixel(buffer:surface;x,y:integer):integer;cdecl;external 'allegro.dll';
//****************************************************************************************
function MapLoad (fname:pchar):integer;cdecl;external 'allegro.dll';
function MapLoadVRAM(fname:pchar):integer;cdecl;external 'allegro.dll';
procedure MapFreeMem;cdecl;external 'allegro.dll';
procedure MapInitAnims;cdecl;external 'allegro.dll';
procedure MapUpdateAnims;cdecl;external 'allegro.dll';
function MapChangeLayer(index:integer):boolean;cdecl;external 'allegro.dll';
function MapMakeParallaxBitmap(source:surface;mode:integer):surface;cdecl;external 'allegro.dll';
procedure MapDrawParallax ( buffer,dest:surface; mapxo, mapyo, mapx, mapy,	mapw, maph:integer);cdecl;external 'allegro.dll';
procedure MapDrawBG (buffer:surface; mapxo, mapyo, mapx, mapy,	mapw, maph:integer);cdecl;external 'allegro.dll';
procedure MapDrawBGT (buffer:surface; mapxo, mapyo, mapx, mapy,	mapw, maph:integer);cdecl;external 'allegro.dll';
procedure MapDrawFG (buffer:surface; mapxo, mapyo, mapx, mapy,	mapw, maph,mapfg:integer);cdecl;external 'allegro.dll';
function 	MapGetBlockBk(x,y:integer):integer;cdecl;external 'allegro.dll';
function  MapGetBlockInPixelsBK(x,y:integer):integer;cdecl;external 'allegro.dll';
function  MapGetBlockFg(x,y:integer):integer;cdecl;external 'allegro.dll';
function  MapGetBlockInPixelsFg(x,y:integer):integer;cdecl;external 'allegro.dll';
//****************************************************************************************

function LoadDataFile(const fname:pchar):DATAFILE;cdecl;external 'allegro.dll';
procedure UnLoadDataFile(data:DATAFILE);cdecl;external 'allegro.dll';
function LoadDataFileObject(const filename, objectname:pchar):DATAFILE;cdecl;external 'allegro.dll';
procedure UnLoadDataFileObject(data:DATAFILE);cdecl;external 'allegro.dll';
function GetSurfaceFromData(data:DATAFILE;index:integer):surface;cdecl;external 'allegro.dll';
function GetSampleFromData(data:DATAFILE;index:integer):sample;cdecl;external 'allegro.dll';
function GetFontFromData(data:DATAFILE;index:integer):font;cdecl;external 'allegro.dll';
function GetPointerFromData(data:DATAFILE;index:integer):pointer;cdecl;external 'allegro.dll';
//*****************************************************************************************


function LoadSound( fname:pchar):sample;cdecl;external 'allegro.dll';
procedure FreeSound(smp:SAMPLE);cdecl;external 'allegro.dll';
procedure AdjustSample(smp:SAMPLE ; vol, pan, frec:integer; loop:boolean);cdecl;external 'allegro.dll';
function PlaySound(smp:SAMPLE ; vol, pan, frec:integer; loop:boolean):integer;cdecl;external 'allegro.dll';
procedure StopSound(smp: SAMPLE );cdecl;external 'allegro.dll';
function IsPlayingSound( snd_voice:integer ):boolean;cdecl;external 'allegro.dll';
//****************************************************************************************