X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=bootcensus;a=blobdiff_plain;f=src%2Fcensus%2F3dgfx.c;h=e8a895d2bbc12341608491f31bca438b85dd27a1;hp=a028262b51ae11f65960aa076709e9a823912fa5;hb=0a37e241149d011e038aceb3faac568b405f8ecd;hpb=a2f065772bcb7766859033d140980720ef824546 diff --git a/src/census/3dgfx.c b/src/census/3dgfx.c index a028262..e8a895d 100644 --- a/src/census/3dgfx.c +++ b/src/census/3dgfx.c @@ -50,7 +50,7 @@ struct g3d_state { struct material mtl; int width, height; - uint32_t *pixels; + g3d_pixel *pixels; int vport[4]; @@ -511,20 +511,20 @@ void g3d_draw_indexed(int prim, const struct g3d_vertex *varr, int varr_size, if(st->opt & G3D_BLEND) { int r, g, b; int inv_alpha = 255 - pv[0].a; - uint32_t *dest = st->pixels + (pv[0].y >> 8) * st->width + (pv[0].x >> 8); - r = ((int)pv[0].r * pv[0].a + UNPACK_R32(*dest) * inv_alpha) >> 8; - g = ((int)pv[0].g * pv[0].a + UNPACK_G32(*dest) * inv_alpha) >> 8; - b = ((int)pv[0].b * pv[0].a + UNPACK_B32(*dest) * inv_alpha) >> 8; - *dest++ = PACK_RGB16(r, g, b); + g3d_pixel *dest = st->pixels + (pv[0].y >> 8) * st->width + (pv[0].x >> 8); + r = ((int)pv[0].r * pv[0].a + G3D_UNPACK_R(*dest) * inv_alpha) >> 8; + g = ((int)pv[0].g * pv[0].a + G3D_UNPACK_G(*dest) * inv_alpha) >> 8; + b = ((int)pv[0].b * pv[0].a + G3D_UNPACK_B(*dest) * inv_alpha) >> 8; + *dest++ = G3D_PACK_RGB(r, g, b); } else { - uint32_t *dest = st->pixels + (pv[0].y >> 8) * st->width + (pv[0].x >> 8); - *dest = PACK_RGB32(pv[0].r, pv[0].g, pv[0].b); + g3d_pixel *dest = st->pixels + (pv[0].y >> 8) * st->width + (pv[0].x >> 8); + *dest = G3D_PACK_RGB(pv[0].r, pv[0].g, pv[0].b); } break; case 2: { - uint32_t col = PACK_RGB32(pv[0].r, pv[0].g, pv[0].b); + g3d_pixel col = G3D_PACK_RGB(pv[0].r, pv[0].g, pv[0].b); draw_line(pv[0].x >> 8, pv[0].y >> 8, pv[1].x >> 8, pv[1].y >> 8, col); } break;