diff --git a/extras/conf/SRB2-22.cfg b/extras/conf/SRB2-22.cfg index 952ce6969..ae905b637 100644 --- a/extras/conf/SRB2-22.cfg +++ b/extras/conf/SRB2-22.cfg @@ -2341,6 +2341,7 @@ linedeftypes { title = "Enable/Disable Gravity Flip"; prefix = "(433)"; + flags2text = "[1] Force MFE_VERTICALFLIP"; flags8text = "[3] Set delay by backside sector"; flags32text = "[5] Invert current gravity"; flags64text = "[6] Return to normal"; diff --git a/extras/conf/udb/Includes/SRB222_linedefs.cfg b/extras/conf/udb/Includes/SRB222_linedefs.cfg index 99c305659..3a3bd80cc 100644 --- a/extras/conf/udb/Includes/SRB222_linedefs.cfg +++ b/extras/conf/udb/Includes/SRB222_linedefs.cfg @@ -4223,6 +4223,16 @@ udmf 1 = "Yes"; } } + arg2 + { + title = "Force MFE_VERTICALFLIP"; + type = 11; + enum + { + 0 = "No"; + 1 = "Yes"; + } + } } 434 diff --git a/src/p_setup.c b/src/p_setup.c index d6cda7d4f..dc1111531 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -5299,6 +5299,7 @@ static void P_ConvertBinaryLinedefTypes(void) case 433: //Enable/disable gravity flip lines[i].args[0] = !!(lines[i].flags & ML_NOCLIMB); lines[i].args[1] = !!(lines[i].flags & ML_SKEWTD); + lines[i].args[2] = !!(lines[i].flags & ML_BLOCKMONSTERS); break; case 434: //Award power-up if (sides[lines[i].sidenum[0]].text) diff --git a/src/p_spec.c b/src/p_spec.c index 4e6ef531f..6f798421a 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -2786,6 +2786,8 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec) mo->flags2 &= ~MF2_OBJECTFLIP; else mo->flags2 |= MF2_OBJECTFLIP; + if (line->args[2]) + mo->eflags |= MFE_VERTICALFLIP; if (bot) bot->flags2 = (bot->flags2 & ~MF2_OBJECTFLIP) | (mo->flags2 & MF2_OBJECTFLIP); break;