Visual Mode: fixed a problem where sloped 3D floors with an alpha value of less than 128 were not shown at all instead of fully opaque. Fixes #954

This commit is contained in:
biwa 2023-09-17 17:23:27 +02:00
parent 59197fdfe0
commit efcce48953

View file

@ -157,10 +157,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
if(sd.FloorGlow == null || !sd.FloorGlow.Fullbright) ceiling.color = 0;
}
// Apply alpha
floor.alpha = alpha;
ceiling.alpha = alpha;
//mxd
floor.extrafloor = true;
ceiling.extrafloor = true;
@ -171,9 +167,17 @@ namespace CodeImp.DoomBuilder.BuilderModes
sloped3dfloor = ((alpha < 255 || renderadditive) &&
(Angle2D.RadToDeg(ceiling.plane.Normal.GetAngleZ()) != 270 ||
Angle2D.RadToDeg(floor.plane.Normal.GetAngleZ()) != 90));
// As GZDoom doesn't support translucent 3D floors make is fully opaque
if (sloped3dfloor)
alpha = 255;
// Apply alpha
floor.alpha = alpha;
ceiling.alpha = alpha;
// Do not adjust light? (works only for non-vavoom types)
if(!vavoomtype)
if (!vavoomtype)
{
bool disablelighting = ((linedef.Args[2] & (int)Flags.DisableLighting) == (int)Flags.DisableLighting); //mxd
bool restrictlighting = ((linedef.Args[2] & (int)Flags.RestrictLighting) == (int)Flags.RestrictLighting); //mxd