diff options
author | tron <tron@openttd.org> | 2006-08-28 06:05:04 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-08-28 06:05:04 +0000 |
commit | f5e70b67b5e0cd187ddd8c76f13ba7dcf5661e5f (patch) | |
tree | 4211b214d190be663f71d252b86b101e67742a70 | |
parent | 1299f0b00de584890236ccfd3f90e7c7146fc35d (diff) | |
download | openttd-f5e70b67b5e0cd187ddd8c76f13ba7dcf5661e5f.tar.xz |
(svn r6180) Use a switch instead of function pointers to choose the blitter
-rw-r--r-- | gfx.c | 27 |
1 files changed, 12 insertions, 15 deletions
@@ -1380,19 +1380,6 @@ static void GfxMainBlitter(const Sprite *sprite, int x, int y, int mode) BlitterParams bp; int zoom_mask = ~((1 << dpi->zoom) - 1); - static const BlitZoomFunc zf_tile[3] = - { - GfxBlitTileZoomIn, - GfxBlitTileZoomMedium, - GfxBlitTileZoomOut - }; - static const BlitZoomFunc zf_uncomp[3] = - { - GfxBlitZoomInUncomp, - GfxBlitZoomMediumUncomp, - GfxBlitZoomOutUncomp - }; - /* decode sprite header */ x += sprite->x_offs; y += sprite->y_offs; @@ -1450,7 +1437,12 @@ static void GfxMainBlitter(const Sprite *sprite, int x, int y, int mode) if (bp.width <= 0) return; } - zf_tile[dpi->zoom](&bp); + switch (dpi->zoom) { + default: NOT_REACHED(); + case 0: GfxBlitTileZoomIn(&bp); break; + case 1: GfxBlitTileZoomMedium(&bp); break; + case 2: GfxBlitTileZoomOut(&bp); break; + } } else { bp.sprite += bp.width * (bp.height & ~zoom_mask); bp.height &= zoom_mask; @@ -1487,7 +1479,12 @@ static void GfxMainBlitter(const Sprite *sprite, int x, int y, int mode) if (bp.width <= 0) return; } - zf_uncomp[dpi->zoom](&bp); + switch (dpi->zoom) { + default: NOT_REACHED(); + case 0: GfxBlitZoomInUncomp(&bp); break; + case 1: GfxBlitZoomMediumUncomp(&bp); break; + case 2: GfxBlitZoomOutUncomp(&bp); break; + } } } |