Mercurial > hg > dmlib
diff tools/lib64fmts.c @ 1577:632f1dbc83eb
Get rid of some code duplication by merging functionality of certain pixel
decoding functions into the generic one.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 13 May 2018 09:50:13 +0300 |
parents | 2a9d0431e7b4 |
children | fb60abb09a65 |
line wrap: on
line diff
--- a/tools/lib64fmts.c Sun May 13 09:49:03 2018 +0300 +++ b/tools/lib64fmts.c Sun May 13 09:50:13 2018 +0300 @@ -249,7 +249,7 @@ const int vshift, const int vbitmap, const int raster) { (void) raster; - return dmC64GetGenericMCPixel(img, bmoffs, scroffs, vshift, 0, vbitmap, 0); + return dmC64GetGenericMCPixel(img, bmoffs, scroffs, vshift, 0, vbitmap, 0, img->bgcolor); } @@ -404,13 +404,10 @@ vr = raster - 100; } - switch ((img->bitmap[vbitmap][bmoffs] >> vshift) & 3) - { - case 0: return img->extraData[vb][vr] & 15; break; - case 1: return img->screen[vbank][scroffs] >> 4; break; - case 2: return img->screen[vbank][scroffs] & 15; break; - default: return img->color[0][scroffs] & 15; break; - } + return dmC64GetGenericMCPixel( + img, bmoffs, scroffs, vshift, + vbank, vbitmap, 0, + img->extraData[vb][vr] & 15); } @@ -431,13 +428,10 @@ vr = raster - 177; } - switch ((img->bitmap[vbitmap][bmoffs] >> vshift) & 3) - { - case 0: return img->extraData[vb][vr] & 15; break; - case 1: return img->screen[vbank][scroffs] >> 4; break; - case 2: return img->screen[vbank][scroffs] & 15; break; - default: return img->color[0][scroffs] & 15; break; - } + return dmC64GetGenericMCPixel( + img, bmoffs, scroffs, vshift, + vbank, vbitmap, 0, + img->extraData[vb][vr] & 15); } @@ -446,13 +440,11 @@ const int vshift, const int vbitmap, const int raster) { const int vbank = raster & 7; - switch ((img->bitmap[vbitmap][bmoffs] >> vshift) & 3) - { - case 0: return img->extraData[0][raster]; break; - case 1: return img->screen[vbank][scroffs] >> 4; break; - case 2: return img->screen[vbank][scroffs] & 15; break; - default: return img->color[0][scroffs] & 15; break; - } + + return dmC64GetGenericMCPixel( + img, bmoffs, scroffs, vshift, + vbank, vbitmap, 0, + img->extraData[0][raster] & 15); } @@ -460,7 +452,7 @@ const DMC64Image *img, const int bmoffs, const int scroffs, const int vshift, const int vbitmap, const int raster) { - return dmC64GetGenericMCPixel(img, bmoffs, scroffs, vshift, raster & 7, vbitmap, 0); + return dmC64GetGenericMCPixel(img, bmoffs, scroffs, vshift, raster & 7, vbitmap, 0, img->bgcolor); }