From efcce48953b9c132d19540f7ac877e3e8d791b19 Mon Sep 17 00:00:00 2001 From: biwa <6475593+biwa@users.noreply.github.com> Date: Sun, 17 Sep 2023 17:23:27 +0200 Subject: [PATCH] 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 --- .../BuilderModes/VisualModes/Effect3DFloor.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Source/Plugins/BuilderModes/VisualModes/Effect3DFloor.cs b/Source/Plugins/BuilderModes/VisualModes/Effect3DFloor.cs index 6c102e77..eb1534e9 100755 --- a/Source/Plugins/BuilderModes/VisualModes/Effect3DFloor.cs +++ b/Source/Plugins/BuilderModes/VisualModes/Effect3DFloor.cs @@ -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