ref_soft: Fix crash on glowshell, tune decals blending

This commit is contained in:
mittorn 2019-03-28 02:33:49 +07:00
parent 1871f39b2b
commit 7f8caf1634
3 changed files with 8 additions and 2 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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