/**************************************************************************** ECERE Tile Engine Copyright (c) 1997-2005 Jerome Jacovella-St-Louis All Rights Reserved. sprite.ec - Bitmap Sprite System ****************************************************************************/ import "ecere" struct SpriteFrame { byte xDis, yDis; Bitmap bitmap; }; class Sprite { byte numFrames; uint16 maxWidth,maxHeight; SpriteFrame *frames; ~Sprite() { Free(); } void Free() { int c; if(frames) { for(c=0; cbitmap.width; ry=frame->bitmap.height; if(flip) { dx = x-(frame->xDis+frame->bitmap.width)+maxWidth; dy = y+frame->yDis; } else { dx = x+frame->xDis; dy = y+frame->yDis; } if(inPal) frame->bitmap.paletteShades = inPal; surface.Blit(frame->bitmap, dx,dy, lx,ly, flip?(-rx):(rx), ry); } };