#include "sprite.h" void ChargeTIM(u_long *adresse,GsIMAGE *image ) {RECT rect; adresse++; GsGetTimInfo(adresse,image); rect.x=image->px; rect.y=image->py; rect.w=image->pw; rect.h=image->ph; LoadImage(&rect,image->pixel); DrawSync(0); printf("image: x:%d y:%d w:%d h:%d\n",image->px,image->py,image->pw,image->ph); if((image->pmode>>3)&0x01) {rect.x=image->cx; rect.y=image->cy; rect.w=image->cw; rect.h=image->ch; LoadImage(&rect,image->clut); DrawSync(0); printf("clut: x:%d y:%d w:%d h:%d\n",image->cx,image->cy,image->cw,image->ch); } } void SpriteToDummy(GsSPRITE *sp) {sp->attribute=(BrightRegulOFF|CLUT4Bit|RotateOFF|TransOFF|DISPLAY); sp->x=0; //coordonnees sp->y=0; sp->w=0; //taille sp->h=0; sp->tpage=0; //tpage sp->u=0; //offset dans tpage sp->v=0; sp->cx=0; //coordonnees clut sp->cy=0; //(4 ou 8 bits uniqu.) sp->r=0x80; //brillance rgb sp->g=0x80; sp->b=0x80; sp->mx=0; //centre rotation et zoom sp->my=0; sp->scalex=ONE; //facteur zoom 4096=1 sp->scaley=ONE; sp->rotate=0; //facteur rotation 4096=1¡ } void SpriteDefTexture(GsSPRITE *s,GsIMAGE *i) {s->tpage=GetTPage(i->pmode,0,i->px,i->py); s->cx=i->cx; s->cy=i->cy; }