mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-15 01:01:33 +00:00
Merge branch 'udmf-executor-triggers' into udmf-thing-types
This commit is contained in:
commit
e19ba99f57
6 changed files with 23 additions and 42 deletions
|
@ -3392,7 +3392,7 @@ udmf
|
|||
type = 12;
|
||||
enum
|
||||
{
|
||||
1 = "Add to current translucency";
|
||||
1 = "Add to current light level";
|
||||
2 = "Interrupt ongoing fades";
|
||||
4 = "Speed is duration";
|
||||
}
|
||||
|
@ -4923,7 +4923,7 @@ udmf
|
|||
|
||||
602
|
||||
{
|
||||
title = "Start Adjustable Pulsating Light";
|
||||
title = "Adjustable Pulsating Light";
|
||||
prefix = "(602)";
|
||||
arg0
|
||||
{
|
||||
|
@ -4981,7 +4981,7 @@ udmf
|
|||
|
||||
604
|
||||
{
|
||||
title = "Start Adjustable Blinking Light";
|
||||
title = "Adjustable Blinking Light";
|
||||
prefix = "(604)";
|
||||
arg0
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -3709,10 +3709,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
|
||||
|
@ -4664,13 +4664,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;
|
||||
|
|
|
@ -1647,7 +1647,7 @@ static boolean P_ActivateLinedefExecutorsInSector(line_t *triggerline, mobj_t *a
|
|||
size_t linecnt = ctlsector->linecount;
|
||||
size_t i;
|
||||
|
||||
if (triggerline->flags & ML_EFFECT5) // disregard order for efficiency
|
||||
if (!udmf && triggerline->flags & ML_EFFECT5) // disregard order for efficiency
|
||||
{
|
||||
for (i = 0; i < linecnt; i++)
|
||||
P_ActivateLinedefExecutor(ctlsector->lines[i], actor, caller);
|
||||
|
|
Loading…
Reference in a new issue