diff --git a/r_polyse.c b/r_polyse.c index 0852d2c5..c8de02fd 100644 --- a/r_polyse.c +++ b/r_polyse.c @@ -1192,7 +1192,7 @@ void R_PolysetFillSpans8 (spanpackage_t *pspanpackage) *lpdest = ((byte *)vid.colormap)[irtable[*lptex]]; else*/ //*lpdest = *lptex; //((byte *)vid.colormap)[*lptex + (llight & 0xFF00)]; - uint src = *lptex; + pixel_t src = *lptex; //*lpdest = //vid.colormap[src & 0xff00|(llight>>8)] << 8 | (src & llight & 0xff) | ((src & 0xff) >> 3); // very dirty, maybe need dual colormap? //*lpdest = (vid.colormap[src >> 8 | (llight & 0xFF00)] << 8) | src & 0xff; diff --git a/r_studio.c b/r_studio.c index 48b2e623..4b99f998 100644 --- a/r_studio.c +++ b/r_studio.c @@ -1817,7 +1817,13 @@ static void R_StudioSetupSkin( studiohdr_t *ptexturehdr, int index ) image_t *image; if( FBitSet( g_nForceFaceFlags, STUDIO_NF_CHROME )) + { + image = R_GetTexture(tr.whiteTexture); + r_affinetridesc.pskin = image->pixels[0]; + r_affinetridesc.skinwidth = image->width; + r_affinetridesc.skinheight = image->height; return; + } if( ptexturehdr == NULL ) return; diff --git a/r_surf.c b/r_surf.c index 3d7fc918..cd032d3b 100644 --- a/r_surf.c +++ b/r_surf.c @@ -1069,7 +1069,7 @@ void R_DrawSurfaceDecals() if( alpha < 7) // && (vid.rendermode == kRenderTransAlpha || vid.rendermode == kRenderTransTexture ) ) { pixel_t screen = dest[u]; // | 0xff & screen & src ; - dest[u] = vid.alphamap[( alpha << 16)|(src & 0xff00)|(screen>>8)] << 8 | (screen & 0xff) | ((src & 0xff) >> 3); + dest[u] = vid.alphamap[( alpha << 16)|(src & 0xff00)|(screen>>8)] << 8 | (screen & 0x7f) >> 3 | ((src & 0xff)); } else