[BBvideo=560,315]https://youtu.be/LMB4yr6RfUo[/BBvideo]
The simplified sprite source:
Code: Select all
long OTz;
int i;
obj_ft4 = (POLY_FT4*)gte_myPrimPtr;
gte_ldv3(&Sprite.co[0], &Sprite.co[1], &Sprite.co[2]);
gte_rtpt();
gte_ldv0(&Sprite.co[3]);
gte_stsxy3(&obj_ft4->x0, &obj_ft4->x1, &obj_ft4->x2);
gte_rtps();
gte_avsz4();
gte_stotz(&OTz);
if( OTz > 0 ) {
if (((OTz >> 2) >= GTE_OT_LENGTH)) {
gte_stsxy(&obj_ft4->x3);
setUVWH(obj_ft4,
Sprite.settings.u, Sprite.settings.v,
Sprite.settings.w, Sprite.settings.h);
obj_ft4->tpage = Sprite.texture.tpage;
obj_ft4->clut = Sprite.texture.clutid;
setPolyFT4(obj_ft4);
addPrim(OT + (OTz >> 2), obj_ft4);
gte_myPrimPtr += GTE_POLY_FT4_size;
}
}