diff --git a/extras/conf/udb/Includes/SRB222_things.cfg b/extras/conf/udb/Includes/SRB222_things.cfg index 9d557060e..0cb0287c5 100644 --- a/extras/conf/udb/Includes/SRB222_things.cfg +++ b/extras/conf/udb/Includes/SRB222_things.cfg @@ -5465,6 +5465,11 @@ udmf { title = "Rising distance"; } + arg6 + { + title = "Heights control linedef"; + type = 15; + } } 758 { diff --git a/src/p_mobj.c b/src/p_mobj.c index 7b6f14fa4..46510200e 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -12430,8 +12430,8 @@ static boolean P_SetupParticleGen(mapthing_t *mthing, mobj_t *mobj) INT32 line; const size_t mthingi = (size_t)(mthing - mapthings); - // Find the corresponding linedef special, using angle as tag - line = Tag_FindLineSpecial(15, mthing->angle); + // Find the corresponding linedef special, using args[6] as tag + line = mthing->args[6] ? Tag_FindLineSpecial(15, mthing->args[6]) : -1; type = mthing->stringargs[0] ? get_number(mthing->stringargs[0]) : MT_PARTICLE; diff --git a/src/p_setup.c b/src/p_setup.c index 2f815a228..c6cfdfe1d 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -5248,6 +5248,7 @@ static void P_ConvertBinaryMap(void) mapthings[i].args[2] = sides[lines[j].sidenum[0]].textureoffset >> FRACBITS; mapthings[i].args[3] = sides[lines[j].sidenum[0]].rowoffset >> FRACBITS; mapthings[i].args[4] = lines[j].backsector ? sides[lines[j].sidenum[1]].textureoffset >> FRACBITS : 0; + mapthings[i].args[6] = mapthings[i].angle; if (sides[lines[j].sidenum[0]].toptexture) P_WriteConstant(sides[lines[j].sidenum[0]].toptexture, &mapthings[i].stringargs[0]); break;