Merge branch 'udmf-lighting' into udmf-linedef-executors

This commit is contained in:
MascaraSnake 2022-01-09 13:50:47 +01:00
commit fba986ff1c
5 changed files with 21 additions and 40 deletions

View file

@ -4262,7 +4262,7 @@ udmf
602
{
title = "Start Adjustable Pulsating Light";
title = "Adjustable Pulsating Light";
prefix = "(602)";
arg0
{
@ -4320,7 +4320,7 @@ udmf
604
{
title = "Start Adjustable Blinking Light";
title = "Adjustable Blinking Light";
prefix = "(604)";
arg0
{

View file

@ -1434,34 +1434,10 @@ static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom
// set alpha for transparent walls
// ooops ! this do not work at all because render order we should render it in backtofront order
switch (gl_linedef->special)
{
// Translucent
case 102:
case 121:
case 123:
case 124:
case 125:
case 141:
case 142:
case 144:
case 145:
case 174:
case 175:
case 192:
case 195:
case 221:
case 253:
case 256:
blendmode = PF_Translucent;
break;
default:
if (gl_linedef->alpha >= 0 && gl_linedef->alpha < FRACUNIT)
blendmode = HWR_TranstableToAlpha(R_GetLinedefTransTable(gl_linedef->alpha), &Surf);
else
blendmode = PF_Masked;
break;
}
if (gl_linedef->alpha >= 0 && gl_linedef->alpha < FRACUNIT)
blendmode = HWR_TranstableToAlpha(R_GetLinedefTransTable(gl_linedef->alpha), &Surf);
else
blendmode = PF_Masked;
if (gl_curline->polyseg && gl_curline->polyseg->translucency > 0)
{

View file

@ -86,14 +86,17 @@ void T_MoveCeiling(ceiling_t *ceiling)
if (dest == lines[ceiling->sourceline].frontsector->ceilingheight)
{
dest = lines[ceiling->sourceline].backsector->ceilingheight;
ceiling->speed = ceiling->origspeed = lines[ceiling->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3]
ceiling->origspeed = lines[ceiling->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3]
}
else
{
dest = lines[ceiling->sourceline].frontsector->ceilingheight;
ceiling->speed = ceiling->origspeed = lines[ceiling->sourceline].args[2] << (FRACBITS - 2); // going frontways, use args[2]
ceiling->origspeed = lines[ceiling->sourceline].args[2] << (FRACBITS - 2); // going frontways, use args[2]
}
if (ceiling->type == bounceCeilingCrush)
ceiling->speed = ceiling->origspeed;
if (dest < ceiling->sector->ceilingheight) // must move down
{
ceiling->direction = -1;

View file

@ -206,13 +206,15 @@ void T_MoveFloor(floormove_t *movefloor)
if (movefloor->floordestheight == lines[movefloor->sourceline].frontsector->floorheight)
{
movefloor->floordestheight = lines[movefloor->sourceline].backsector->floorheight;
movefloor->speed = movefloor->origspeed = lines[movefloor->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3]
movefloor->origspeed = lines[movefloor->sourceline].args[3] << (FRACBITS - 2); // return trip, use args[3]
}
else
{
movefloor->floordestheight = lines[movefloor->sourceline].frontsector->floorheight;
movefloor->speed = movefloor->origspeed = lines[movefloor->sourceline].args[2] << (FRACBITS - 2); // forward again, use args[2]
movefloor->origspeed = lines[movefloor->sourceline].args[2] << (FRACBITS - 2); // forward again, use args[2]
}
if (movefloor->type == bounceFloorCrush)
movefloor->speed = movefloor->origspeed;
movefloor->direction = (movefloor->floordestheight < movefloor->sector->floorheight) ? -1 : 1;
movefloor->delaytimer = movefloor->delay;
remove = false;

View file

@ -3684,10 +3684,10 @@ static void P_ConvertBinaryMap(void)
//Flags
if (lines[i].flags & ML_EFFECT1)
lines[i].args[2] = TMFL_NOBOSSES;
lines[i].args[2] |= TMFL_NOBOSSES;
//Replicate old hack: Translucent FOFs set to full opacity cut cyan pixels
if (lines[i].flags & ML_EFFECT6 || lines[i].args[1] == 256)
lines[i].args[2] = TMFL_SPLAT;
lines[i].args[2] |= TMFL_SPLAT;
break;
case 259: //Custom FOF
@ -4414,13 +4414,13 @@ static void P_ConvertBinaryMap(void)
lines[i].special = 0;
break;
}
lines[i].args[1] = sides[lines[i].sidenum[1]].rowoffset >> FRACBITS;
lines[i].args[2] = sides[lines[i].sidenum[1]].textureoffset >> FRACBITS;
lines[i].args[1] = sides[lines[i].sidenum[1]].textureoffset >> FRACBITS;
lines[i].args[2] = sides[lines[i].sidenum[1]].rowoffset >> FRACBITS;
}
else
{
lines[i].args[1] = sides[lines[i].sidenum[0]].rowoffset >> FRACBITS;
lines[i].args[2] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS;
lines[i].args[1] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS;
lines[i].args[2] = sides[lines[i].sidenum[0]].rowoffset >> FRACBITS;
}
lines[i].special = 500;
break;