Implement FOF types 200-201

This commit is contained in:
MascaraSnake 2020-04-14 09:03:00 +02:00
parent 7f889532ea
commit 60e589e92a
3 changed files with 29 additions and 6 deletions

View file

@ -1584,6 +1584,23 @@ udmf
}
}
200
{
title = "Light Block";
prefix = "(200);
arg0
{
title = "Target sector tag";
type = 13;
}
arg1
{
title = "Expand to bottom?";
type = 11;
enum = "noyes";
}
}
linedefexecmisc
{
title = "Linedef Executor (misc.)";

View file

@ -2920,6 +2920,13 @@ static void P_ConvertBinaryMap(void)
lines[i].special = 100;
break;
case 200: //FOF: Light block
case 201: //FOF: Half light block
lines[i].args[0] = lines[i].tag;
if (lines[i].special == 201)
lines[i].args[1] = 1;
lines[i].special = 200;
break;
case 443: //Call Lua function
if (lines[i].text)
{

View file

@ -6943,12 +6943,11 @@ void P_SpawnSpecials(boolean fromnetsave)
P_AddRaiseThinker(lines[i].frontsector, &lines[i]);
break;
case 200: // Double light effect
P_AddFakeFloorsByLine(i, FF_EXISTS|FF_CUTSPRITES|FF_DOUBLESHADOW, secthinkers);
break;
case 201: // Light effect
P_AddFakeFloorsByLine(i, FF_EXISTS|FF_CUTSPRITES, secthinkers);
case 200: // Light block
ffloorflags = FF_EXISTS|FF_CUTSPRITES;
if (!lines[i].args[1])
ffloorflags |= FF_DOUBLESHADOW;
P_AddFakeFloorsByLine(i, ffloorflags, secthinkers);
break;
case 202: // Fog