Merge branch 'udmf-thing-types' into udmf-more-linedef-types

This commit is contained in:
MascaraSnake 2022-01-09 13:52:26 +01:00
commit e7a281d994
8 changed files with 61 additions and 70 deletions

View file

@ -3607,7 +3607,7 @@ udmf
type = 12;
enum
{
1 = "Add to current translucency";
1 = "Add to current light level";
2 = "Interrupt ongoing fades";
4 = "Speed is duration";
}
@ -5166,7 +5166,7 @@ udmf
602
{
title = "Start Adjustable Pulsating Light";
title = "Adjustable Pulsating Light";
prefix = "(602)";
arg0
{
@ -5224,7 +5224,7 @@ udmf
604
{
title = "Start Adjustable Blinking Light";
title = "Adjustable Blinking Light";
prefix = "(604)";
arg0
{

View file

@ -258,11 +258,6 @@ doom
sprite = "TRETA1";
width = 16;
height = 32;
arg0
{
title = "Death trigger tag";
type = 15;
}
}
111
{
@ -2709,11 +2704,6 @@ doom
sprite = "KOOPA0";
width = 16;
height = 48;
arg0
{
title = "Death trigger tag";
type = 15;
}
}
1807
{
@ -2721,11 +2711,6 @@ doom
sprite = "MAXEA0";
width = 8;
height = 16;
arg0
{
title = "Death trigger tag";
type = 15;
}
}
1808
{
@ -3640,6 +3625,11 @@ udmf
sprite = "TRETA1";
width = 16;
height = 32;
arg0
{
title = "Death trigger tag";
type = 15;
}
}
111
{
@ -4041,7 +4031,7 @@ udmf
{
title = "Speed up when hit?";
type = 11;
enum = "noyes";
enum = "yesno";
}
}
202
@ -5039,7 +5029,7 @@ udmf
{
title = "Play sound?";
type = 11;
enum = "noyes";
enum = "yesno";
}
}
542
@ -6009,7 +5999,17 @@ udmf
{
title = "Flags";
type = 12;
enum = "maceflags";
enum
{
1 = "Red spring";
2 = "No sounds";
4 = "Player-turnable chain";
8 = "Swing instead of spin";
16 = "Make chain from end item";
32 = "Spawn link at origin";
64 = "Clip inside ground";
128 = "No distance check";
}
}
}
1107
@ -7471,6 +7471,11 @@ udmf
sprite = "KOOPA0";
width = 16;
height = 48;
arg0
{
title = "Death trigger tag";
type = 15;
}
}
1807
{
@ -7478,6 +7483,11 @@ udmf
sprite = "MAXEA0";
width = 8;
height = 16;
arg0
{
title = "Death trigger tag";
type = 15;
}
}
1808
{

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

@ -207,13 +207,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

@ -12731,7 +12731,7 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj, boolean
}
break;
case MT_EGGMOBILE2:
if (mthing->args[5])
if (!mthing->args[5])
mobj->flags2 |= MF2_AMBUSH;
break;
case MT_EGGMOBILE3:

View file

@ -3791,10 +3791,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
@ -4746,13 +4746,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;
@ -5069,8 +5069,8 @@ static void P_ConvertBinaryMap(void)
case 136: //Pyre Fly
mapthings[i].args[0] = !!(mapthings[i].options & MTF_AMBUSH);
break;
case 202: //Egg Slimer
mapthings[i].args[5] = !!(mapthings[i].options & MTF_AMBUSH);
case 201: //Egg Slimer
mapthings[i].args[5] = !(mapthings[i].options & MTF_AMBUSH);
break;
case 203: //Egg Colosseum
mapthings[i].args[5] = LE_BOSS4DROP + mapthings[i].extrainfo * LE_PARAMWIDTH;
@ -5201,13 +5201,13 @@ static void P_ConvertBinaryMap(void)
mapthings[i].args[0] = !(mapthings[i].options & MTF_AMBUSH);
break;
case 700: //Water ambience A
case 701: //Water ambience A
case 702: //Water ambience A
case 703: //Water ambience A
case 704: //Water ambience A
case 705: //Water ambience A
case 706: //Water ambience A
case 707: //Water ambience A
case 701: //Water ambience B
case 702: //Water ambience C
case 703: //Water ambience D
case 704: //Water ambience E
case 705: //Water ambience F
case 706: //Water ambience G
case 707: //Water ambience H
mapthings[i].args[0] = 35;
P_WriteConstant(sfx_amwtr1 + mapthings[i].type - 700, &mapthings[i].stringargs[0]);
mapthings[i].type = 700;

View file

@ -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);