Adapt linedef type 464 to UDMF

This commit is contained in:
MascaraSnake 2021-09-21 10:35:01 +02:00
parent 890934264b
commit cabafeef1c
3 changed files with 31 additions and 2 deletions

View file

@ -957,6 +957,11 @@ doom
title = "Dye Object";
prefix = "(463)";
}
464
{
title = "Trigger Egg Capsule";
prefix = "(464)";
}
466
{
title = "Set Level Failure State";
@ -3060,6 +3065,23 @@ udmf
}
}
464
{
title = "Trigger Egg Capsule";
prefix = "(464)";
arg0
{
title = "Egg Capsule tag";
type = 14;
}
arg1
{
title = "End level?";
type = 11;
enum = "yesno";
}
}
466
{
title = "Set Level Failure State";

View file

@ -4058,6 +4058,10 @@ static void P_ConvertBinaryMap(void)
M_Memcpy(lines[i].stringargs[0], sides[lines[i].sidenum[0]].text, strlen(sides[lines[i].sidenum[0]].text) + 1);
}
break;
case 464: //Trigger egg capsule
lines[i].args[0] = tag;
lines[i].args[1] = !!(lines[i].flags & ML_NOCLIMB);
break;
case 466: //Set level failure state
lines[i].args[0] = !!(lines[i].flags & ML_NOCLIMB);
break;
@ -4416,6 +4420,9 @@ static void P_ConvertBinaryMap(void)
{
switch (mapthings[i].type)
{
case 291:
Tag_FSet(&mapthings[i].tags, mapthings[i].angle);
break;
case 750:
Tag_FSet(&mapthings[i].tags, mapthings[i].angle);
break;

View file

@ -3599,13 +3599,13 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
if (!mo2->spawnpoint)
continue;
if (mo2->spawnpoint->angle != tag)
if (!Tag_Find(&mo2->spawnpoint->tags, line->args[0]))
continue;
P_KillMobj(mo2, NULL, mo, 0);
}
if (!(line->flags & ML_NOCLIMB))
if (!(line->args[1]))
{
INT32 i;