Fix FOF side transparency/blending in Software

This commit is contained in:
spherallic 2024-06-24 21:48:36 +02:00
parent 3849ba65aa
commit 4f33b71ef1

View file

@ -1004,25 +1004,21 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
{ {
dc_iscale = 0xffffffffu / (unsigned)spryscale; dc_iscale = 0xffffffffu / (unsigned)spryscale;
// Skip if texture is multipatch // Column has a single post and it matches the texture height, use regular column drawers
if (textures[texnum]->transparency) if (col->num_posts == 1 && col->posts[0].topdelta == 0 && col->posts[0].length == (unsigned)dc_texheight)
{ {
// Column has a single post and it matches the texture height, use regular column drawers if (fuzzy)
if (col->num_posts == 1 && col->posts[0].topdelta == 0 && col->posts[0].length == (unsigned)dc_texheight) colfunc = colfuncs[COLDRAWFUNC_FUZZY];
{
if (fuzzy)
colfunc = colfuncs[COLDRAWFUNC_FUZZY];
else
colfunc = colfuncs[BASEDRAWFUNC];
}
else else
{ colfunc = colfuncs[BASEDRAWFUNC];
// Otherwise use column drawers with extra checks }
if (fuzzy) else
colfunc = colfuncs[COLDRAWFUNC_CLAMPEDTRANS]; {
else // Otherwise use column drawers with extra checks
colfunc = colfuncs[COLDRAWFUNC_CLAMPED]; if (fuzzy)
} colfunc = colfuncs[COLDRAWFUNC_CLAMPEDTRANS];
else
colfunc = colfuncs[COLDRAWFUNC_CLAMPED];
} }
} }