From f714966c8364db3871edd59e82ead563864c641b Mon Sep 17 00:00:00 2001 From: MascaraSnake Date: Sun, 12 Dec 2021 08:27:27 +0100 Subject: [PATCH 1/7] Remove outdated linedef type check in HWR_ProcessSeg --- src/hardware/hw_main.c | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 9bade3d6f..d187b0897 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -1434,34 +1434,10 @@ static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom // set alpha for transparent walls // ooops ! this do not work at all because render order we should render it in backtofront order - switch (gl_linedef->special) - { - // Translucent - case 102: - case 121: - case 123: - case 124: - case 125: - case 141: - case 142: - case 144: - case 145: - case 174: - case 175: - case 192: - case 195: - case 221: - case 253: - case 256: - blendmode = PF_Translucent; - break; - default: - if (gl_linedef->alpha >= 0 && gl_linedef->alpha < FRACUNIT) - blendmode = HWR_TranstableToAlpha(R_GetLinedefTransTable(gl_linedef->alpha), &Surf); - else - blendmode = PF_Masked; - break; - } + if (gl_linedef->alpha >= 0 && gl_linedef->alpha < FRACUNIT) + blendmode = HWR_TranstableToAlpha(R_GetLinedefTransTable(gl_linedef->alpha), &Surf); + else + blendmode = PF_Masked; if (gl_curline->polyseg && gl_curline->polyseg->translucency > 0) { From 8e4cbf8b76f662578425ea92d63602f74e17de84 Mon Sep 17 00:00:00 2001 From: MascaraSnake Date: Fri, 31 Dec 2021 15:33:47 +0100 Subject: [PATCH 2/7] Disable ML_EFFECT5 on linedef executor triggers for UDMF maps (what a pointless feature) --- src/p_spec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_spec.c b/src/p_spec.c index 408b43478..c548a32ca 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -1648,7 +1648,7 @@ static boolean P_ActivateLinedefExecutorsInSector(line_t *triggerline, mobj_t *a size_t linecnt = ctlsector->linecount; size_t i; - if (triggerline->flags & ML_EFFECT5) // disregard order for efficiency + if (!udmf && triggerline->flags & ML_EFFECT5) // disregard order for efficiency { for (i = 0; i < linecnt; i++) P_ActivateLinedefExecutor(ctlsector->lines[i], actor, caller); From 7609f300bad0ed2b8cbfaa8dd63818b0d86dcc3e Mon Sep 17 00:00:00 2001 From: MascaraSnake Date: Tue, 4 Jan 2022 19:45:36 +0100 Subject: [PATCH 3/7] Fix typo in laser FOF conversion --- src/p_setup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/p_setup.c b/src/p_setup.c index fd8b19f1c..057ccb45e 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -3557,10 +3557,10 @@ static void P_ConvertBinaryMap(void) //Flags if (lines[i].flags & ML_EFFECT1) - lines[i].args[2] = TMFL_NOBOSSES; + lines[i].args[2] |= TMFL_NOBOSSES; //Replicate old hack: Translucent FOFs set to full opacity cut cyan pixels if (lines[i].flags & ML_EFFECT6 || lines[i].args[1] == 256) - lines[i].args[2] = TMFL_SPLAT; + lines[i].args[2] |= TMFL_SPLAT; break; case 259: //Custom FOF From e0ed58f577f1bd0662244cf1dc2e192a66232abd Mon Sep 17 00:00:00 2001 From: MascaraSnake Date: Tue, 4 Jan 2022 19:49:28 +0100 Subject: [PATCH 4/7] Fix UDB config typo --- extras/conf/udb/Includes/SRB222_linedefs.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extras/conf/udb/Includes/SRB222_linedefs.cfg b/extras/conf/udb/Includes/SRB222_linedefs.cfg index 4169548cf..c99ed4bab 100644 --- a/extras/conf/udb/Includes/SRB222_linedefs.cfg +++ b/extras/conf/udb/Includes/SRB222_linedefs.cfg @@ -3384,7 +3384,7 @@ udmf 602 { - title = "Start Adjustable Pulsating Light"; + title = "Adjustable Pulsating Light"; prefix = "(602)"; arg0 { @@ -3442,7 +3442,7 @@ udmf 604 { - title = "Start Adjustable Blinking Light"; + title = "Adjustable Blinking Light"; prefix = "(604)"; arg0 { From 6cc7cc3276b8e256c7cf1ec836071fbbb9b6db9d Mon Sep 17 00:00:00 2001 From: MascaraSnake Date: Tue, 4 Jan 2022 19:50:34 +0100 Subject: [PATCH 5/7] Fix UDB config typo --- extras/conf/udb/Includes/SRB222_linedefs.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extras/conf/udb/Includes/SRB222_linedefs.cfg b/extras/conf/udb/Includes/SRB222_linedefs.cfg index cf51d9a9a..8c0b208a7 100644 --- a/extras/conf/udb/Includes/SRB222_linedefs.cfg +++ b/extras/conf/udb/Includes/SRB222_linedefs.cfg @@ -2731,7 +2731,7 @@ udmf type = 12; enum { - 1 = "Add to current translucency"; + 1 = "Add to current light level"; 2 = "Interrupt ongoing fades"; 4 = "Speed is duration"; } From a8e32cfe12914864677b3bef202df5de24c58db6 Mon Sep 17 00:00:00 2001 From: MascaraSnake Date: Wed, 5 Jan 2022 00:26:10 +0100 Subject: [PATCH 6/7] Fix incorrect turnaround behavior for bounceFloor and bounceCeiling --- src/p_ceilng.c | 7 +++++-- src/p_floor.c | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/p_ceilng.c b/src/p_ceilng.c index ed385be33..aa31e4301 100644 --- a/src/p_ceilng.c +++ b/src/p_ceilng.c @@ -86,14 +86,17 @@ void T_MoveCeiling(ceiling_t *ceiling) if (dest == lines[ceiling->sourceline].frontsector->ceilingheight) { dest = lines[ceiling->sourceline].backsector->ceilingheight; - ceiling->speed = ceiling->origspeed = lines[ceiling->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3] + ceiling->origspeed = lines[ceiling->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3] } else { dest = lines[ceiling->sourceline].frontsector->ceilingheight; - ceiling->speed = ceiling->origspeed = lines[ceiling->sourceline].args[2] << (FRACBITS - 2); // going frontways, use args[2] + ceiling->origspeed = lines[ceiling->sourceline].args[2] << (FRACBITS - 2); // going frontways, use args[2] } + if (ceiling->type == bounceCeilingCrush) + ceiling->speed = ceiling->origspeed; + if (dest < ceiling->sector->ceilingheight) // must move down { ceiling->direction = -1; diff --git a/src/p_floor.c b/src/p_floor.c index 7f1a7c2e0..1d7cc3f5b 100644 --- a/src/p_floor.c +++ b/src/p_floor.c @@ -206,13 +206,15 @@ void T_MoveFloor(floormove_t *movefloor) if (movefloor->floordestheight == lines[movefloor->sourceline].frontsector->floorheight) { movefloor->floordestheight = lines[movefloor->sourceline].backsector->floorheight; - movefloor->speed = movefloor->origspeed = lines[movefloor->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3] + movefloor->origspeed = lines[movefloor->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3] } else { movefloor->floordestheight = lines[movefloor->sourceline].frontsector->floorheight; - movefloor->speed = movefloor->origspeed = lines[movefloor->sourceline].args[2] << (FRACBITS - 2); // forward again, use args[2] + movefloor->origspeed = lines[movefloor->sourceline].args[2] << (FRACBITS - 2); // forward again, use args[2] } + if (movefloor->type == bounceFloorCrush) + movefloor->speed = movefloor->origspeed; movefloor->direction = (movefloor->floordestheight < movefloor->sector->floorheight) ? -1 : 1; movefloor->delaytimer = movefloor->delay; remove = false; From ce29d05be8eca83d8409527af2bb1f91c687ef6b Mon Sep 17 00:00:00 2001 From: MascaraSnake Date: Sun, 9 Jan 2022 12:53:12 +0100 Subject: [PATCH 7/7] Fix typo in wall scroller conversion --- src/p_setup.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/p_setup.c b/src/p_setup.c index 1ecd24471..01daa55f1 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -3816,13 +3816,13 @@ static void P_ConvertBinaryMap(void) lines[i].special = 0; break; } - lines[i].args[1] = sides[lines[i].sidenum[1]].rowoffset >> FRACBITS; - lines[i].args[2] = sides[lines[i].sidenum[1]].textureoffset >> FRACBITS; + lines[i].args[1] = sides[lines[i].sidenum[1]].textureoffset >> FRACBITS; + lines[i].args[2] = sides[lines[i].sidenum[1]].rowoffset >> FRACBITS; } else { - lines[i].args[1] = sides[lines[i].sidenum[0]].rowoffset >> FRACBITS; - lines[i].args[2] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS; + lines[i].args[1] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS; + lines[i].args[2] = sides[lines[i].sidenum[0]].rowoffset >> FRACBITS; } lines[i].special = 500; break;