X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2FDraw.c;h=edb4a02686c8e182aed429b15163f80ba49bc7ff;hb=95dc5c5e5e053ae616754c1205e480822a730ed2;hp=989d9bdb27b8d5f27715fd9d021c727a324b6e17;hpb=81fda4e8d854c96e70dc2e6b7cd2f48a51f55d86;p=picodrive.git diff --git a/Pico/Draw.c b/Pico/Draw.c index 989d9bd..edb4a02 100644 --- a/Pico/Draw.c +++ b/Pico/Draw.c @@ -54,6 +54,7 @@ void DrawSpritesFromCache(int *hc, int sh); void DrawLayer(int plane_sh, int *hcache, int cellskip, int maxcells); void FinalizeLineBGR444(int sh); void FinalizeLineRGB555(int sh); +void *blockcpy(void *dst, const void *src, size_t n); void blockcpy_or(void *dst, void *src, size_t n, int pat); #else // utility @@ -63,6 +64,7 @@ void blockcpy_or(void *dst, void *src, size_t n, int pat) for (; n; n--) *pd++ = (unsigned char) (*ps++ | pat); } +#define blockcpy memcpy #endif @@ -610,8 +612,8 @@ static void DrawTilesFromCacheShPrep(void) { // as some layer has covered whole line with hi priority tiles, // we can process whole line and then act as if sh/hi mode was off. - rendstatus|=0x80; int c = 320/4, *zb = (int *)(HighCol+8); + rendstatus|=0x80; while (c--) { int tmp = *zb; @@ -1108,7 +1110,7 @@ static void DrawAllSprites(int *hcache, int maxwidth, int prio, int sh) // sprite limit ntiles += pack>>28; - if(ntiles > 40) break; + if(!(PicoOpt&0x40000) && ntiles > 40) break; if(pack & 0x00800000) continue;