#include #include "MyPad.h" #define OT_LENGTH 1 #define PACKETMAX 2048 #define PACKETMAX2 (PACKETMAX*24) #define DUCK_ADDRESS 0x80090000 #define scaleRotate(_s,_x,_y,_r) (_s)->scalex += (_x), (_s)->scaley += (_y), (_s)->rotate += (_r) #define setRGB(_s,_r,_g,_b) (_s)->r = (_r), (_s)->g = (_g), (_s)->b = (_b) // Ordering table related variables GsIMAGE screenTextureInfo; GsOT WorldOT[2]; GsOT_TAG OTTags[2][1<255, buffer 1 is 256->511) // grab a row of pixels and set the transparency bit. Not a quick as the old method :( // but uses much less memory :) setRECT(&rect, 0, 0, 320, 1); for (j=0; j<512; j++) { rect.y = j; StoreImage(&rect, row); DrawSync(0); for (i=0; i<160; i++) row[i] |= (1<<15) + (1<<31); LoadImage(&rect, row); DrawSync(0); } if (type==0) { scaleRotate(&leftSprite, scale, scale, rotate); scaleRotate(&rightSprite, scale, scale, rotate); } // A much tighter drawing loop with no hideously long for loop :) for (i=0; i