diff --git a/src/p_polyobj.c b/src/p_polyobj.c index 89a578a46..d1302be6c 100644 --- a/src/p_polyobj.c +++ b/src/p_polyobj.c @@ -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]; } diff --git a/src/p_setup.c b/src/p_setup.c index c8044fbd7..3d1d9b978 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -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;