Update line special 80

- UDMF: use args[1] instead of line tag.
- Binary: do not add thing angle to thing's tag list, just
  compare angle directly. Seemed weird that this was the
  only place in the code to alter the tags list like that.
This commit is contained in:
James R 2023-03-10 04:17:07 -08:00
parent 600063f46b
commit 3349f17cd7
2 changed files with 4 additions and 15 deletions

View file

@ -4400,7 +4400,7 @@ static void P_ConvertBinaryLinedefTypes(void)
break;
case 80: //Raise tagged things by type to this FOF
lines[i].args[0] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS;
// angle will be converted to tags elsewhere, because they aren't ready yet...
lines[i].args[1] = tag;
break;
case 81: //Block enemies
lines[i].flags |= ML_BLOCKMONSTERS;

View file

@ -6184,7 +6184,7 @@ static ffloor_t *P_AddFakeFloor(sector_t *sec, sector_t *sec2, line_t *master, I
static void
P_RaiseTaggedThingsToFakeFloor (
UINT16 type,
const taglist_t *tags,
mtag_t tag,
sector_t *control
){
sector_t *target;
@ -6209,20 +6209,9 @@ P_RaiseTaggedThingsToFakeFloor (
continue;
}
if (!udmf)
{
// We have to convert these here, as mobjs, let alone
// sector thing lists, don't exist at the time of the rest
// of the binary map conversion.
const mtag_t convertTag = mthing->angle;
Tag_Add(&mthing->tags, convertTag);
Taggroup_Add(tags_mapthings, convertTag, (size_t)(mthing - mapthings));
}
if (
(type == 0 || mthing->type == type) &&
(tags->count == 0 || Tag_Share(&mthing->tags, tags))
(tag == 0 || udmf ? Tag_Find(&mthing->tags, tag) : mthing->angle == tag)
){
if (( mo->flags2 & MF2_OBJECTFLIP ))
{
@ -7770,7 +7759,7 @@ void P_SpawnSpecialsThatRequireObjects(boolean fromnetsave)
{
P_RaiseTaggedThingsToFakeFloor(
lines[i].args[0],
&lines[i].tags,
lines[i].args[1],
lines[i].frontsector
);
}