diff --git a/gfx.c b/gfx.c index 61b3c0a262..24fcedd1cf 100644 --- a/gfx.c +++ b/gfx.c @@ -663,7 +663,6 @@ typedef struct BlitterParams { int width_org; int height_org; int pitch; - byte info; } BlitterParams; static void GfxBlitTileZoomIn(BlitterParams *bp) @@ -813,66 +812,56 @@ static void GfxBlitZoomInUncomp(BlitterParams *bp) assert(width > 0); switch (bp->mode) { - case 1: - if (bp->info & 1) { - const byte *ctab = _color_remap_ptr; + case 1: { + const byte *ctab = _color_remap_ptr; - do { - for (i = 0; i != width; i++) { - byte b = ctab[src[i]]; + do { + for (i = 0; i != width; i++) { + byte b = ctab[src[i]]; - if (b != 0) dst[i] = b; - } - src += bp->width_org; - dst += bp->pitch; - } while (--height != 0); - } + if (b != 0) dst[i] = b; + } + src += bp->width_org; + dst += bp->pitch; + } while (--height != 0); break; + } - case 2: - if (bp->info & 1) { - const byte *ctab = _color_remap_ptr; + case 2: { + const byte *ctab = _color_remap_ptr; - do { - for (i = 0; i != width; i++) - if (src[i] != 0) dst[i] = ctab[dst[i]]; - src += bp->width_org; - dst += bp->pitch; - } while (--height != 0); - } + do { + for (i = 0; i != width; i++) + if (src[i] != 0) dst[i] = ctab[dst[i]]; + src += bp->width_org; + dst += bp->pitch; + } while (--height != 0); break; + } default: - if (!(bp->info & 1)) { - do { - memcpy(dst, src, width); - src += bp->width_org; - dst += bp->pitch; - } while (--height != 0); - } else { - do { - int n = width; + do { + int n = width; - for (; n >= 4; n -= 4) { - if (src[0] != 0) dst[0] = src[0]; - if (src[1] != 0) dst[1] = src[1]; - if (src[2] != 0) dst[2] = src[2]; - if (src[3] != 0) dst[3] = src[3]; + for (; n >= 4; n -= 4) { + if (src[0] != 0) dst[0] = src[0]; + if (src[1] != 0) dst[1] = src[1]; + if (src[2] != 0) dst[2] = src[2]; + if (src[3] != 0) dst[3] = src[3]; - dst += 4; - src += 4; - } + dst += 4; + src += 4; + } - for (; n != 0; n--) { - if (src[0] != 0) dst[0] = src[0]; - src++; - dst++; - } + for (; n != 0; n--) { + if (src[0] != 0) dst[0] = src[0]; + src++; + dst++; + } - src += bp->width_org - width; - dst += bp->pitch - width; - } while (--height != 0); - } + src += bp->width_org - width; + dst += bp->pitch - width; + } while (--height != 0); break; } } @@ -1050,43 +1039,39 @@ static void GfxBlitZoomMediumUncomp(BlitterParams *bp) assert(width > 0); switch (bp->mode) { - case 1: - if (bp->info & 1) { - const byte *ctab = _color_remap_ptr; + case 1: { + const byte *ctab = _color_remap_ptr; - for (height >>= 1; height != 0; height--) { - for (i = 0; i != width >> 1; i++) { - byte b = ctab[src[i * 2]]; + for (height >>= 1; height != 0; height--) { + for (i = 0; i != width >> 1; i++) { + byte b = ctab[src[i * 2]]; - if (b != 0) dst[i] = b; - } - src += bp->width_org * 2; - dst += bp->pitch; + if (b != 0) dst[i] = b; } + src += bp->width_org * 2; + dst += bp->pitch; } break; + } - case 2: - if (bp->info & 1) { - const byte *ctab = _color_remap_ptr; - - for (height >>= 1; height != 0; height--) { - for (i = 0; i != width >> 1; i++) - if (src[i * 2] != 0) dst[i] = ctab[dst[i]]; - src += bp->width_org * 2; - dst += bp->pitch; - } + case 2: { + const byte *ctab = _color_remap_ptr; + + for (height >>= 1; height != 0; height--) { + for (i = 0; i != width >> 1; i++) + if (src[i * 2] != 0) dst[i] = ctab[dst[i]]; + src += bp->width_org * 2; + dst += bp->pitch; } break; + } default: - if (bp->info & 1) { - for (height >>= 1; height != 0; height--) { - for (i = 0; i != width >> 1; i++) - if (src[i * 2] != 0) dst[i] = src[i * 2]; - src += bp->width_org * 2; - dst += bp->pitch; - } + for (height >>= 1; height != 0; height--) { + for (i = 0; i != width >> 1; i++) + if (src[i * 2] != 0) dst[i] = src[i * 2]; + src += bp->width_org * 2; + dst += bp->pitch; } break; } @@ -1324,43 +1309,39 @@ static void GfxBlitZoomOutUncomp(BlitterParams *bp) assert(width > 0); switch (bp->mode) { - case 1: - if (bp->info & 1) { - const byte *ctab = _color_remap_ptr; + case 1: { + const byte *ctab = _color_remap_ptr; - for (height >>= 2; height != 0; height--) { - for (i = 0; i != width >> 2; i++) { - byte b = ctab[src[i * 4]]; + for (height >>= 2; height != 0; height--) { + for (i = 0; i != width >> 2; i++) { + byte b = ctab[src[i * 4]]; - if (b != 0) dst[i] = b; - } - src += bp->width_org * 4; - dst += bp->pitch; + if (b != 0) dst[i] = b; } + src += bp->width_org * 4; + dst += bp->pitch; } break; + } - case 2: - if (bp->info & 1) { - const byte *ctab = _color_remap_ptr; - - for (height >>= 2; height != 0; height--) { - for (i = 0; i != width >> 2; i++) - if (src[i * 4] != 0) dst[i] = ctab[dst[i]]; - src += bp->width_org * 4; - dst += bp->pitch; - } + case 2: { + const byte *ctab = _color_remap_ptr; + + for (height >>= 2; height != 0; height--) { + for (i = 0; i != width >> 2; i++) + if (src[i * 4] != 0) dst[i] = ctab[dst[i]]; + src += bp->width_org * 4; + dst += bp->pitch; } break; + } default: - if (bp->info & 1) { - for (height >>= 2; height != 0; height--) { - for (i = 0; i != width >> 2; i++) - if (src[i * 4] != 0) dst[i] = src[i * 4]; - src += bp->width_org * 4; - dst += bp->pitch; - } + for (height >>= 2; height != 0; height--) { + for (i = 0; i != width >> 2; i++) + if (src[i * 4] != 0) dst[i] = src[i * 4]; + src += bp->width_org * 4; + dst += bp->pitch; } break; } @@ -1371,7 +1352,6 @@ static void GfxMainBlitter(const Sprite *sprite, int x, int y, int mode) { const DrawPixelInfo *dpi = _cur_dpi; int start_x, start_y; - byte info; BlitterParams bp; int zoom_mask = ~((1 << dpi->zoom) - 1); @@ -1380,8 +1360,6 @@ static void GfxMainBlitter(const Sprite *sprite, int x, int y, int mode) y += sprite->y_offs; bp.width_org = bp.width = sprite->width; bp.height_org = bp.height = sprite->height; - info = sprite->info; - bp.info = info; bp.sprite_org = bp.sprite = sprite->data; bp.dst = dpi->dst_ptr; bp.mode = mode; @@ -1390,7 +1368,7 @@ static void GfxMainBlitter(const Sprite *sprite, int x, int y, int mode) assert(bp.height > 0); assert(bp.width > 0); - if (info & 8) { + if (sprite->info & 8) { /* tile blit */ start_y = 0;