From 42f9443de119bf6c2e3160978ba4f9dd7a6c2f43 Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 16 Oct 2022 18:06:02 -0700 Subject: [PATCH] UDMF: Add back #900 and #901 additive, subtractive special alpha values for FOFs Fix fourth digit blend mode being off by one. see ebe38ff518 --- src/p_setup.c | 15 +++++++++++++-- src/p_spec.c | 5 +++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/p_setup.c b/src/p_setup.c index 2e9c0830d..d1433a7a4 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -3838,10 +3838,21 @@ static void P_SetBinaryFOFAlpha(line_t *line) if (sides[line->sidenum[0]].toptexture > 0) { line->args[1] = sides[line->sidenum[0]].toptexture; - if (sides[line->sidenum[0]].toptexture >= 1001) + + if (line->args[1] == 901) // additive special + { + line->args[1] = 0xff; + line->args[2] = TMB_ADD; + } + else if (line->args[1] == 902) // subtractive special + { + line->args[1] = 0xff; + line->args[2] = TMB_SUBTRACT; + } + else if (line->args[1] >= 1001) // fourth digit { - line->args[2] = (sides[line->sidenum[0]].toptexture/1000); line->args[1] %= 1000; + line->args[2] = (sides[line->sidenum[0]].toptexture/1000) + 1; // becomes an AST } } else diff --git a/src/p_spec.c b/src/p_spec.c index 8db26f249..25d75f3ff 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -5102,8 +5102,9 @@ static ffloor_t *P_AddFakeFloor(sector_t *sec, sector_t *sec2, line_t *master, I else th = th->next; } - fflr->alpha = max(0, min(0xff, alpha)); - if (fflr->alpha < 0xff || flags & FOF_SPLAT) + //fflr->alpha = max(0, min(0xff, alpha)); + fflr->alpha = alpha; + if (blendmode != TMB_TRANSLUCENT || fflr->alpha != 0xff || flags & FOF_SPLAT) { fflr->fofflags |= FOF_TRANSLUCENT; fflr->spawnflags = fflr->fofflags;