------------------------------------------------------------------------
// test fast sprite
//unsigned int tbl_sprINTRO_w[216];
//unsigned int tbl_sprINTRO_x[216];
//const unsigned char spr_INTRO[34560];
/* unsigned char countx,county,flag=0;
for (i=0;i<216;++i){
tbl_sprINTRO_x[i]=0;
spr_temp[i]=0;
tbl_sprINTRO_w[i]=0;
}
for (i=0;i<34560;++i){
if(spr_INTRO[i] != 0xff){
if (flag==0) tbl_sprINTRO_x[county]=countx;
spr_temp[county]=1+countx;
flag=1;
}
++countx;
if (countx==160){
++county;
countx=0;
flag=0;
}
}
for (i=0;i<216;++i)
tbl_sprINTRO_w[i]=spr_temp[i]-tbl_sprINTRO_x[i];
*/
------------------------------------------------------------------------------------------
void gp_fastsprite(unsigned char * sprite, u8 trans , short spr_x, short spr_y, short size_x, short lcd_x, short lcd_y)
{
GpTransBlt(NULL,&gpDraw[nflip],lcd_x,lcd_y,size_x,1,(unsigned char*)sprite,spr_x,spr_y,160,216,trans);
}
------------------------------------------------------------------------------------------
//gp_fastsprite(unsigned char * sprite, u8 trans , short spr_x, short spr_y, short size_x, short lcd_x, short lcd_y)
/* for (i=0;i<216;++i)
//if (tbl_sprINTRO_w[i])
GpTransBlt(NULL,&gpDraw[nflip],
y+tbl_sprINTRO_x[i],5+i,tbl_sprINTRO_w[i],1,(unsigned char*)spr_INTRO,tbl_sprINTRO_x[i],i,160,216,255);
*/ /*
gp_fastsprite((unsigned char*)spr_INTRO //sprite
,255 //tranparenca
,tbl_sprINTRO_x[i] //depart x
,i
,tbl_sprINTRO_w[i] //largeur x
,y+tbl_sprINTRO_x[i] //position x
,5+i //position y
);
*/
L'idée c'etait de restituer un sprite ligne par ligne en zappant les zones transparentes, et la finalité etait de ne plus utiliser la fct trans du sdk pour les enormes sprites. Mais comme j'ai jamais reussi a restituer un image sans bug (j'avais reinventé le cryptage canal + sur gp pour un sprite

) alors j'ai stoppé le massacre et tout mis le code en remarque ds mon code (voir si dessus).