diff --git a/extras/conf/udb/Includes/SRB222_things.cfg b/extras/conf/udb/Includes/SRB222_things.cfg index 9d557060eed0570c815097da4c54f47300eb3681..0cb0287c51205cf9e751ae8e61858048d3897bb3 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 7b6f14fa4efe83b652e3e22408f4648aeff576e8..46510200e3e903aba37f8dbee43222cf8fdf025b 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 2f815a2288fb6d8c9edcbf96c86af5e810f6c848..c6cfdfe1d56222f21c36fe647b578b151344222f 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;