mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-15 01:01:33 +00:00
Merge branch 'udmf-thing-types' into udmf-more-linedef-types
This commit is contained in:
commit
e7a281d994
8 changed files with 61 additions and 70 deletions
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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