mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Fix linedef alpha in Software
This commit is contained in:
parent
c7fa8fc2bc
commit
d83832f6e0
1 changed files with 19 additions and 13 deletions
32
src/r_segs.c
32
src/r_segs.c
|
|
@ -132,14 +132,18 @@ static void R_Render2sidedMultiPatchColumn(column_t *column, column_t *brightmap
|
||||||
|
|
||||||
transnum_t R_GetLinedefTransTable(fixed_t alpha)
|
transnum_t R_GetLinedefTransTable(fixed_t alpha)
|
||||||
{
|
{
|
||||||
transnum_t transnum = NUMTRANSMAPS; // Send back NUMTRANSMAPS for none
|
if (alpha >= FRACUNIT)
|
||||||
|
|
||||||
if (alpha > 0 && alpha < FRACUNIT)
|
|
||||||
{
|
{
|
||||||
transnum = (20*(FRACUNIT - alpha - 1) + FRACUNIT) >> (FRACBITS+1);
|
return 0;
|
||||||
|
}
|
||||||
|
else if (alpha <= 0)
|
||||||
|
{
|
||||||
|
return NUMTRANSMAPS;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return (20*(FRACUNIT - alpha - 1) + FRACUNIT) >> (FRACBITS+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return transnum;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
|
void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
|
||||||
|
|
@ -172,16 +176,18 @@ void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
|
||||||
windowbottom = windowtop = sprbotscreen = INT32_MAX;
|
windowbottom = windowtop = sprbotscreen = INT32_MAX;
|
||||||
|
|
||||||
ldef = curline->linedef;
|
ldef = curline->linedef;
|
||||||
if (!ldef->alpha)
|
|
||||||
return;
|
|
||||||
|
|
||||||
transtable = R_GetLinedefTransTable(ldef->alpha);
|
transtable = R_GetLinedefTransTable(ldef->alpha);
|
||||||
blendmode = ldef->blendmode;
|
if (transtable == NUMTRANSMAPS)
|
||||||
|
|
||||||
if (transtable == NUMTRANSMAPS
|
|
||||||
|| blendmode == AST_MODULATE
|
|
||||||
|| blendmode == AST_FOG)
|
|
||||||
{
|
{
|
||||||
|
// Invisible, so don't render
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
blendmode = ldef->blendmode;
|
||||||
|
if (blendmode == AST_MODULATE || blendmode == AST_FOG)
|
||||||
|
{
|
||||||
|
// These blend modes don't use translucency
|
||||||
transtable = 0;
|
transtable = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue