From 9fbb8a8201a1d6c784e7a29e58f338e2058888f3 Mon Sep 17 00:00:00 2001 From: mittorn Date: Thu, 4 Apr 2019 10:51:11 +0700 Subject: [PATCH] ref_soft: Add alpha test for brushes to all rendermodes --- r_scan.c | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/r_scan.c b/r_scan.c index 18a72ac9..c0e7838b 100644 --- a/r_scan.c +++ b/r_scan.c @@ -1090,9 +1090,12 @@ void D_BlendSpans16 (espan_t *pspan, int alpha) btemp = *(pbase + (s >> 16) + (t >> 16) * cachewidth); - if( alpha != 7 ) - btemp = BLEND_ALPHA( alpha, btemp, *pdest); - *pdest = btemp; + if( btemp != TRANSPARENT_COLOR ) + { + if( alpha != 7 ) + btemp = BLEND_ALPHA( alpha, btemp, *pdest); + *pdest = btemp; + } //*pz = izi >> 16; } pdest++; @@ -1128,9 +1131,12 @@ void D_BlendSpans16 (espan_t *pspan, int alpha) btemp = *(pbase + idiths + iditht * cachewidth); - if( alpha != 7 ) - btemp = BLEND_ALPHA( alpha, btemp, *pdest); - *pdest = btemp; + if( btemp != TRANSPARENT_COLOR ) + { + if( alpha != 7 ) + btemp = BLEND_ALPHA( alpha, btemp, *pdest); + *pdest = btemp; + } //*pz = izi >> 16; } pdest++; @@ -1286,8 +1292,11 @@ void D_AddSpans16 (espan_t *pspan) btemp = *(pbase + (s >> 16) + (t >> 16) * cachewidth); - btemp = BLEND_ADD( btemp, *pdest); - *pdest = btemp; + if( btemp != TRANSPARENT_COLOR ) + { + btemp = BLEND_ADD( btemp, *pdest); + *pdest = btemp; + } //*pz = izi >> 16; } pdest++; @@ -1323,8 +1332,11 @@ void D_AddSpans16 (espan_t *pspan) btemp = *(pbase + idiths + iditht * cachewidth); - btemp = BLEND_ADD( btemp, *pdest); - *pdest = btemp; + if( btemp != TRANSPARENT_COLOR ) + { + btemp = BLEND_ADD( btemp, *pdest); + *pdest = btemp; + } //*pz = izi >> 16; } pdest++;