Abstract Pack fixes
This commit is contained in:
parent
eb5c5c0041
commit
b21f70854e
2 changed files with 28 additions and 59 deletions
|
|
@ -217,71 +217,34 @@ static void Polyobj_GetInfo(polyobj_t *po, line_t *line)
|
|||
if (po->parent == po->id) // do not allow a self-reference
|
||||
po->parent = -1;
|
||||
|
||||
if (mapnamespace == MNS_SRB2KART)
|
||||
po->translucency = max(min(line->args[1], NUMTRANSMAPS), 0);
|
||||
else
|
||||
po->translucency = max(min(line->args[2], NUMTRANSMAPS), 0);
|
||||
po->translucency = max(min(line->args[2], NUMTRANSMAPS), 0);
|
||||
|
||||
if (mapnamespace != MNS_SRB2KART)
|
||||
{
|
||||
po->flags = POF_SOLID|POF_TESTHEIGHT|POF_RENDERSIDES|POF_RENDERPLANES;
|
||||
po->flags = POF_SOLID|POF_TESTHEIGHT|POF_RENDERSIDES|POF_RENDERPLANES;
|
||||
|
||||
if (line->args[3] & TMPF_NOINSIDES)
|
||||
po->flags |= POF_ONESIDE;
|
||||
if (line->args[3] & TMPF_NOINSIDES)
|
||||
po->flags |= POF_ONESIDE;
|
||||
|
||||
if (line->args[3] & TMPF_INTANGIBLE)
|
||||
po->flags &= ~POF_SOLID;
|
||||
if (line->args[3] & TMPF_INTANGIBLE)
|
||||
po->flags &= ~POF_SOLID;
|
||||
|
||||
if (line->args[3] & TMPF_PUSHABLESTOP)
|
||||
po->flags |= POF_PUSHABLESTOP;
|
||||
if (line->args[3] & TMPF_PUSHABLESTOP)
|
||||
po->flags |= POF_PUSHABLESTOP;
|
||||
|
||||
if (line->args[3] & TMPF_INVISIBLEPLANES)
|
||||
po->flags &= ~POF_RENDERPLANES;
|
||||
if (line->args[3] & TMPF_INVISIBLEPLANES)
|
||||
po->flags &= ~POF_RENDERPLANES;
|
||||
|
||||
/*if (line->args[3] & TMPF_DONTCLIPPLANES)
|
||||
po->flags &= ~P*OF_CLIPPLANES;*/
|
||||
/*if (line->args[3] & TMPF_DONTCLIPPLANES)
|
||||
po->flags &= ~POF_CLIPPLANES;*/
|
||||
|
||||
if (line->args[3] & TMPF_SPLAT)
|
||||
po->flags |= POF_SPLAT;
|
||||
if (line->args[3] & TMPF_SPLAT)
|
||||
po->flags |= POF_SPLAT;
|
||||
|
||||
if (line->args[3] & TMPF_EXECUTOR) // Has a linedef executor
|
||||
po->flags |= POF_LDEXEC;
|
||||
if (line->args[3] & TMPF_EXECUTOR) // Has a linedef executor
|
||||
po->flags |= POF_LDEXEC;
|
||||
|
||||
// TODO: support customized damage somehow?
|
||||
if (line->args[3] & TMPF_CRUSH)
|
||||
po->damage = 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
po->flags = POF_SOLID|POF_TESTHEIGHT|POF_RENDERSIDES;
|
||||
|
||||
if (line->args[3] & TMPF_NOINSIDES)
|
||||
po->flags |= POF_ONESIDE;
|
||||
|
||||
if (line->args[3] & TMPF_INTANGIBLE)
|
||||
po->flags &= ~POF_SOLID;
|
||||
|
||||
if (line->args[3] & TMPF_PUSHABLESTOP)
|
||||
po->flags |= POF_PUSHABLESTOP;
|
||||
|
||||
// WHY IS THIS INVERTED AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
if (line->args[3] & TMPF_INVISIBLEPLANES)
|
||||
po->flags |= POF_RENDERPLANES;
|
||||
|
||||
/*if (line->args[3] & TMPF_DONTCLIPPLANES)
|
||||
po->flags &= ~*P*OF_CLIPPLANES;*/
|
||||
|
||||
if (line->args[3] & TMPF_SPLAT)
|
||||
po->flags |= POF_SPLAT;
|
||||
|
||||
if (line->args[3] & TMPF_EXECUTOR) // Has a linedef executor
|
||||
po->flags |= POF_LDEXEC;
|
||||
|
||||
// TODO: support customized damage somehow?
|
||||
if (line->args[3] & TMPF_CRUSH)
|
||||
po->damage = 3;
|
||||
|
||||
}
|
||||
// TODO: support customized damage somehow?
|
||||
if (line->args[3] & TMPF_CRUSH)
|
||||
po->damage = 3;
|
||||
|
||||
po->triggertag = line->args[4];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5201,6 +5201,12 @@ static void P_ConvertBinaryLinedefTypes(void)
|
|||
? (sides[lines[paramline].sidenum[0]].textureoffset >> FRACBITS)
|
||||
: ((lines[paramline].frontsector->floorheight >> FRACBITS) / 100);
|
||||
|
||||
if (mapnamespace == MNS_SRB2KART)
|
||||
{
|
||||
paramline = i; // flags from the start line!?
|
||||
lines[i].args[2] = 0; // no such thing as translucency (only from linedef type 491)
|
||||
}
|
||||
|
||||
//Flags
|
||||
if (lines[paramline].flags & ML_SKEWTD)
|
||||
lines[i].args[3] |= TMPF_NOINSIDES;
|
||||
|
|
@ -6239,13 +6245,13 @@ static void P_ConvertBinaryLinedefTypes(void)
|
|||
lines[i].args[0] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS;
|
||||
break;
|
||||
case 442: //Change object type state
|
||||
lines[i].args[2] = tag;
|
||||
lines[i].args[0] = tag;
|
||||
P_WriteDuplicateText(sides[lines[i].sidenum[0]].text, &lines[i].stringargs[0]);
|
||||
if (lines[i].sidenum[1] == 0xffff)
|
||||
lines[i].args[1] = 1;
|
||||
else
|
||||
{
|
||||
lines[i].args[3] = 0;
|
||||
lines[i].args[1] = 0;
|
||||
P_WriteDuplicateText(sides[lines[i].sidenum[1]].text, &lines[i].stringargs[1]);
|
||||
}
|
||||
break;
|
||||
|
|
@ -6725,7 +6731,7 @@ static void P_ConvertBinaryLinedefTypes(void)
|
|||
lines[i].args[2] |= TMSL_NOPHYSICS;
|
||||
if (lines[i].flags & ML_NONET)
|
||||
lines[i].args[2] |= TMSL_DYNAMIC;
|
||||
if (lines[i].flags & ML_TFERLINE)
|
||||
if (mapnamespace != MNS_SRB2KART && lines[i].flags & ML_TFERLINE)
|
||||
lines[i].args[2] |= TMSL_COPY;
|
||||
|
||||
lines[i].special = 700;
|
||||
|
|
|
|||
Loading…
Reference in a new issue