diff --git a/extras/conf/udb/Includes/SRB222_linedefs.cfg b/extras/conf/udb/Includes/SRB222_linedefs.cfg index b0e7543aa..448e98dc7 100644 --- a/extras/conf/udb/Includes/SRB222_linedefs.cfg +++ b/extras/conf/udb/Includes/SRB222_linedefs.cfg @@ -2146,6 +2146,11 @@ udmf type = 13; } arg1 + { + title = "Alpha"; + default = 128; + } + arg2 { title = "Damage bosses?"; type = 11; diff --git a/src/p_setup.c b/src/p_setup.c index a75cf7cb3..c72887c7a 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -3373,8 +3373,12 @@ static void P_ConvertBinaryMap(void) break; case 258: //FOF: Laser lines[i].args[0] = lines[i].tag; + if (sides[lines[i].sidenum[0]].toptexture > 0) + lines[i].args[1] = sides[lines[i].sidenum[0]].toptexture; + else + lines[i].args[1] = 128; if (lines[i].flags & ML_EFFECT1) - lines[i].args[1] = 1; + lines[i].args[2] = 1; break; case 259: //Custom FOF if (lines[i].sidenum[1] == 0xffff) diff --git a/src/p_spec.c b/src/p_spec.c index ce01cb669..214e7e1c0 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -6927,8 +6927,8 @@ void P_SpawnSpecials(boolean fromnetsave) break; case 258: // Laser block - P_AddLaserThinker(lines[i].args[0], lines + i, !!(lines[i].args[1])); - P_AddFakeFloorsByLine(i, (lines[i].alpha * 0xff) >> FRACBITS, FF_EXISTS|FF_RENDERALL|FF_NOSHADE|FF_EXTRA|FF_CUTEXTRA|FF_TRANSLUCENT, secthinkers); + P_AddLaserThinker(lines[i].args[0], lines + i, !!(lines[i].args[2])); + P_AddFakeFloorsByLine(i, lines[i].args[1], FF_EXISTS|FF_RENDERALL|FF_NOSHADE|FF_EXTRA|FF_CUTEXTRA|FF_TRANSLUCENT, secthinkers); break; case 259: // Custom FOF