sprite=(int *)(Pico.vram+((table+(link<<2))&0x7ffc)); // Find sprite
link=(sprite[0]>>16)&0x7f;
- if(!link) return; // End of sprites
+ if (!link) break; // End of sprites
}
- if (u == max_sprites) return;
+ if (u >= max_sprites) return;
fsprite = (int *)(Pico.vram+(table&0x7ffc));
oldsprite[0] = fsprite[0];
{
unsigned char *ps = PicoDraw2FB + DRAW2_LINE_WIDTH*y + 8;
for (x = 0; x < 8*4; x++)
- if (ps[x]) screen[x] = HighPal[ps[x]];
+ if (ps[x]) screen[x] = HighPal[ps[x]], ps[x] = 0;
screen += stride;
}
\r
if (HighCache2B[1]) DrawTilesFromCacheF(HighCache2B);\r
if (HighCache2A[1]) DrawTilesFromCacheF(HighCache2A);\r
- switch (hvwin)\r
+ if (PicoDrawMask & PDRAW_LAYERA_ON) switch (hvwin)\r
{\r
case 4:\r
// fullscreen window\r