\r
static u32 HighCacheA[41*2+1]; // caches for high layers\r
static u32 HighCacheB[41*2+1];\r
-static u32 HighPreSpr[80*2+1]; // slightly preprocessed sprites\r
+static s32 HighPreSpr[80*2+1]; // slightly preprocessed sprites\r
\r
u32 VdpSATCache[128]; // VDP sprite cache (1st 32 sprite attr bits)\r
\r
// Index + 0 : hhhhvvvv ab--hhvv yyyyyyyy yyyyyyyy // a: offscreen h, b: offs. v, h: horiz. size\r
// Index + 4 : xxxxxxxx xxxxxxxx pccvhnnn nnnnnnnn // x: x coord + 8\r
\r
-static void DrawSprite(u32 *sprite, int sh, int w)\r
+static void DrawSprite(s32 *sprite, int sh, int w)\r
{\r
void (*fTileFunc)(unsigned char *pd, unsigned int pack, unsigned char pal);\r
unsigned char *pd = Pico.est.HighCol;\r
int width=0,height=0;\r
int row=0;\r
- u32 code=0;\r
+ s32 code=0;\r
int pal;\r
int tile=0,delta=0;\r
int sx, sy;\r
w = p[cnt]; // possibly clipped width of last sprite\r
for (cnt--; cnt >= 0; cnt--, w = 0)\r
{\r
- u32 *sprite, code;\r
+ s32 *sprite, code;\r
int pal, tile, sx, sy;\r
int offs, delta, width, height, row;\r
\r
// Go through sprites:\r
for (entry = 0; entry < cnt; entry++)\r
{\r
- u32 *sprite, code;\r
+ s32 *sprite, code;\r
int pal, tile, sx, sy;\r
int offs, delta, width, height, row;\r
\r
// Go through sprites:\r
for (entry = 0; entry < cnt; entry++)\r
{\r
- u32 *sprite, code;\r
+ s32 *sprite, code;\r
int pal, tile, sx, sy;\r
int offs, delta, width, height, row;\r
\r
const struct PicoEState *est=&Pico.est;\r
int u,link=0,sh;\r
int table=0;\r
- u32 *pd = HighPreSpr;\r
+ s32 *pd = HighPreSpr;\r
int max_sprites = 80, max_width = 328;\r
int max_line_sprites = 20; // 20 sprites, 40 tiles\r
\r
printf("c%03i: f %x c %2i/%2i w %2i: ", u, HighLnSpr[u][1],\r
HighLnSpr[u][0], HighLnSpr[u][3], HighLnSpr[u][2]);\r
for (y = 0; y < HighLnSpr[u][0]; y++) {\r
- int *sp = HighPreSpr + (HighLnSpr[u][y+4]&0x7f) * 2;\r
+ s32 *sp = HighPreSpr + (HighLnSpr[u][y+4]&0x7f) * 2;\r
printf(" %i(%x/%x)", HighLnSpr[u][y+4],sp[0],sp[1]);\r
}\r
printf("\n");\r
w = p[cnt]; // possibly clipped width of last sprite\r
for (cnt--; cnt >= 0; cnt--, w = 0)\r
{\r
- u32 *sp = HighPreSpr + (p[cnt]&0x7f) * 2;\r
+ s32 *sp = HighPreSpr + (p[cnt]&0x7f) * 2;\r
if ((p[cnt] >> 7) != prio) continue;\r
DrawSprite(sp, sh, w);\r
}\r